CN103092660A - 一种嵌入式设备出厂配置与生产配置的安全快速切换方法 - Google Patents
一种嵌入式设备出厂配置与生产配置的安全快速切换方法 Download PDFInfo
- Publication number
- CN103092660A CN103092660A CN2013100382800A CN201310038280A CN103092660A CN 103092660 A CN103092660 A CN 103092660A CN 2013100382800 A CN2013100382800 A CN 2013100382800A CN 201310038280 A CN201310038280 A CN 201310038280A CN 103092660 A CN103092660 A CN 103092660A
- Authority
- CN
- China
- Prior art keywords
- configuration
- factory
- production
- embedded device
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种嵌入式设备出厂配置与生产配置的安全快速切换方法,该方法包括:定义配置标识;该配置标识被置位时用以指示加载生产配置文件、被清零时用以指示加载生产配置文件;预先生成生产配置文件和出厂配置文件;置位配置标识,生成包含配置标识的烧录文件,将其烧录至flash;在生产完成后将配置标识清零;在生产阶段及出厂后阶段,嵌入式设备在启动后均根据配置标识来选择加载生产/出厂配置文件。本发明配置文件加载是通过检查配置标识来实现,通过修改配置标识来控制配置切换,可保证配置加载的安全性和快速性;其中配置标识利用flash的单向写入特性,保证只能从0xff单向修改成0x00,即使升级只要而不重新烧录便不可复原。
Description
技术领域
本发明涉及嵌入式设备技术领域,尤其涉及一种在工厂量产时嵌入式设备出厂配置与生产配置的安全快速切换方法。
背景技术
各种嵌入式设备如手机、电视、网关、游戏机,包括局端或终端设备,由于用户个性化需求,需要保存配置文件,可以称之为用户配置。用户配置通常是是用户手动修改形成。而在用户配置之前还有一个配置是出厂的时候就有的,可以称之为出厂配置。由于用户配置可能存在错误,经常需要恢复出厂配置的操作,因此出厂配置或者默认配置是需要长期保存在嵌入式设备之中的。
在嵌入式设备中通常是以flash或者相当于flash的器件为载体来保存配置文件的。
然而在工厂生产时,需要使设备处于调试状态,来做一些生产测试的操作,比如会把某些功能如按键输入功能关闭,某些调试模式打开等操作,这就需要一个工厂使用的测试模式配置文件或者称之为生产配置。生产配置要求在生产的初步阶段烧录flash就必须存在并自动加载,测试完成后加载出厂配置,保证生产配置不再出现。
基于工厂生产效率的原因,出厂配置除了专门的和设备有关的产测配置之外,不可能临时生成,必须在烧录就同时存在。
由于许多嵌入式设备采用只读压缩文件系统的原因,或者由于减少flash空间占用的原因,生产配置不一定能直接删除掉。
这就需要一种机制来保证生产配置和出厂配置的安全切换。
发明内容
本发明的目的在于提供一种嵌入式设备出厂配置与生产配置的安全快速切换方法,保证切换的安全性,提供量产的生产效率。
本发明的目的是通过以下技术方案实现的:
一种嵌入式设备出厂配置与生产配置的安全快速切换方法,所述嵌入式设备包括flash,该方法包括:
定义配置标识;该配置标识被置位时用以指示加载生产配置文件、被清零时用以指示加载出厂配置文件;
预先生成生产配置文件和出厂配置文件;
置位所述配置标识,生成包含配置标识的烧录文件,将其烧录至flash;在生产阶段不改变配置标识的值,在生产完成后将配置标识清零;
在生产阶段及出厂后阶段,所述嵌入式设备在启动后均根据所述配置标识来选择加载生产配置文件或出厂配置文件。
其中,所述嵌入式设备的flash依次划分为启动加载程序分区、程序镜像分区和配置数据分区;所述配置标识位于启动加载程序分区的保留位。
其中,所述生产配置文件和出厂配置文件生成至所述程序镜像分区的根文件系统的配置目录下。
其中,所述配置标识字段至少包含一个位,具体为多个位或多个字节。
其中,所述配置标识字段在从置位到清位的过程中至少有一个位从1变为0。
其中,所述配置标识被置位后值为0xff,被清零后值为0x00。
其中,在出厂后,所述嵌入式设备在根据配置标识选择加载配置文件之前还进行以下操作:判断data配置区是否存在有效的配置文件,若有,则沿用当前配置。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中嵌入式设备的配置文件加载是通过检查配置标识来实现,通过修改配置标识来控制配置文件的切换, 该修改过程是单向和不可逆的,出厂后恢复默认配置或者由于某些原因导致配置丢失后加载默认配置文件只可能加载出厂配置而不会加载生产配置,从而保证配置加载的安全性;而且,切换时由于只修改一个字节(对norflash而言),或者修改一个页(对于nandflash而言),修改耗时很短,对于操作来说只需要产测软件自动操作发送一个复位控制命令即可完成,因此切换是快速的。
附图说明
图1是本发明实施例中嵌入式设备的flash的分区存储分布示意图。
图2是本发明实施例中嵌入式设备出厂配置与生产配置的安全快速切换方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的核心思想为:如图1所示,预定义配置标识,在生产测试前将其置位,在生产测试结束后将其复位,嵌入式设备在启动后根据配置标识的值来选择加载相应的配置文件。
本发明实现嵌入式设备的出厂配置与生产配置的切换主要包括三个关键点:配置文件的分布机制,配置文件的生成机制,配置文件的切换机制。
(1)配置文件的分布机制:
整个嵌入式设备的代码都分布在flash上,具体地,可以分布于划分的具体分区,也可以直接分布到flash若干个对应的区块上。请参阅图2,现有的flash通常按顺序依次划分为bootloader(启动加载程序)分区、image(程序镜像)分区(实际也可为多个image分区)和config data(配置数据)分区。
其中bootloader分区用于存储bootloader程序本身和bootloader所需要的配置参数;image分区通常包括kernel(内核)和rootfs(根文件系统)两部分,kernel也可以包含于rootfs中;config data分区为可选,包括系统运行需要的配置参数和运行的记录信息,有时可能包括在rootfs里。
本实施例中, rootfs中存储2个只读的配置文件,分别是生产配置文件和出厂配置文件,config data分区用以保存实际起作用的配置信息,如生产配置、出厂配置或者用户配置的信息,可以是以文件形式存在或者直接的数据结构形式。配置区可以保存工厂配置或出厂配置,或者用户配置的内容。
为后续的配置切换提供依据,本实施例 将bootloader分区的特定区域的一个字段内容定义为配置标识,设备启动后根据该配置标识来判断该使用何种配置。该配置标识存放在于bootloader分区,该字段至少包含一个位,可以是多个位或多个字节,后面的值把该字段以一个字节的形式举例说明但不局限于一个字节的情况。该配置标识字段不属于其中的引导代码,而是位于保留的专用地址区,只包含于程序的烧录文件中而不包括于升级文件中。
(2)配置文件的生成机制:
①配置文件的预生成:
生产配置文件和出厂配置文件为预先生成,代码编译时生成到rootfs的配置目录下(例如linux下的/etc),编译生成的文件不包含配置分区。
编译生成的文件称为升级文件,升级文件包括根文件系统和引导部分。
在生成烧录文件时,对配置标识字段置位为0xFF,该配置标识是在编译生成引导代码后手动插入,在升级文件中不含有该字段,通常为bootloader部分的附加字段。
② 配置文件的加载:
设备启动后,检查config data分区是否存在配置文件(大多数情况下是用户配置,这里不具体讨论多配置的情况),如果存在有效配置,则沿用现有配置。
如果上一步配置不存在有效配置,则考虑加载默认配置,即选择加载生产配置还是出厂配置。
检查时先读取配置标识,如果配置标识置位则默认加载生产配置,如果没有置位则默认加载出厂配置。
(3) 配置文件的切换:
在配置文件加载时可通过检查配置标识来选择加载的配置文件,还可以修改配置标识来控制配置的切换。
该修改过程是单向的和不可逆的。配置标识只有在生成烧录文件才置位,在生产完成后即会进行复位操作:将出厂配置写入到config data分区作为当前的配置文件; 同时把配置标识从0xFF清零成0x00。本实施例中,配置标识的修改操作是不提供擦除方法的,根据flash的每个字节只能单向从0xFF修改00,这时无论尝试写入任何值其结果都是都是0x00,无法再被修改。有效保证了工厂复位操作后该配置标识字段会一直都是0x00, 也就保证了设备出厂后恢复默认配置或者由于某些原因导致配置丢失后加载默认配置文件只可能加载出厂配置而不会加载生产配置,从而保证配置加载的安全性。
另外,切换时由于只修改一个字节(对norflash而言),或者修改一个页(对于nandflash而言),因此修改耗时很短,对于操作来说只需要产测软件自动操作发送一个复位控制命令即可完成,因此对于切换是快速的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种嵌入式设备出厂配置与生产配置的安全快速切换方法,所述嵌入式设备包括flash,其特征在于,该方法包括:
定义配置标识;该配置标识被置位时用以指示加载生产配置文件、被清零时用以指示加载出厂配置文件;
预先生成生产配置文件和出厂配置文件;
置位所述配置标识,生成包含配置标识的烧录文件,将其烧录至flash;在生产阶段不改变配置标识的值,在生产完成后将配置标识清零;
在生产阶段及出厂后阶段,所述嵌入式设备在启动后均根据所述配置标识来选择加载生产配置文件或出厂配置文件。
2.如权利要求1所述嵌入式设备出厂配置与生产配置的安全快速切换方法,其特征在于,所述嵌入式设备的flash依次划分为启动加载程序分区、程序镜像分区和配置数据分区;所述配置标识位于启动加载程序分区的保留位。
3.如权利要求2所述嵌入式设备出厂配置与生产配置的安全快速切换方法,其特征在于,所述生产配置文件和出厂配置文件生成至所述程序镜像分区的根文件系统的配置目录下。
4.如权利要求3所述嵌入式设备出厂配置与生产配置的安全快速切换方法,其特征在于,所述配置标识字段至少包含一个位,具体为多个位或多个字节。
5.如权利要求4所述嵌入式设备出厂配置与生产配置的安全快速切换方法,其特征在于,所述配置标识字段在从置位到清位的过程中至少有一个位从1变为0。
6.如权利要求5所述嵌入式设备出厂配置与生产配置的安全快速切换方法,其特征在于,所述配置标识被置位后值为0xff,被清零后值为0x00。
7.如权利要求1所述嵌入式设备出厂配置与生产配置的安全快速切换方法,其特征在于,在出厂后,所述嵌入式设备在根据配置标识选择加载配置文件之前还进行以下操作:判断data配置区是否存在有效的配置文件,若有,则沿用当前配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100382800A CN103092660A (zh) | 2013-01-31 | 2013-01-31 | 一种嵌入式设备出厂配置与生产配置的安全快速切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100382800A CN103092660A (zh) | 2013-01-31 | 2013-01-31 | 一种嵌入式设备出厂配置与生产配置的安全快速切换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103092660A true CN103092660A (zh) | 2013-05-08 |
Family
ID=48205271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100382800A Pending CN103092660A (zh) | 2013-01-31 | 2013-01-31 | 一种嵌入式设备出厂配置与生产配置的安全快速切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092660A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298545A (zh) * | 2013-07-17 | 2015-01-21 | 上海斐讯数据通信技术有限公司 | 嵌入式系统的系统配置方法及嵌入式系统 |
CN104503558A (zh) * | 2014-12-26 | 2015-04-08 | 四川九洲电器集团有限责任公司 | 一种嵌入式设备的复位方法及嵌入式设备 |
CN105391572A (zh) * | 2015-10-15 | 2016-03-09 | 上海寰创通信科技股份有限公司 | 一种恢复设备出厂配置方法 |
CN111124435A (zh) * | 2019-10-31 | 2020-05-08 | 惠州华阳通用电子有限公司 | 一种存储器分区容量调节方法及装置 |
CN112114880A (zh) * | 2020-08-07 | 2020-12-22 | 深圳市鼎盛光电有限公司 | 一种智能电视的配置方法、装置、智能电视和存储介质 |
CN112328428A (zh) * | 2020-11-03 | 2021-02-05 | 厦门亿联网络技术股份有限公司 | 一种嵌入式设备恢复出厂配置的方法、系统和嵌入式设备 |
CN112817607A (zh) * | 2020-12-31 | 2021-05-18 | 广州芯德通信科技股份有限公司 | 一种加快光端机生产速度的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157015A1 (en) * | 2005-12-29 | 2007-07-05 | Swanson Robert C | Methods and apparatus to optimize boot speed |
CN102789396A (zh) * | 2011-05-18 | 2012-11-21 | 鸿富锦精密工业(深圳)有限公司 | Bios配置模式切换系统及方法 |
-
2013
- 2013-01-31 CN CN2013100382800A patent/CN103092660A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157015A1 (en) * | 2005-12-29 | 2007-07-05 | Swanson Robert C | Methods and apparatus to optimize boot speed |
CN102789396A (zh) * | 2011-05-18 | 2012-11-21 | 鸿富锦精密工业(深圳)有限公司 | Bios配置模式切换系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298545A (zh) * | 2013-07-17 | 2015-01-21 | 上海斐讯数据通信技术有限公司 | 嵌入式系统的系统配置方法及嵌入式系统 |
CN104298545B (zh) * | 2013-07-17 | 2019-08-16 | 上海斐讯数据通信技术有限公司 | 嵌入式系统的系统配置方法及嵌入式系统 |
CN104503558A (zh) * | 2014-12-26 | 2015-04-08 | 四川九洲电器集团有限责任公司 | 一种嵌入式设备的复位方法及嵌入式设备 |
CN105391572A (zh) * | 2015-10-15 | 2016-03-09 | 上海寰创通信科技股份有限公司 | 一种恢复设备出厂配置方法 |
CN111124435A (zh) * | 2019-10-31 | 2020-05-08 | 惠州华阳通用电子有限公司 | 一种存储器分区容量调节方法及装置 |
CN112114880A (zh) * | 2020-08-07 | 2020-12-22 | 深圳市鼎盛光电有限公司 | 一种智能电视的配置方法、装置、智能电视和存储介质 |
CN112328428A (zh) * | 2020-11-03 | 2021-02-05 | 厦门亿联网络技术股份有限公司 | 一种嵌入式设备恢复出厂配置的方法、系统和嵌入式设备 |
CN112328428B (zh) * | 2020-11-03 | 2023-12-19 | 厦门亿联网络技术股份有限公司 | 一种嵌入式设备恢复出厂配置的方法、系统和嵌入式设备 |
CN112817607A (zh) * | 2020-12-31 | 2021-05-18 | 广州芯德通信科技股份有限公司 | 一种加快光端机生产速度的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092660A (zh) | 一种嵌入式设备出厂配置与生产配置的安全快速切换方法 | |
CN103970563B (zh) | 动态加载安卓类的方法 | |
CN109725933B (zh) | 大数据文档生成方法、装置、设备及计算机可读存储介质 | |
CN107402788B (zh) | 资源打包管理方法与装置 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
WO2018036342A1 (zh) | 基于csar的模型文件的可视化设计方法及装置 | |
CN102402446A (zh) | 应用软件的安装方法和应用软件的安装装置 | |
CN101221504B (zh) | 测试脚本的调度执行系统 | |
CN109800005B (zh) | 一种客户端热更新方法及装置 | |
CN111198695A (zh) | 微服务治理管理平台的自动化部署方法和电子设备 | |
CN110874236A (zh) | 一种跨平台应用装置、终端及存储介质 | |
CN103177210A (zh) | 一种在Android中植入动态污点分析模块的方法 | |
CN103577212A (zh) | 系统启动预加载方法及装置 | |
KR101427561B1 (ko) | 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 | |
CN105740144A (zh) | 一种Android移动终端的自动化测试方法及系统 | |
CN113641996B (zh) | 检测方法、图形界面及相关装置 | |
CN104899049A (zh) | 一种文件删除方法及其装置 | |
CN113641988B (zh) | 沙箱初始化方法、图形界面及相关装置 | |
CN108509215A (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN105765533A (zh) | 用于固件虚拟化的方法和装置 | |
CN111726818A (zh) | 无线芯片的测试方法、装置、计算机设备和存储介质 | |
CN104572140B (zh) | 一种操作系统移植的方法、装置及系统 | |
CN108182070B (zh) | 定制安卓系统rom的方法、装置及终端设备 | |
KR102204047B1 (ko) | 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 | |
CN113835705A (zh) | 大数据服务产品开发方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130508 |