CN102707980A - 一种基于mtd分区嵌入式产品定制方法 - Google Patents
一种基于mtd分区嵌入式产品定制方法 Download PDFInfo
- Publication number
- CN102707980A CN102707980A CN2012101701620A CN201210170162A CN102707980A CN 102707980 A CN102707980 A CN 102707980A CN 2012101701620 A CN2012101701620 A CN 2012101701620A CN 201210170162 A CN201210170162 A CN 201210170162A CN 102707980 A CN102707980 A CN 102707980A
- Authority
- CN
- China
- Prior art keywords
- product
- cfg
- mtd
- district
- configuration
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于MTD分区嵌入式产品定制方法,该方法在对MTD分区嵌入式产品定制中,在产品开发阶段,通过导入配置文件,在系统初始化阶段,初始化相应的配置文件从而实现产品的定制需求,这就避免需要重复测试不同的定制版本;在产品维护阶段,通过升级固件和需要更新的功能配置文件,这就避免了删除用户的私有数据。本发明充分利用并扩展了参数配置及其备份区的功能,解决了如上问题。
Description
技术领域
本发明涉及到基于Flash嵌入式设备领域,特别涉及根据嵌入式设备的硬件或者使用需要对产品固件进行装配的方法。
背景技术
随着嵌入式技术的发展前景日益广阔,其产品的功能和形态必然多元化。通过升级固件来实现不同的定制需求是目前的一种主流。
MTD(memory technology device内存技术设备)是用于访问memory设备(ROM、flash)的Linux的子系统。MTD的主要目的是为了使新的memory设备的驱动更加简单,为此它在硬件和上层之间提供了一个抽象的接口。市面上大部分Flash嵌入式设备都是基于MTD分区的,而保存在Flash内的系统软件(固件)与硬件一起组成该嵌入式设备的两个不可分割的部分。不同定制需求可能有不同的硬件,同时也需要不同的固件。
现有不同的定制需求是通过升级固件的方法,擦除原有的参数配置,在系统加载时重新初始化定制的功能来实现的。此方法虽然直接,但存在如下缺陷:
A:实现不同的定制需要不同的固件。这在产品开发阶段必然会大量增加测试的压力和成本。
B:在产品维护阶段,如果涉及产品新功能的开发或功能修改会清除用户的私有数据,增加维护成本。
发明内容
为解决目前基于MTD分区嵌入式产品中固件升级所带来的不足,本发明提供一种充分利用并扩展了参数配置及其备份区的功能的定制方法。
本发明为了完成其技术目的所采用的技术方案是:一种基于MTD分区嵌入式产品定制方法,该方法在对MTD分区嵌入式产品定制中包括以下步骤:
在产品开发阶段,导入功能配置文件;
在系统初始化阶段,初始化相应的功能配置文件从而实现产品的定制需求;
在产品维护阶段,升级固件和对需要更新的功能配置文件进行更新。
进一步的,上述的基于MTD分区嵌入式产品定制方法中:在MTD分区嵌入式产品的固件中建立如下6个MTD分区:uboot分区,uboot环境变量区,系统配置区,系统配置备份区,主系统区,系统备份。
进一步的,上述的基于MTD分区嵌入式产品定制方法中:在产品开发阶段,导入功能配置文件包括以下步骤:
步骤A、清除原有的系统配置区和系统配置备份区;
步骤B、将导入的新的配置文件写入到系统配置区,系统配置备份区。
进一步的,上述的基于MTD分区嵌入式产品定制方法中:在系统初始化阶段,初始化相应的功能配置文件从而实现产品的定制需求在升级功能配置时不会删除原有的系统配置区和系统配置备份区,只会将要更新的功能配置拷贝到系统配置区中。
本发明充分利用并扩展了参数配置及其备份区的功能,解决了如上问题。在产品开发阶段,通过导入配置文件,在系统初始化阶段,初始化相应的配置文件从而实现产品的定制需求,这就避免需要重复测试不同的定制版本;在产品维护阶段,通过升级固件和需要更新的功能配置文件,这就避免了删除用户的私有数据。
下面通过结合具体实施例和附图对本发明进行进一步的说明。
附图说明
附图1是本发明系统MTD分区图。
附图2是本发明的系统加电流程图。
附图3是本发明的功能定制设计流程图。
具体实施方式
本实施例是一种基于MTD分区嵌入式产品定制方法,本实施例中在MTD分区嵌入式产品的固件中建立如下6个MTD分区如图1所示:uboot分区U_BOOT, uboot环境变量区U_BOOT_ENV,系统配置区OS_CFG,系统配置备份区OS_CFG_BU,主系统区OS1,系统备份区OS2。u-boot是一种普遍用于嵌入式系统中的Bootloader 。
本实施例中,在产品开发阶段,通过导入配置文件,在系统初始化阶段,初始化相应的配置文件从而实现产品的定制需求,这就避免需要重复测试不同的定制版本;在产品维护阶段,通过升级固件和需要更新的功能配置文件,这就避免了删除用户的私有数据。
提供可选的单独升级固件,单独升级配置或者一起升级固件和配置的机制。
升级成功后,自动重新加载系统,使相应的功能配置生效。
具体的步骤如图2和图3所示
A:在系统开发阶段,升级配置文件会清除原有的OS_CFG和OS_CFG_BU区域,将导入的配置文件写入到这2个区域中。
B: 在系统维护阶段,通过一起升级固件和功能配置(存放在固件只读存储区/ver下面,不涉及新增功能时此文件夹为空,从而只更新固件)。但升级功能配置时不会删除原有的OS_CFG和OS_CFG_BU区域,只会将要更新的功能配置拷贝到OS_CFG区域中。
C: 何时需要更新功能配置,这是一个难点:这里引入了引用计数的概念,每次更新固件前会删除OS_CFG区域下ver_info这个文件,ver_info不存在时表明需要更新功能配置,存在是不需要跟新功能配置。更新固件完成后在OS_CFG下重新生成ver_info文件,避免了不更新固件文件重启系统加电更新功能配置的情况。
采用本方法进行产品功能定制和更新,可以节约测试成本,降低产品维护的难度,提高开发效率。
Claims (4)
1.一种基于MTD分区嵌入式产品定制方法,其特征在于:该方法在对MTD分区嵌入式产品定制中包括以下步骤:
在产品开发阶段,导入功能配置文件;
在系统初始化阶段,初始化相应的功能配置文件从而实现产品的定制需求;
在产品维护阶段,升级固件和对需要更新的功能配置文件进行更新。
2.根据权利要求1所述的基于MTD分区嵌入式产品定制方法,其特征在于:在MTD分区嵌入式产品的固件中建立如下6个MTD分区:uboot分区(U_BOOT),uboot环境变量区(U_BOOT_ENV),系统配置区(OS_CFG),系统配置备份区(OS_CFG_BU),主系统区(OS1),系统备份区(OS2)。
3.根据权利要求2所述的基于MTD分区嵌入式产品定制方法,其特征在于:在产品开发阶段,导入功能配置文件包括以下步骤:
步骤A、清除原有的系统配置区(OS_CFG)和系统配置备份区(OS_CFG_BU);
步骤B、将导入的新的配置文件写入到系统配置区(OS_CFG),系统配置备份区(OS_CFG_BU)。
4.根据权利要求2所述的基于MTD分区嵌入式产品定制方法,其特征在于:在系统初始化阶段,初始化相应的功能配置文件从而实现产品的定制需求在升级功能配置时不会删除原有的系统配置区(OS_CFG)和系统配置备份区(OS_CFG_BU),只会将要更新的功能配置拷贝到系统配置区(OS_CFG)中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210170162.0A CN102707980B (zh) | 2012-05-29 | 2012-05-29 | 一种基于mtd分区嵌入式产品定制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210170162.0A CN102707980B (zh) | 2012-05-29 | 2012-05-29 | 一种基于mtd分区嵌入式产品定制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102707980A true CN102707980A (zh) | 2012-10-03 |
CN102707980B CN102707980B (zh) | 2015-05-27 |
Family
ID=46900801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210170162.0A Expired - Fee Related CN102707980B (zh) | 2012-05-29 | 2012-05-29 | 一种基于mtd分区嵌入式产品定制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102707980B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250262A (zh) * | 2016-08-10 | 2016-12-21 | 深圳市蜂联科技有限公司 | 一种基于双镜像的防止SD使用过程中flash被意外篡改的方法 |
CN106775650A (zh) * | 2016-11-25 | 2017-05-31 | 珠海我爱拍科技有限公司 | 一种基于定制Android系统的升级方法 |
CN107239277A (zh) * | 2017-05-23 | 2017-10-10 | 中国电子科技集团公司第四十研究所 | 一种微波变频器系列嵌入式固件设计方法 |
CN111694580A (zh) * | 2019-03-13 | 2020-09-22 | 杭州宏杉科技股份有限公司 | 存储设备升级及初始化的方法、装置、电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169726A (zh) * | 2007-11-28 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 基于MTD分区的嵌入式Linux系统在线升级方法 |
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
-
2012
- 2012-05-29 CN CN201210170162.0A patent/CN102707980B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169726A (zh) * | 2007-11-28 | 2008-04-30 | 浪潮电子信息产业股份有限公司 | 基于MTD分区的嵌入式Linux系统在线升级方法 |
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN102163155A (zh) * | 2011-03-09 | 2011-08-24 | 深圳创维数字技术股份有限公司 | 存储设备的升级方法及升级控制装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250262A (zh) * | 2016-08-10 | 2016-12-21 | 深圳市蜂联科技有限公司 | 一种基于双镜像的防止SD使用过程中flash被意外篡改的方法 |
CN106775650A (zh) * | 2016-11-25 | 2017-05-31 | 珠海我爱拍科技有限公司 | 一种基于定制Android系统的升级方法 |
CN107239277A (zh) * | 2017-05-23 | 2017-10-10 | 中国电子科技集团公司第四十研究所 | 一种微波变频器系列嵌入式固件设计方法 |
CN111694580A (zh) * | 2019-03-13 | 2020-09-22 | 杭州宏杉科技股份有限公司 | 存储设备升级及初始化的方法、装置、电子设备 |
CN111694580B (zh) * | 2019-03-13 | 2023-03-10 | 杭州宏杉科技股份有限公司 | 存储设备升级及初始化的方法、装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102707980B (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824411B2 (en) | Install file size optimization and installation verification system | |
CN103455354B (zh) | 一种防止固件升级失败的方法和设备 | |
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
CN103677947B (zh) | 基于linux的设备双系统保护及升级方法 | |
CN102707980B (zh) | 一种基于mtd分区嵌入式产品定制方法 | |
CN100472440C (zh) | 一种智能加载手机硬件驱动程序的方法 | |
CN101694623A (zh) | 一种更新手持设备软件的方法 | |
CN104918114B (zh) | 一种操作系统升级方法及装置 | |
CN101183337A (zh) | 基于nand flash移动终端存储介质的空间管理方法 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN103176826B (zh) | 一种自由配置终端设备默认语言的方法及终端默认语言配置系统 | |
WO2011000279A1 (zh) | 用于软件进行动态升级与控制的生成补丁方法及其装置 | |
CN103514015A (zh) | 一种从存储介质中启动操作系统的方法和装置 | |
CN105068834A (zh) | 系统升级方法及装置 | |
CN103677915A (zh) | 一种基于TF启动卡进行flash镜像自动烧写的方法 | |
CN104657161A (zh) | 移动终端固件更新方法及装置 | |
AU2016202075A1 (en) | Arrangement for updating a control system | |
CN104216751A (zh) | 一种应用程序的功能组件界面资源的加载方法及系统 | |
JP6092905B2 (ja) | 複数のオペレーティングシステムを動作させる方法および電子装置 | |
CN109710297B (zh) | 一种设备整体或分模块进行升级和回退方法 | |
CN103853557A (zh) | 一种用Uboot网络启动WinCE的方法 | |
CN101330695A (zh) | 一种移动终端及其系统升级的方法和装置 | |
CN105094919A (zh) | 一种应用程序启动方法 | |
CN103116502A (zh) | 一种利用主备版本备份实现升级的方法 | |
CN102331942A (zh) | 一种BIOS与Linux内核自动升级的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150527 |