CN113391790A - 一种能自动适配的通用ota固件包构建方法 - Google Patents
一种能自动适配的通用ota固件包构建方法 Download PDFInfo
- Publication number
- CN113391790A CN113391790A CN202110682127.6A CN202110682127A CN113391790A CN 113391790 A CN113391790 A CN 113391790A CN 202110682127 A CN202110682127 A CN 202110682127A CN 113391790 A CN113391790 A CN 113391790A
- Authority
- CN
- China
- Prior art keywords
- package
- ota
- sub
- ota firmware
- upgrade
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 19
- 238000004519 manufacturing process Methods 0.000 claims abstract description 4
- 238000009434 installation Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件开发技术领域,尤其是一种能自动适配的通用OTA固件包构建方法,包括以下步骤:根据技术方案制作通用OTA固件包;通用OTA固件包构成为:magic+version+N*subpackage,Magic为幻数,固定数值0x35675847,用来识别该固件升级包,占用4个字节;Version为该OTA固件包结构版本号,如需扩展或修改该结构可升级该版本号;sub package为该型号各个硬件方案的子OTA固件包信息将通用OTA固件包部署到升级服务器,所述sub package构成为:Header+OTA package,所述Header为子OTA固件包的头部信息。该能自动适配的通用OTA固件包构建方法通用OTA固件包无需反复部署,提高效率;兼顾了所有的同型号硬件方案的升级,不会出现设备不能升级的情况;解决了设备OTA升级用错特定OTA固件包而无法运行的问题。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种能自动适配的通用OTA固件包构建方法。
背景技术
在智能摄像机领域产品设计之初不会考虑到一款型号会有多种硬件的情况,一般的OTA固件包是单一固定的,一款型号只有一个OTA固件包,并且该OTA固件包只能给唯一的硬件方案使用,当出现物料短缺等问题时,就会需要替换某些元器件,但是替换完元器件后的硬件方案并不能用已经量产的OTA固件包,因为OTA固件包和硬件本身是强烈相关的,一旦某个硬件方案用错了OTA固件包,就会使设备无法正常运行,目前没有特别行之有效的方法,常用的解决方案是先部署其中一种硬件的OTA固件包,并在升级服务器配置需要OTA升级的设备白名单,等待该硬件的设备升级完成后再用同样的方法部署另一款硬件的OTA固件包,这种方法不仅效率低下,而且不能做到使所有设备得到升级。
发明内容
本发明的目的在于提供一种能自动适配的通用OTA固件包构建方法,以解决同型号下OTA固件包和不同硬件方案不能通用的缺陷的问题。
为了实现上述目的,本发明采用了如下技术方案:设计一种能自动适配的通用OTA固件包构建方法,包括以下步骤:
S1:根据技术方案制作通用OTA固件包;
S2:将通用OTA固件包部署到升级服务器;
S3:设备下载升级包并进行升级。
优选的,所述S1中通用OTA固件包构成为:magic+version+N*subpackage,Magic为幻数,固定数值0x35675847,用来识别该固件升级包,占用4个字节;Version为该OTA固件包结构版本号,如需扩展或修改该结构可升级该版本号,占用4字节,每个字节代表一位版本号;sub package为该型号各个硬件方案的子OTA固件包信息;
优选的,所述sub package构成为:Header+OTA package,所述Header为子OTA固件包的头部信息,所述OTA package为各个硬件方案的OTA固件包;
优选的,所述Header的构成为:Hw+Length+ MD5,所述Hw为硬件类型,由各个主要部件组成,占用4字节,每4bit表示一种部件,所述Length为子OTA固件包的长度,长度单位为字节,占4字节,所述Md5为子OTA固件包的MD5校验值,hex类型,占16字节;
优选的,所述S3中当需要OTA升级时,设备会解析通用OTA固件包,通过对比hw字段找到属于自己硬件方案的子OTA固件包进行升级;
优选的,所述升级流程包括以下步骤:
步骤一:对升级包进行解析,查看magic是否匹配,如匹配将进行下一步,如不匹配将结束;
步骤二:查看协议版本是否匹配,如匹配将解析子升级包头部信息,如不匹配将结束;
步骤三:解析子升级包头部信息后进行解析hw类型、长度和MD5,根据长度获取子升级包内容,查看Hw类型是否匹配;
步骤四:如匹配将进行下一项,如不匹配将获取下一个子升级包,重复步骤三的内容;
步骤五:Hw类型匹配进行校验MD5;
步骤六:进行升级安装结束。
本发明提出的一种能自动适配的通用OTA固件包构建方法,有益效果在于:
1,通用OTA固件包无需反复部署,提高效率;
2,兼顾了所有的同型号硬件方案的升级,不会出现设备不能升级的情况;
3,解决了设备OTA升级用错特定OTA固件包而无法运行的问题。
附图说明
图1为本发明通用OTA固件包的构成原理示意图;
图2为本发明sub package的构成原理示意图;
图3为本发明Header的构成原理示意图;
图4为本发明Hw的的构成原理示意图;
图5为本发明升级流程原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-5,一种能自动适配的通用OTA固件包构建方法,包括以下步骤:根据技术方案制作通用OTA固件包;通用OTA固件包构成为:magic+version+N*subpackage,Magic为幻数,固定数值0x35675847,用来识别该固件升级包,占用4个字节;Version为该OTA固件包结构版本号,如需扩展或修改该结构可升级该版本号,占用4字节,每个字节代表一位版本号;sub package为该型号各个硬件方案的子OTA固件包信息将通用OTA固件包部署到升级服务器,所述sub package构成为:Header+OTA package,所述Header为子OTA固件包的头部信息,Header的构成为:Hw+Length+ MD5,所述Hw为硬件类型,由各个主要部件组成,占用4字节,每4bit表示一种部件,所述Length为子OTA固件包的长度,长度单位为字节,占4字节,所述Md5为子OTA固件包的MD5校验值,hex类型,占16字节,所述OTA package为各个硬件方案的OTA固件包;设备下载升级包并进行升级,当需要OTA升级时,设备会解析通用OTA固件包,通过对比hw字段找到属于自己硬件方案的子OTA固件包进行升级,对升级包进行解析,查看magic是否匹配,如匹配将进行下一步,如不匹配将结束;查看协议版本是否匹配,如匹配将解析子升级包头部信息,如不匹配将结束;解析子升级包头部信息后进行解析hw类型、长度和MD5,根据长度获取子升级包内容,查看Hw类型是否匹配;如匹配将进行下一项,如不匹配将获取下一个子升级包,重复步骤三的内容;Hw类型匹配进行校验MD5;进行升级安装结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种能自动适配的通用OTA固件包构建方法,包括以下步骤:
S1:根据技术方案制作通用OTA固件包;
S2:将通用OTA固件包部署到升级服务器;
S3:设备下载升级包并进行升级。
2.根据权利要求1所述的一种能自动适配的通用OTA固件包构建方法,其特征在于,所述S1中通用OTA固件包构成为:magic+version+N*subpackage,Magic为幻数,固定数值0x35675847,用来识别该固件升级包,占用4个字节;Version为该OTA固件包结构版本号,如需扩展或修改该结构可升级该版本号,占用4字节,每个字节代表一位版本号;sub package为该型号各个硬件方案的子OTA固件包信息。
3.根据权利要求2所述的一种能自动适配的通用OTA固件包构建方法,其特征在于,所述sub package构成为:Header+OTA package,所述Header为子OTA固件包的头部信息,所述OTA package为各个硬件方案的OTA固件包。
4.根据权利要求3所述的一种能自动适配的通用OTA固件包构建方法,其特征在于,所述Header的构成为:Hw+Length+ MD5,所述Hw为硬件类型,由各个主要部件组成,占用4字节,每4bit表示一种部件,所述Length为子OTA固件包的长度,长度单位为字节,占4字节,所述Md5为子OTA固件包的MD5校验值,hex类型,占16字节。
5.根据权利要求1所述的一种能自动适配的通用OTA固件包构建方法,其特征在于,所述S3中当需要OTA升级时,设备会解析通用OTA固件包,通过对比hw字段找到属于自己硬件方案的子OTA固件包进行升级。
6.根据权利要求5所述的一种能自动适配的通用OTA固件包构建方法,其特征在于,所述升级流程包括以下步骤:
步骤一:对升级包进行解析,查看magic是否匹配,如匹配将进行下一步,如不匹配将结束;
步骤二:查看协议版本是否匹配,如匹配将解析子升级包头部信息,如不匹配将结束;
步骤三:解析子升级包头部信息后进行解析hw类型、长度和MD5,根据长度获取子升级包内容,查看Hw类型是否匹配;
步骤四:如匹配将进行下一项,如不匹配将获取下一个子升级包,重复步骤三的内容;
步骤五:Hw类型匹配进行校验MD5;
步骤六:进行升级安装结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682127.6A CN113391790A (zh) | 2021-06-20 | 2021-06-20 | 一种能自动适配的通用ota固件包构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682127.6A CN113391790A (zh) | 2021-06-20 | 2021-06-20 | 一种能自动适配的通用ota固件包构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113391790A true CN113391790A (zh) | 2021-09-14 |
Family
ID=77623022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110682127.6A Pending CN113391790A (zh) | 2021-06-20 | 2021-06-20 | 一种能自动适配的通用ota固件包构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391790A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045972A (zh) * | 2019-03-25 | 2019-07-23 | 深圳市友华通信技术有限公司 | Onu在线升级方法和系统 |
-
2021
- 2021-06-20 CN CN202110682127.6A patent/CN113391790A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045972A (zh) * | 2019-03-25 | 2019-07-23 | 深圳市友华通信技术有限公司 | Onu在线升级方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107769949B (zh) | 一种应用组件部署方法及部署节点 | |
CN106371881B (zh) | 一种用于服务器内程序版本更新的方法和系统 | |
EP1779239A1 (en) | Universal upgrade architecture | |
CN111381858B (zh) | 一种应用程序升级方法、服务器及终端设备 | |
US20080005344A1 (en) | Method and system for configuring a network device using a template | |
CN108279922A (zh) | 差分文件生成方法、基于该差分文件的升级方法及系统 | |
CN106549789B (zh) | 一种实现服务器安装的方法及系统 | |
CN101170423A (zh) | 一种面向服务的机群部署方法 | |
CN108089874A (zh) | 软件的升级方法、装置和系统 | |
CN104993947A (zh) | 批量升级固件的方法 | |
CN101000550A (zh) | 一种嵌入式系统远程在线再配置方法 | |
CN108255717B (zh) | 接口自动化测试优化方法、系统、电子设备和存储介质 | |
CN111273924B (zh) | 软件更新方法及装置 | |
US6954929B2 (en) | Method for just-in-time updating of programming parts | |
WO2018201778A1 (zh) | 部署云应用系统的方法及装置 | |
CN108737499A (zh) | 服务器配置方法和装置 | |
CN103838610B (zh) | 一种用于产品软件自动识别主板配置信息的方法 | |
CN106502713A (zh) | 一种软件升级方法和系统 | |
CN110647337A (zh) | 物联网mcu空中固件升级方法 | |
CN103559063A (zh) | 应用程序的更新方法、系统及应用程序系统和参数据配置系统 | |
CN113391790A (zh) | 一种能自动适配的通用ota固件包构建方法 | |
CN111163167A (zh) | 一种系统安装方法及装置 | |
CN112748961A (zh) | 启动任务的执行方法和装置 | |
CN1949718A (zh) | 固件空中传输供应方法 | |
CN113965548A (zh) | 一种存储服务器的硬件驱动更新方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210914 |
|
RJ01 | Rejection of invention patent application after publication |