CN102662700B - 一种嵌入式软件版本的发布及升级方法 - Google Patents
一种嵌入式软件版本的发布及升级方法 Download PDFInfo
- Publication number
- CN102662700B CN102662700B CN201210084894.8A CN201210084894A CN102662700B CN 102662700 B CN102662700 B CN 102662700B CN 201210084894 A CN201210084894 A CN 201210084894A CN 102662700 B CN102662700 B CN 102662700B
- Authority
- CN
- China
- Prior art keywords
- software version
- downloaded
- binary code
- file
- upgrading tool
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005192 partition Methods 0.000 claims abstract description 29
- 230000010354 integration Effects 0.000 claims description 3
- 238000005245 sintering Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式软件版本的发布及升级方法,将待下载的升级文件的分区信息以字节对齐的方式连接到升级工具的二进制代码之后;将引导程序的二进制代码以字节对齐的方式连接到待下载的升级文件的分区信息之后;将待下载的升级文件以字节对齐的方式连接在一起,并以字节对齐的方式连接到引导程序的二进制代码之后;将描述信息以字节对齐的方式连接到待下载的升级文件之后;并将按以上顺序所生成的可执行文件作为软件版本发布。一步到位地实现软件版本发布和升级,将升级差异性前移到软件版本发布之前,使得不同嵌入式产品在生产升级、用户升级和售后升级时都能采用一致的升级方法,将软件版本的发布和升级做到简单、通用、稳定、具有良好的防呆性。
Description
技术领域
本发明涉及一种嵌入式软件,特别是涉及一种嵌入式软件版本的发布及升级方法。
背景技术
嵌入式产品已经日益普及,尤其是随着可便携式电子装置逐渐盛行,如个人数字助理(PersonalDigitalAssistant,PDA)、功能手机(FeaturePhone)、智能手机(SmartPhone)、平板电脑(TabletPersonalComputer)等,使得嵌入式产品成为日常生活中不可缺少的一部分。
嵌入式产品出厂前均需通过相应的软件版本升级方法在其存储器(比如:NANDFLASH、EMMC等)内预置软体,以保证嵌入式产品能正常工作。
另一方面,伴随着嵌入式产品所用操作系统复杂程度越来越高,使得嵌入式产品很难一步到位地调试到极其稳定和健壮;再者,用户对嵌入式产品的需求变更也越来越频繁,使得嵌入式产品本身以及嵌入式产品所用操作系统更新换代的速度越来越快。这种现象随着智能手机的兴起和盛行显得尤为明显。这就意味着必须提供相应的软件版本升级方法供用户和售后进行软件版本升级。
以上描述无不凸显出嵌入式产品软件版本发布和升级成为了嵌入式产品不可或缺的重要组成部分。当前嵌入式产品软件版本发布和升级的通用做法是将软件版本发布和升级分割开来,每一嵌入式产品的软件版本单独发布再通过与该嵌入式产品配套的升级工具或升级方法将相应的软件版本下载到嵌入式产品存储器(比如:NANDFLASH、EMMC等)内。随着移动通信产业的高速发展,嵌入式产品种类越来越多。对于嵌入式产品生产过程中的版本升级而言,种类繁多的嵌入式产品使用各种不同升级工具完成版本升级,导致升级工具维护量大,嵌入式产品生产成本增高。对于用户或售后升级而言,不同嵌入式产品使用不同的升级工具,增大了出现各种使用错误的概率,造成升级失败或升级后嵌入式产品不能使用等问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种嵌入式软件版本的发布和升级方法,以解决软件版本发布和升级无法统一维护的问题,以及解决不同嵌入式产品使用不同软件版本升级方法所造成的软件版本升级工作的维护成本较高、且容易出错的缺陷。
为了达到上述目的,本发明采用的技术方案是,一种嵌入式软件版本的发布方法,所述的发布方法步骤如下:
步骤1、将待下载的升级文件的分区信息以字节对齐的方式连接到升级工具的二进制代码之后;
步骤2、将引导程序的二进制代码以字节对齐的方式连接到待下载的升级文件的分区信息之后;
步骤3、将待下载的升级文件以字节对齐的方式连接在一起,并以字节对齐的方式连接到引导程序的二进制代码之后;
步骤4、将描述信息以字节对齐的方式连接到待下载的升级文件之后;
步骤5、将按步骤1~4所生成的可执行文件作为软件版本发布。
进一步的,步骤5所述的可执行文件由升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息整合而成。
进一步的,所述的整合是以升级工具的二进制代码作为软件版本的头部、以描述信息作为软件版本的尾部,升级工具的二进制代码位于软件版本的头部与软件版本的其余数据连接在一起;描述信息位于软件版本的尾部与软件版本的其余数据连接在一起;其中连接方式包括级联、字节对齐。
进一步的,所述的描述信息用以描述升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息在软件版本的具体位置,且描述信息包括升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息的长度信息,以及它们在软件版本内的偏移量信息。
进一步的,所述的自定义文件包括待下载的升级文件的分区信息、引导程序的二进制代码。
进一步的,所述的分区信息用于描述待下载的升级文件写入嵌入式设备存储器的具体位置,包括分区名称、起始区及分区号中的任意一种或任意组合。
进一步的,所述的引导程序的二进制代码通过升级工具下载到嵌入式设备RAM存储器内,嵌入式设备运行引导程序的二进制代码与升级工具建立连接,升级工具经再经由连接将待下载的升级文件下载到嵌入式设备存储器内,连接包括是并口连接、串口连接。
进一步的,所述的待下载的升级文件可以是一个文件或者多个文件。
一种利用所述的嵌入式软件版本发布方法的升级方法,所述的步骤如下:
步骤101、运行经过整合以可执行文件方式发布的软件版本;
步骤102、将直接运行整合在软件版本头部的升级工具的二进制代码;
步骤103、升级工具从软件版本尾部提取描述信息数据结构;
步骤104、升级工具解析描述信息数据结构,获取各个整合文件的长度信息以及它们在软件版本内的偏移量信息;
步骤105、升级工具根据长度信息和偏移量信息从软件版本内解析出引导程序的二进制代码;
步骤106、升级工具将引导程序的二进制代码下载到嵌入式设备RAM存储器内;
步骤107、升级工具发送一跳转命令给嵌入式设备,使得嵌入式设备跳转到引导程序运行;
步骤108、升级工具与引导程序建立连接;
步骤109、升级工具根据长度信息和偏移量信息从软件版本内解析出待下载的升级文件的分区信息,并通过与引导程序所建立的连接将分区信息下载到嵌入式设备的存储器内;
步骤110、升级工具根据长度信息和偏移量信息从软件版本内解析出待下载的升级文件,并通过与引导程序所建立的连接将这些文件依据分区信息下载到嵌入式设备存储器的对应位置。
与现有技术相比,本发明的有益效果是:通过将升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息整合,隐藏了整个软件版本升级过程的技术细节,一步到位地实现软件版本发布和升级,将升级差异性前移到软件版本发布之前,使得不同嵌入式产品在生产升级、用户升级和售后升级时都能采用一致的软件版本升级方法,将软件版本的发布和升级做到简单、通用、稳定、具有良好的防呆性。
附图说明
图1为本发明的软件版本发布示意图;
图2为本发明的软件版本升级流程图。
具体实施方式
本发明的主旨在于克服现有技术的不足,提供一种嵌入式软件版本的发布和升级方法,通过将升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息整合,隐藏了整个软件版本升级过程的技术细节,一步到位地实现软件版本发布和升级,将升级差异性前移到软件版本发布之前,使得不同嵌入式产品在生产升级、用户升级和售后升级时都能采用一致的软件版本升级方法,将软件版本的发布和升级做到简单、通用、稳定、具有良好的防呆性。
下面结合实施例参照附图进行详细说明,以便对本发明的技术特征及优点进行更深入的诠释。
本发明的软件版本发布示意图如图1所示,一种嵌入式软件版本的发布方法,所述的发布方法步骤如下:
步骤1、将待下载的升级文件的分区信息以字节对齐的方式连接到升级工具的二进制代码之后;
步骤2、将引导程序的二进制代码以字节对齐的方式连接到待下载的升级文件的分区信息之后;
步骤3、将待下载的升级文件以字节对齐的方式连接在一起,并以字节对齐的方式连接到引导程序的二进制代码之后;
步骤4、将描述信息以字节对齐的方式连接到待下载的升级文件之后;
步骤5、将按步骤1~4所生成的可执行文件作为软件版本发布。
进一步的,步骤5所述的可执行文件由升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息整合而成。
进一步的,所述的整合是以升级工具的二进制代码作为软件版本的头部、以描述信息作为软件版本的尾部。
进一步的,所述的描述信息用以描述升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息在软件版本的具体位置。
进一步的,所述的自定义文件包括待下载的升级文件的分区信息、引导程序的二进制代码。
进一步的,所述的分区信息用于描述待下载的升级文件写入嵌入式设备存储器的具体位置,包括分区名称、起始区及分区号中的任意一种或任意组合。
进一步的,所述的引导程序的二进制代码通过升级工具下载到嵌入式设备RAM存储器内,嵌入式设备运行引导程序的二进制代码与升级工具建立连接,升级工具经再经由连接将待下载的升级文件下载到嵌入式设备存储器内,连接包括是并口连接、串口连接。
进一步的,所述的待下载的升级文件可以是一个文件或者多个文件。
按照本发明提供的软件版本发布和升级方法,自定义文件与待下载的升级文件连接在一起;其中,连接包括是自定义文件级联到待下载的升级文件头部、自定义文件级联到待下载的升级文件尾部、自定义文件与待下载的升级文件交叉级联。
按照本发明提供的软件版本发布和升级方法,升级工具的二进制代码位于软件版本的头部与软件版本的其余数据连接在一起;其中,连接包括级联、字节对齐。
按照本发明提供的软件版本发布和升级方法,描述信息位于软件版本的尾部与软件版本的其余数据连接在一起;其中,连接包括是级联、字节对齐。
按照本发明提供的软件版本发布和升级方法,描述信息包括是升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息的长度信息,以及它们在软件版本内的偏移量信息。
本发明的软件版本升级流程图如图2所示,一种利用所述的嵌入式软件版本发布方法的升级方法,所述的步骤如下:
步骤101、运行经过整合以可执行文件方式发布的软件版本;
步骤102、将直接运行整合在软件版本头部的升级工具的二进制代码;
步骤103、升级工具从软件版本尾部提取描述信息数据结构;
步骤104、升级工具解析描述信息数据结构,获取各个整合文件的长度信息以及它们在软件版本内的偏移量信息;
步骤105、升级工具根据长度信息和偏移量信息从软件版本内解析出引导程序的二进制代码;
步骤106、升级工具将引导程序的二进制代码下载到嵌入式设备RAM存储器内;
步骤107、升级工具发送一跳转命令给嵌入式设备,使得嵌入式设备跳转到引导程序运行;
步骤108、升级工具与引导程序建立连接;
步骤109、升级工具根据长度信息和偏移量信息从软件版本内解析出待下载的升级文件的分区信息,并通过与引导程序所建立的连接将分区信息下载到嵌入式设备的存储器内;
步骤110、升级工具根据长度信息和偏移量信息从软件版本内解析出待下载的升级文件,并通过与引导程序所建立的连接将这些文件依据分区信息下载到嵌入式设备存储器的对应位置。
以上所述为本发明较佳的实施例,在不脱离本发明的发明构思的前提下,任何显而易见的替换均在本发明的保护范围之内。
Claims (5)
1.一种嵌入式软件版本的发布方法,其特征在于,所述的发布方法的步骤如下:
步骤1、将待下载的升级文件的分区信息以字节对齐的方式连接到升级工具的二进制代码之后;
步骤2、将引导程序的二进制代码以字节对齐的方式连接到待下载的升级文件的分区信息之后;
步骤3、将待下载的升级文件以字节对齐的方式连接在一起,并以字节对齐的方式连接到引导程序的二进制代码之后;
步骤4、将描述信息以字节对齐的方式连接到待下载的升级文件之后;
步骤5、将按步骤1~4所生成的可执行文件作为软件版本发布;所述的可执行文件由升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息整合而成;所述的整合是以升级工具的二进制代码作为软件版本的头部、以描述信息作为软件版本的尾部,升级工具的二进制代码位于软件版本的头部与软件版本的其余数据连接在一起;描述信息位于软件版本的尾部与软件版本的其余数据连接在一起;其中连接方式包括字节对齐;
所述的描述信息用以描述升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息在软件版本的具体位置,且描述信息包括升级工具的二进制代码、自定义文件、待下载的升级文件和描述信息的长度信息,以及它们在软件版本内的偏移量信息;
所述的自定义文件包括待下载的升级文件的分区信息、引导程序的二进制代码。
2.根据权利要求1所述的嵌入式软件版本的发布方法,其特征在于:所述的分区信息用于描述待下载的升级文件写入嵌入式设备存储器的具体位置,包括分区名称、起始区及分区号中的任意一种或任意组合。
3.根据权利要求2所述的嵌入式软件版本的发布方法,其特征在于:所述的引导程序的二进制代码通过升级工具下载到嵌入式设备存储器内,嵌入式设备运行引导程序的二进制代码与升级工具建立连接,升级工具经由所述连接将待下载的升级文件下载到嵌入式设备存储器内,连接包括并口连接、串口连接。
4.根据权利要求3所述的嵌入式软件版本的发布方法,其特征在于:所述的待下载的升级文件为一个文件或者多个文件。
5.一种利用权利要求1~4中任一项所述的嵌入式软件版本发布方法的升级方法,其特征在于,所述的升级方法的步骤如下:
步骤101、运行经过整合以可执行文件方式发布的软件版本;
步骤102、将直接运行整合在软件版本头部的升级工具的二进制代码;
步骤103、升级工具从软件版本尾部提取描述信息数据结构;
步骤104、升级工具解析描述信息数据结构,获取各个整合文件的长度信息以及它们在软件版本内的偏移量信息;
步骤105、升级工具根据长度信息和偏移量信息从软件版本内解析出引导程序的二进制代码;
步骤106、升级工具将引导程序的二进制代码下载到嵌入式设备存储器内;
步骤107、升级工具发送一跳转命令给嵌入式设备,使得嵌入式设备跳转到引导程序运行;
步骤108、升级工具与引导程序建立连接;
步骤109、升级工具根据长度信息和偏移量信息从软件版本内解析出待下载的升级文件的分区信息,并通过与引导程序所建立的连接将分区信息下载到嵌入式设备的存储器内;
步骤110、升级工具根据长度信息和偏移量信息从软件版本内解析出待下载的升级文件,并通过与引导程序所建立的连接将这些文件依据分区信息下载到嵌入式设备存储器的对应位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210084894.8A CN102662700B (zh) | 2012-03-28 | 2012-03-28 | 一种嵌入式软件版本的发布及升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210084894.8A CN102662700B (zh) | 2012-03-28 | 2012-03-28 | 一种嵌入式软件版本的发布及升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662700A CN102662700A (zh) | 2012-09-12 |
CN102662700B true CN102662700B (zh) | 2016-02-03 |
Family
ID=46772201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210084894.8A Expired - Fee Related CN102662700B (zh) | 2012-03-28 | 2012-03-28 | 一种嵌入式软件版本的发布及升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662700B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714811A (zh) * | 2013-12-13 | 2015-06-17 | 中兴通讯股份有限公司 | 差分升级包的制作方法及装置、系统差分升级方法及装置 |
CN104636172B (zh) * | 2015-03-09 | 2019-02-05 | 联想(北京)有限公司 | 一种应用升级方法和装置 |
CN105446769B (zh) * | 2015-11-03 | 2018-03-30 | 广东欧珀移动通信有限公司 | 镜像文件升级处理方法、装置和终端设备 |
CN106648751B (zh) * | 2016-11-22 | 2020-04-21 | 深圳市元征软件开发有限公司 | 一种嵌入式软件快速升级的方法及嵌入式设备 |
CN107025121B (zh) * | 2017-03-31 | 2020-10-09 | Oppo广东移动通信有限公司 | 软件升级方法、装置和电子装置 |
CN107193593B (zh) * | 2017-05-17 | 2020-08-21 | 深圳创维数字技术有限公司 | 一种可升级文件的升级方法、机顶盒和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553323A (zh) * | 2003-06-05 | 2004-12-08 | 中兴通讯股份有限公司 | 在嵌入式系统中使用x86处理器的单一bootrom的制作方法 |
CN101017435A (zh) * | 2006-04-14 | 2007-08-15 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080127175A1 (en) * | 2006-11-01 | 2008-05-29 | Microsoft Corporation | Packaging software products as single-file executables containing scripting logic |
-
2012
- 2012-03-28 CN CN201210084894.8A patent/CN102662700B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553323A (zh) * | 2003-06-05 | 2004-12-08 | 中兴通讯股份有限公司 | 在嵌入式系统中使用x86处理器的单一bootrom的制作方法 |
CN101017435A (zh) * | 2006-04-14 | 2007-08-15 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
Non-Patent Citations (1)
Title |
---|
稳定可靠的机顶盒嵌入式系统软件升级设计方法;郭金花;《中国优秀硕士学位论文全文数据库信息科技辑》;20100815(第8期);第27页第2段-第29页最后第2段,第37页第1段-第44页最后第2段以及表2.9、图2.7 * |
Also Published As
Publication number | Publication date |
---|---|
CN102662700A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662700B (zh) | 一种嵌入式软件版本的发布及升级方法 | |
CN102289378B (zh) | 自动生成应用程序的方法 | |
CN103064712B (zh) | 一种更新配置参数的方法、装置及终端设备 | |
CN108279922A (zh) | 差分文件生成方法、基于该差分文件的升级方法及系统 | |
CN103927256A (zh) | 一种控制多个安卓装置的方法 | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
WO2016078263A1 (zh) | 升级控制设备、终端、终端升级方法及系统、存储介质 | |
CN104850611A (zh) | 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 | |
CN104516747A (zh) | 一种系统切换方法及电子设备 | |
CN103513966A (zh) | 基于组件的php开发框架 | |
CN102591685B (zh) | 一种实现应用程序自动在线更新的方法及装置 | |
CN104991806A (zh) | 单片机程序远程固件升级系统和方法 | |
CN104035766A (zh) | 基于覆盖率测试的android系统裁剪方法 | |
CN104461570A (zh) | 一种bom自动化分析方法 | |
CN102566481B (zh) | 一种基于c语言的plc控制系统及其实现方法 | |
CN103473173A (zh) | 一种对iOS系统进行汇编级动态调试的方法及装置 | |
CN105426635A (zh) | 一种自动建立差分线伴随地孔的Skill程序实现方法 | |
CN101776998A (zh) | 生成通用终端产品程序的方法和装置 | |
CN102984204B (zh) | 一种获取应用程序的方法及移动智能终端 | |
CN105512168A (zh) | 一种集群数据库复合加载数据的方法及装置 | |
CN103677941A (zh) | 一种实现智能卡操作系统模块升级的方法及装置 | |
CN103902289A (zh) | 一种快速调整文字方向的方法 | |
CN104408081A (zh) | 一种移动终端及其快速查看文件的方法和装置 | |
CN102306104A (zh) | 一种实现应用程序自动更新的方法及装置 | |
CN104333634A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |