CN106383692A - 一种单片机嵌入式设备ota升级方法 - Google Patents
一种单片机嵌入式设备ota升级方法 Download PDFInfo
- Publication number
- CN106383692A CN106383692A CN201610716964.5A CN201610716964A CN106383692A CN 106383692 A CN106383692 A CN 106383692A CN 201610716964 A CN201610716964 A CN 201610716964A CN 106383692 A CN106383692 A CN 106383692A
- Authority
- CN
- China
- Prior art keywords
- program
- boot
- firmware
- zone
- area
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
Abstract
本发明提出一种单片机嵌入式设备OTA升级方法,实现稳定、安全的固件OTA升级,其具体技术内容如下:于存储区定义有BOOT区、程序一区、程序二区和参数区,该BOOT区装载有BOOT程序,用于启动并加载固件程序;该程序一区和程序二区分别用于装载固件程序;该参数区内包含指向程序一区的第一地址,和指向程序二区的第二地址,并设置有指向该第一地址或第二地址的BOOT标识,该BOOT程序根据该BOOT标识加载程序一区或程序二区中的固件程序;BOOT程序将新版本的固件程序下载至非该BOOT标识所指向存储区中,继而检查其完整性;通过完整性检查后修改参数区中的BOOT标识为新版本的固件程序所在存储区地址,重启,该BOOT程序根据更新后的BOOT标识加载新版本的固件程序。
Description
技术领域
本发明涉及一种单片机嵌入式设备OTA升级方法。
背景技术
OTA俗称(Over-the-Air Technology)是通过移动通信(GSM或CDMA)的空中接口对SIM卡数据及应用进行远程管理的技术,空中接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。对于单片机嵌入式设备而言OTA空中升级不仅仅指的是移动通信的方式升级,而是其他途径,比如WIFI,蓝牙等方式,在需要升级的设备在通过对比自身版本与服务器版本后,得知有新版本需要升级时通过下载新的固件替换旧的固件的行为。
现在单片机OTA升级一般是在通过服务器获取到需要升级的信息后跳转至BOOT程序,BOOT程序下载新的固件程序后覆盖旧的固件,升级后复位运行新的固件程序。这种方式存在一定的不稳定性,比如升级过程中断电,会导致需返厂重新烧录新的固件程序。而本发明正是针对这种的不足,重新设计了一种新的结构用于OTA升级,解决原有的弊端。
发明内容
针对背景技术中所提及的缺陷,本发明提出一种单片机嵌入式设备OTA升级方法,实现稳定、安全的固件OTA升级,其具体技术内容如下:
一种单片机嵌入式设备OTA升级方法,其包括如下步骤:
S1、于存储区定义有BOOT区、程序一区、程序二区和参数区,该BOOT区装载有BOOT程序,用于启动并加载固件程序;该程序一区和程序二区分别用于装载固件程序;该参数区内包含指向程序一区的第一地址,和指向程序二区的第二地址,并设置有指向该第一地址或第二地址的BOOT标识,该BOOT程序根据该BOOT标识加载程序一区或程序二区中的固件程序;
S2、BOOT程序运行时会接入服务器并检查是否有新版本的固件程序;如有,则将该新版本的固件程序下载至非该BOOT标识所指向存储区中,继而检查其完整性;否则,继续运行BOOT标识所指向存储区的固件程序;
S21、新版本的固件程序通过完整性检查,则修改参数区中的BOOT标识为新版本的固件程序所在存储区地址,重启,该BOOT程序根据更新后的BOOT标识加载新版本的固件程序;
S22、新版本的固件程离未通过完整性检查,则不执行其它操作。
于本发明的一个或多个实施例当中,该BOOT程序运行时每隔一定时间会接入服务器并检查是否有新版本的固件程序。
本发明的有益效果是:双固件程序存储区的设定使得新版本的固件程序下下载与当前固件程序的运行相互独立,既不影响当前系统的运作,又可保证更新过程的安全、稳定,不会出现由于更新过程中的断电、固件程序损坏等原因而导致的更新失败需要返厂维修的情况。本发明是具备卓越技术性和实用性的方案,适合推广使用。
附图说明
图1为本发明的单片机嵌入式设备OTA升级方法的流程图。
图2为本发明的单片机嵌入式设备的存储空间定义示意图。
具体实施方式
如下结合附图1和2,对本申请方案作进一步描述:
一种单片机嵌入式设备OTA升级方法,其包括如下步骤:
S1、于存储区定义有BOOT区、程序一区、程序二区和参数区,该BOOT区装载有BOOT程序,用于启动并加载固件程序;该程序一区和程序二区分别用于装载固件程序;该参数区内包含指向程序一区的第一地址,和指向程序二区的第二地址,并设置有指向该第一地址或第二地址的BOOT标识,该BOOT程序根据该BOOT标识加载程序一区或程序二区中的固件程序;
S2、BOOT程序运行时每隔一定时间会接入服务器并检查是否有新版本的固件程序;如有,则将该新版本的固件程序下载至非该BOOT标识所指向存储区中,例如当前BOOT标识所指向的是程序一区,则将新版本的固件程序下载至程序二区,继而检查其完整性;否则,继续运行BOOT标识所指向存储区的固件程序;
S21、新版本的固件程序通过完整性检查,则修改参数区中的BOOT标识为新版本的固件程序所在存储区地址,重启,该BOOT程序根据更新后的BOOT标识加载新版本的固件程序;
S22、新版本的固件程离未通过完整性检查,则不执行其它操作。
上述优选实施方式应视为本申请方案实施方式的举例说明,凡与本申请方案雷同、近似或以此为基础作出的技术推演、替换、改进等,均应视为本专利的保护范围。
Claims (2)
1.一种单片机嵌入式设备OTA升级方法,其特征在于包括如下步骤:
S1、于存储区定义有BOOT区、程序一区、程序二区和参数区,该BOOT区装载有BOOT程序,用于启动并加载固件程序;该程序一区和程序二区分别用于装载固件程序;该参数区内包含指向程序一区的第一地址,和指向程序二区的第二地址,并设置有指向该第一地址或第二地址的BOOT标识,该BOOT程序根据该BOOT标识加载程序一区或程序二区中的固件程序;
S2、BOOT程序运行时会接入服务器并检查是否有新版本的固件程序;如有,则将该新版本的固件程序下载至非该BOOT标识所指向存储区中,继而检查其完整性;否则,继续运行BOOT标识所指向存储区的固件程序;
S21、新版本的固件程序通过完整性检查,则修改参数区中的BOOT标识为新版本的固件程序所在存储区地址,重启,该BOOT程序根据更新后的BOOT标识加载新版本的固件程序;
S22、新版本的固件程离未通过完整性检查,则不执行其它操作。
2.根据权利要求1所述的单片机嵌入式设备OTA升级方法,其特征在于:该BOOT程序运行时每隔一定时间会接入服务器并检查是否有新版本的固件程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610716964.5A CN106383692A (zh) | 2016-08-25 | 2016-08-25 | 一种单片机嵌入式设备ota升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610716964.5A CN106383692A (zh) | 2016-08-25 | 2016-08-25 | 一种单片机嵌入式设备ota升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106383692A true CN106383692A (zh) | 2017-02-08 |
Family
ID=57916956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610716964.5A Pending CN106383692A (zh) | 2016-08-25 | 2016-08-25 | 一种单片机嵌入式设备ota升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383692A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102871A (zh) * | 2017-03-30 | 2017-08-29 | 建荣半导体(深圳)有限公司 | 嵌入式系统升级的方法和装置 |
CN107967160A (zh) * | 2017-12-22 | 2018-04-27 | 杭州迪普科技股份有限公司 | 一种通过Boot Loader更新操作系统文件的方法及装置 |
CN109783121A (zh) * | 2019-01-25 | 2019-05-21 | 廊坊新奥燃气设备有限公司 | 一种ota程序升级方法和gprs燃气表 |
CN109992289A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 传感器固件升级方法、装置及设备 |
CN110740443A (zh) * | 2019-12-05 | 2020-01-31 | 上海新微技术研发中心有限公司 | 用于低速率无线通信快速ota的无线通信装置 |
CN111050313A (zh) * | 2019-12-05 | 2020-04-21 | 上海新微技术研发中心有限公司 | 低速率无线通信快速ota的方法 |
WO2021012170A1 (zh) * | 2019-07-23 | 2021-01-28 | 深圳市大疆创新科技有限公司 | 固件启动方法、设备及计算机可读存储介质 |
CN113225397A (zh) * | 2021-05-06 | 2021-08-06 | 深圳沃迪声科技股份有限公司 | 嵌入式设备的固件升级方法、装置、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536488A (zh) * | 2003-04-04 | 2004-10-13 | 上海交大达通电子信息有限公司 | 网络升级嵌入式系统固件的方法 |
CN104915237A (zh) * | 2015-06-24 | 2015-09-16 | 深圳市兰丁科技有限公司 | 蓝牙设备固件程序的升级、升级控制方法及设备 |
-
2016
- 2016-08-25 CN CN201610716964.5A patent/CN106383692A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536488A (zh) * | 2003-04-04 | 2004-10-13 | 上海交大达通电子信息有限公司 | 网络升级嵌入式系统固件的方法 |
CN104915237A (zh) * | 2015-06-24 | 2015-09-16 | 深圳市兰丁科技有限公司 | 蓝牙设备固件程序的升级、升级控制方法及设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102871A (zh) * | 2017-03-30 | 2017-08-29 | 建荣半导体(深圳)有限公司 | 嵌入式系统升级的方法和装置 |
CN107967160A (zh) * | 2017-12-22 | 2018-04-27 | 杭州迪普科技股份有限公司 | 一种通过Boot Loader更新操作系统文件的方法及装置 |
CN107967160B (zh) * | 2017-12-22 | 2021-04-27 | 杭州迪普科技股份有限公司 | 一种通过Boot Loader更新操作系统文件的方法及装置 |
CN109992289A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 传感器固件升级方法、装置及设备 |
CN109783121A (zh) * | 2019-01-25 | 2019-05-21 | 廊坊新奥燃气设备有限公司 | 一种ota程序升级方法和gprs燃气表 |
WO2021012170A1 (zh) * | 2019-07-23 | 2021-01-28 | 深圳市大疆创新科技有限公司 | 固件启动方法、设备及计算机可读存储介质 |
CN110740443A (zh) * | 2019-12-05 | 2020-01-31 | 上海新微技术研发中心有限公司 | 用于低速率无线通信快速ota的无线通信装置 |
CN111050313A (zh) * | 2019-12-05 | 2020-04-21 | 上海新微技术研发中心有限公司 | 低速率无线通信快速ota的方法 |
CN113225397A (zh) * | 2021-05-06 | 2021-08-06 | 深圳沃迪声科技股份有限公司 | 嵌入式设备的固件升级方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106383692A (zh) | 一种单片机嵌入式设备ota升级方法 | |
CN103176824B (zh) | 一种系统升级的方法及装置 | |
CN102520948B (zh) | 应用程序维护更新方法和装置 | |
CN101325513B (zh) | 一种软件升级的方法、设备和系统 | |
CN104066077A (zh) | 一种ota下载升级方法及装置 | |
KR101007739B1 (ko) | Fota 서비스 제공 방법 및 그 시스템 | |
CN104615453A (zh) | 一种地图数据处理方法、装置及系统 | |
CN104199706A (zh) | 一种eMMC的固件升级方法及其设备 | |
CN110727454A (zh) | 智能设备的更新方法及装置、电子设备、存储介质 | |
WO2016058350A1 (zh) | 一种基站软件版本管理方法和设备 | |
CN105335183A (zh) | 一种软件升级方法及系统 | |
CN103324501B (zh) | 无线传感器网络节点软件高效远程更新方法 | |
CN103324507A (zh) | 一种终端预置应用程序更新的方法和装置 | |
CN103179551A (zh) | 一种无线升级的方法及系统 | |
CN109791497B (zh) | 一种执行热补丁的方法、装置及终端 | |
CN103268239B (zh) | 移动终端中应用程序的管理方法、装置和移动终端 | |
CN105335187A (zh) | 一种应用的处理方法及装置 | |
KR101541112B1 (ko) | Fota 시스템 및 그 실행 방법 | |
CN106250196A (zh) | 通过can通讯更新车载启动加载程序的方法 | |
CN104572819A (zh) | 一种垃圾数据的清理方法和系统 | |
CN104077161A (zh) | 一种客户端应用的升级方法及装置 | |
US20180300123A1 (en) | Program release packages including program updates | |
CN104572207A (zh) | 一种基于智能配件的app扩展使用方法及智能配件 | |
CN107566169A (zh) | 一种基于openwrt的固件升级方法及路由器 | |
CN105468422A (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: 20170208 |