CN110740443A - 用于低速率无线通信快速ota的无线通信装置 - Google Patents
用于低速率无线通信快速ota的无线通信装置 Download PDFInfo
- Publication number
- CN110740443A CN110740443A CN201911231837.6A CN201911231837A CN110740443A CN 110740443 A CN110740443 A CN 110740443A CN 201911231837 A CN201911231837 A CN 201911231837A CN 110740443 A CN110740443 A CN 110740443A
- Authority
- CN
- China
- Prior art keywords
- code
- function
- wireless communication
- sector
- sector block
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 95
- 238000000034 method Methods 0.000 description 10
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种用于低速率无线通信快速OTA的无线通信装置,包括能够重编辑的存储控制器,所述存储控制器用于存储操作系统代码、驱动代码以及功能代码,系统代码存储于第一扇区块,驱动代码存储于第二扇区块,功能代码存储于第三扇区块;第一扇区块与第二扇区块位于第三扇区块之前;固定置于所述第三扇区块首页的指向函数指针体;所述指向函数指针体包括指向各所述功能代码的函数指针,供所述系统代码和所述驱动代码调用和/或更换各所述功能代码。具有有益效果:将系统代码和驱动代码与功能代码分开,并在功能代码前增加实时指向各功能代码的指向函数指针体,供系统代码和驱动代码调用和/或更换功能代码,可快速更新复杂功能固件。
Description
技术领域
本发明涉及一种用于低速率无线通信快速OTA的无线通信装置及其方法,尤其涉及一种将系统和驱动与应用功能分开以对应用功能实时安全更新的无线通信装置及其方法。
背景技术
OTA(over the air)无线更新在现代的诸如智能手机等移动设备中,只简单指通过Wi-Fi或移动宽带及内置于操作系统中的功能获取已分发的软件更新,其中的“air空中”是指无线互联网的应用,而无需用户将设备通过USB连接到计算机才能执行更新,具备OTA功能的设备可以通过无线升级固件,从而节省人力成本去现场升级,从而一些固件升级更新就可以通过OTA服务下载。
许多嵌入式系统部署在人类操作员很难或无法访问的地方。对于物联网应用程序来说尤其如此,物联网应用程序通常数量较大,电池寿命有限,如监视人或机器健康状况的嵌入式系统。并且软件更新越来越快,许多系统都亟需OTA更新提供支持。
OTA更新以新的软件替代了嵌入式系统中单片机或微处理器上的软件。虽然许多人非常熟悉他们的移动设备上的OTA更新,但现有物联网一些仅使用电池供能以及硬件本身性能有效的系统上,如低功耗蓝牙和窄带物联网,如何实现更新软件增加新功能、不导致系统失效带来许多不同的挑战。
现有技术中,低功耗蓝牙BLE和窄带物联网NB-IOT的通讯速率非常低,每秒传输的有效数据只有几百字节,而复杂功能固件通常在几百K甚至上千K字节,使用低速率通讯设备如果升级固件会面临时间过长的问题,通常低功耗蓝牙BLE和窄带物联网NB-IOT又都由电池供电,OTA过程接受数据不能休眠,因此设计一种低速率通信快速OTA的方案势在必行。
发明内容
本发明提供一种用于低速率无线通信快速OTA的无线通信装置及其方法,将系统代码和驱动代码与功能代码分开,并在功能代码前增加实时指向各功能代码的指向函数指针体,供系统代码和驱动代码调用和/或更换功能代码,可快速更新复杂功能固件。
本发明提供一种用于低速率无线通信快速OTA的无线通信装置,包括无线通信模块和能够重编辑的存储控制器,所述存储控制器用于存储操作系统代码、驱动代码以及功能代码,其特征在于,
所述系统代码存储于第一扇区块,所述驱动代码存储于第二扇区块,所述功能代码存储于第三扇区块;
所述第一扇区块与所述第二扇区块位于所述第三扇区块之前;
固定置于所述第三扇区块首页的指向函数指针体;所述指向函数指针体包括指向各所述功能代码的函数指针,供所述系统代码和所述驱动代码调用和/或更换各所述功能代码。
优选地,所述第一扇区块与所述第二扇区块处于同一扇区。
优选地,所述存储控制器还包括备份区域,更换所述功能代码前,将需要更换的所述功能代码下载至所述备份区域。
优选地,所述存储控制器还包括BOOT区域,以更新所述功能代码。
优选地,所述存储控制器是随机存取存储器或者非易失性存储器。
优选地,所述无线通信模块是低功耗蓝牙或者窄带物联网。
优选地,OTA的速度为10~70千字节每分钟。
还提供一种从低速率无线通信快速OTA的方法,包括:
步骤100:下载需要更换的第一功能代码至备份区域;
步骤200:BOOT区域将所述第一功能代码更换至第三扇区块,指向函数指针体固定置于所述第三扇区块首页;所述指向函数指针体包括指向各所述功能代码的函数指针,供系统代码和驱动代码调用和/或更换各所述功能代码,所述系统代码存储于第一扇区块,所述驱动代码存储于第二扇区块,所述功能代码存储于第三扇区块;所述第一扇区块与所述第二扇区块位于所述第三扇区块之前;
步骤300:根据所述第一功能代码在所述第三扇区块地址更新对应的函数指针。
本发明提供一种用于低速率无线通信快速OTA的无线通信装置及其方法,将系统代码和驱动代码与功能代码分开,并在功能代码前增加实时指向各功能代码的指向函数指针体,供系统代码和驱动代码调用和/或更换功能代码,可快速更新复杂功能固件。
附图说明
附图1是传统低速率无线通信设备OTA装置示意图;
附图2是本发明低速率无线通信设备快速OTA装置示意图;
附图3是本发明低速率无线通信设备快速OTA方法流程图。
具体实施方式
下面结合附图对本发明提供用于低速率无线通信快速OTA的无线通信装置及其方法的具体实施方式做详细说明。
在附图中,为了描述方便,层和区域的尺寸比例并非实际比例。当层(或膜)被称为在另一层或衬底“上”时,它可以直接在另一层或衬底上,或者也可以存在中间层。此外,当一层被称为在另一层“下”时,它可以直接在下面,并且也可以存在一个或多个中间层。另外,当层被称为在两个层之间时,它可以是两个层之间的唯一层,或者也可以存在一个或多个中间层。相同的附图标记始终表示相同的元件。另外,当两个部件之间称为“连接”时,包括物理连接,除非说明书明确限定,此种物理连接包括但不限于电连接、接触连接、无线信号连接。
低功耗蓝牙BLE和窄带物联网NB-IOT,因为其通讯速率非常低,每秒传输的有效数据只有几百字节,复杂功能固件通常在几百K甚至上千K字节,这样使用低速率通讯设备如果升级固件会面临时间过长的问题,通常这样设备又都由电池供电,而OTA过程接受数据不能休眠,因此设计一种低速率通信快速OTA的方案势在必行。如图1所示,传统OTA中,系统代码OS与驱动代码DRIVE和功能代码FUNC均放置于代码区2,当需要升级的代码下载后存储在备份区域3,由Boot区域1来更新代码区2完成最终升级。在一些现有OTA技术中,如图2所示,也有将代码区2分为两区块的设计,一个区块存放(上区块)存储系统代码OS与驱动代码DRIVE,但不经常更新;另一个区块(下区块)存储功能代码FUNC,是功能性区域。这样的代码分区在MCU的闪存运行存在问题:就是下区块函数可以调用上区块,因为上区块函数地址不会变更;但上区块调用下区块会出问题,因为如果下区块功能性代码经常更新,下区块函数地址也随之实时变更,上区块不更新下区块功能的函数地址,依然依据之前地址调用,会直接导致程序崩溃。
为解决物联网中低功耗蓝牙BLE和窄带物联网NB-IOT在固件升级时速度慢、易损坏的问题。
本发明提供本发明提供一种用于低速率无线通信快速OTA的无线通信装置,如图2所示,包括无线通信模块和能够重编辑的存储控制器,所述存储控制器用于存储操作系统代码OS、驱动代码DRIVE以及功能代码FUNC,其特征在于,
所述系统代码OS存储于第一扇区块,所述驱动代码DRIVE存储于第二扇区块,所述功能代码FUNC存储于第三扇区块22;
所述第一扇区块与所述第二扇区块位于所述第三扇区块22之前;
固定置于所述第三扇区块22首页的指向函数指针体20;所述指向函数指针体20包括指向各所述功能代码FUNC的函数指针,供所述系统代码OS和所述驱动代码DRIVE调用和/或更换各所述功能代码OS。OTA升级功能代码FUNC后,避免调用功能代码出错。
下面是指向函数指针体的代码:
Const TPYE_FUNC func_attribute_((at(0x08014000)))=
{
.p_startup=startup,
.p_GO_EXTI_Callback=GO_HAL_GPIO_EXTI_Callback,
.p_GO_HAL_RTCEx_WakeUpTimerEventCallback=
GO_HAL_RTCEx_WakeUpTimerEventCallback,
.p_Main_Func=Main_Func,
.p_Init_Func=Init_Func,
.p_Com_Func=Com_Func,
.p_HAL_MspInit=GO_HAL_MspInit,
p_HAL_I2C_MspInit=GO_HAL_I2C_MspInit,
p_HAL_I2C_MspDeInit=GO_HAL_I2C_MspDeInit,
p_HAL_RTC_MspInit=GO_HAL_RTC_MspInit,
p_HAL_RTC_MspDeInit=GO_HAL_RTC_MspDeInit,
p_HAL_UART_MspInit=GO_HAL_UART_MspInit,
p_HAL_UART_MspDeInit=GO_HAL_UART_MspDeInit,
p_HAL_SPI_MspInit=GO_HAL_SPI_MspInit,
p_HAL_SPI_MspDeInit=GO_HAL_SPI_MspDeInit,
p_HAL_ADC_MspInit=GO_HAL_ADC_MspInit,
p_HAL_ADC_MspDeInit=GO_HAL_ADC_MspDeInit,
};
在本实施例中,所述第一扇区块与所述第二扇区块处于同一扇区块21。
在本实施例中,所述存储控制器还包括备份区域3,更换所述功能代码FUNC前,将需要更换的所述功能代码FUNC下载至所述备份区域3。
在本实施例中,所述存储控制器还包括BOOT区域,以更新所述功能代码FUNC。
在本实施例中,所述存储控制器是随机存取存储器或者非易失性存储器。
在本实施例中,所述无线通信模块是低功耗蓝牙BLE或者窄带物联网NB-IOT。
用于BLE,NB-IOT的硬件设备中,代码量在250K字节的固件,传统OTA,BLE需要25分钟,NB-IOT需要60分钟。使用本快速OTA的无线通信装置后,BLE只需要4分钟,NB-IOT需要15分钟。
优选地,OTA的速度为10~70千字节每分钟。
还提供一种从低速率无线通信快速OTA的方法,如图2~3所示,包括:
步骤100:下载需要更换的第一功能代码至备份区域3;
步骤200:BOOT区域将所述第一功能代码FUNC更换至第三扇区块22,指向函数指针体固定置于所述第三扇区块22首页,OTA升级功能代码FUNC后,避免调用功能代码出错;
步骤300:根据所述第一功能代码在所述第三扇区块22的地址更新对应的函数指针,OTA升级功能代码FUNC后,避免调用功能代码出错。
在本实施例中,所述指向函数指针体20包括指向各所述功能代码FUNC的函数指针,供系统代码OS和驱动代码DRIVE调用和/或更换各所述功能代码FUNC,所述系统代码OS存储于第一扇区块,所述驱动代码DRIVE存储于第二扇区块,所述功能代码FUNC存储于第三扇区块22;所述第一扇区块与所述第二扇区块位于所述第三扇区块22之前。
在本实施例中,所述第一扇区块与所述第二扇区块处于同一扇区块21。
本发明提供一种用于低速率无线通信快速OTA的无线通信装置及其方法,将系统代码和驱动代码与功能代码分开,并在功能代码前增加实时指向各功能代码的指向函数指针体,供系统代码和驱动代码调用和/或更换功能代码,可快速更新复杂功能固件。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种用于低速率无线通信快速OTA的无线通信装置,包括无线通信模块和能够重编辑的存储控制器,所述存储控制器用于存储操作系统代码、驱动代码以及功能代码,其特征在于,
所述系统代码存储于第一扇区块,所述驱动代码存储于第二扇区块,所述功能代码存储于第三扇区块;
所述第一扇区块与所述第二扇区块位于所述第三扇区块之前;
固定置于所述第三扇区块首页的指向函数指针体;所述指向函数指针体包括指向各所述功能代码的函数指针,供所述系统代码和所述驱动代码调用和/或更换各所述功能代码。
2.根据权利要求1所述的装置,其特征在于,所述第一扇区块与所述第二扇区块处于同一扇区。
3.根据权利要求1所述的装置,其特征在于,所述存储控制器还包括备份区域,更换所述功能代码前,将需要更换的所述功能代码下载至所述备份区域。
4.根据权利要求3所述的装置,其特征在于,所述存储控制器还包括BOOT区域,以更新所述功能代码。
5.根据权利要求1所述的装置,其特征在于,所述存储控制器是随机存取存储器或者非易失性存储器。
6.根据权利要求1~5所述的装置,其特征在于,所述无线通信模块是低功耗蓝牙或者窄带物联网。
7.根据权利要求6所述的装置,其特征在于,OTA的速度为10~70千字节每分钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911231837.6A CN110740443A (zh) | 2019-12-05 | 2019-12-05 | 用于低速率无线通信快速ota的无线通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911231837.6A CN110740443A (zh) | 2019-12-05 | 2019-12-05 | 用于低速率无线通信快速ota的无线通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110740443A true CN110740443A (zh) | 2020-01-31 |
Family
ID=69274343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911231837.6A Pending CN110740443A (zh) | 2019-12-05 | 2019-12-05 | 用于低速率无线通信快速ota的无线通信装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110740443A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100058301A1 (en) * | 2008-08-26 | 2010-03-04 | Apple Inc. | System and method for branch extraction obfuscation |
US20120272210A1 (en) * | 2011-04-22 | 2012-10-25 | Yang Ni | Methods and systems for mapping a function pointer to the device code |
CN106383692A (zh) * | 2016-08-25 | 2017-02-08 | 中山市天启智能科技有限公司 | 一种单片机嵌入式设备ota升级方法 |
CN106502750A (zh) * | 2016-10-28 | 2017-03-15 | 青岛海信电器股份有限公司 | Ota升级方法及蓝牙芯片 |
-
2019
- 2019-12-05 CN CN201911231837.6A patent/CN110740443A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100058301A1 (en) * | 2008-08-26 | 2010-03-04 | Apple Inc. | System and method for branch extraction obfuscation |
US20120272210A1 (en) * | 2011-04-22 | 2012-10-25 | Yang Ni | Methods and systems for mapping a function pointer to the device code |
CN106383692A (zh) * | 2016-08-25 | 2017-02-08 | 中山市天启智能科技有限公司 | 一种单片机嵌入式设备ota升级方法 |
CN106502750A (zh) * | 2016-10-28 | 2017-03-15 | 青岛海信电器股份有限公司 | Ota升级方法及蓝牙芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103176824B (zh) | 一种系统升级的方法及装置 | |
KR101426710B1 (ko) | 휴대단말기의 버전정보 갱신 장치 및 방법 | |
EP2675110B1 (en) | Method, system and terminal for system update between mobile communication terminals | |
CN101420431B (zh) | Fota服务器、终端及其软件版本的处理方法和系统 | |
US8583907B2 (en) | Electronic device having an alterable configuration and methods of manufacturing and configuring the same | |
KR100679413B1 (ko) | 이동 통신 단말기의 선택적 데이터 복구 방법 및 장치 | |
US20100325622A1 (en) | Updating Firmware of an Electronic Device | |
EP3001309A1 (en) | Application migration method, device and system for mobile terminal | |
CN106708543B (zh) | 一种操作系统的ota升级方法及装置 | |
CN102880495A (zh) | 移动终端及其软件升级方法 | |
US20090254897A1 (en) | Updating firmware on mobile electronice devices | |
CN104066077A (zh) | 一种ota下载升级方法及装置 | |
KR20070082894A (ko) | 이동 단말기 장치 및 소프트 웨어 갱신 방법 | |
CN101778376A (zh) | 一种实现固件无线更新的方法及装置 | |
WO2016058350A1 (zh) | 一种基站软件版本管理方法和设备 | |
CN103324507A (zh) | 一种终端预置应用程序更新的方法和装置 | |
CN102004657B (zh) | 一种电子设备及其升级方法 | |
CN101169719A (zh) | 一种实现数据升级的方法、系统和升级客户端 | |
US8826263B2 (en) | Portable terminal, portable terminal control method, and portable terminal control program | |
CN108121560A (zh) | 差分包升级方法、装置、终端及计算机可读存储介质 | |
CN106445719A (zh) | 恢复模式Recovery指令读写方法及装置 | |
JP2007189332A (ja) | ソフトウェア更新方法および移動端末装置 | |
CN104461621A (zh) | 一种更新属性信息的方法及装置 | |
CN106406903A (zh) | 设备中系统更新的方法和装置 | |
CN110740443A (zh) | 用于低速率无线通信快速ota的无线通信装置 |
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: 20200131 |
|
RJ01 | Rejection of invention patent application after publication |