CN111050313A - 低速率无线通信快速ota的方法 - Google Patents

低速率无线通信快速ota的方法 Download PDF

Info

Publication number
CN111050313A
CN111050313A CN201911231685.XA CN201911231685A CN111050313A CN 111050313 A CN111050313 A CN 111050313A CN 201911231685 A CN201911231685 A CN 201911231685A CN 111050313 A CN111050313 A CN 111050313A
Authority
CN
China
Prior art keywords
code
function
sector block
ota
sector
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
Application number
CN201911231685.XA
Other languages
English (en)
Inventor
张廷禄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Industrial Utechnology Research Institute
Original Assignee
Shanghai Industrial Utechnology Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Industrial Utechnology Research Institute filed Critical Shanghai Industrial Utechnology Research Institute
Priority to CN201911231685.XA priority Critical patent/CN111050313A/zh
Publication of CN111050313A publication Critical patent/CN111050313A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

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)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种低速率无线通信快速OTA的方法,包括:步骤100:下载需要更换的第一功能代码至备份区域;步骤200:BOOT区域将所述第一功能代码更换至第三扇区块,指向函数指针体固定置于所述第三扇区块首页;步骤300:根据所述第一功能代码在所述第三扇区块地址更新对应的函数指针。具有有益效果:将系统代码和驱动代码与功能代码分开,并在功能代码前增加实时指向各功能代码的指向函数指针体,供系统代码和驱动代码调用和/或更换功能代码,可快速更新复杂功能固件。

Description

低速率无线通信快速OTA的方法
技术领域
本发明涉及一种用于低速率无线通信快速OTA的无线通信装置及低速率无线通信快速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 (2)

1.一种低速率无线通信快速OTA的方法,包括:
步骤100:下载需要更换的第一功能代码至备份区域;
步骤200:BOOT区域将所述第一功能代码更换至第三扇区块,指向函数指针体固定置于所述第三扇区块首页;
步骤300:根据所述第一功能代码在所述第三扇区块地址更新对应的函数指针。
2.根据权利要求8所述的方法,其特征在于,所述指向函数指针体包括指向各所述功能代码的函数指针,供系统代码和驱动代码调用和/或更换各所述功能代码,所述系统代码存储于第一扇区块,所述驱动代码存储于第二扇区块,所述功能代码存储于第三扇区块;所述第一扇区块与所述第二扇区块位于所述第三扇区块之前。
CN201911231685.XA 2019-12-05 2019-12-05 低速率无线通信快速ota的方法 Pending CN111050313A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911231685.XA CN111050313A (zh) 2019-12-05 2019-12-05 低速率无线通信快速ota的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911231685.XA CN111050313A (zh) 2019-12-05 2019-12-05 低速率无线通信快速ota的方法

Publications (1)

Publication Number Publication Date
CN111050313A true CN111050313A (zh) 2020-04-21

Family

ID=70234633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911231685.XA Pending CN111050313A (zh) 2019-12-05 2019-12-05 低速率无线通信快速ota的方法

Country Status (1)

Country Link
CN (1) CN111050313A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211265A (zh) * 2006-12-28 2008-07-02 英华达(上海)电子有限公司 一种终端嵌入式系统的软件更新方法和装置
CN106383692A (zh) * 2016-08-25 2017-02-08 中山市天启智能科技有限公司 一种单片机嵌入式设备ota升级方法
CN106502750A (zh) * 2016-10-28 2017-03-15 青岛海信电器股份有限公司 Ota升级方法及蓝牙芯片
CN109558160A (zh) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 升级方法、嵌入式系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211265A (zh) * 2006-12-28 2008-07-02 英华达(上海)电子有限公司 一种终端嵌入式系统的软件更新方法和装置
CN106383692A (zh) * 2016-08-25 2017-02-08 中山市天启智能科技有限公司 一种单片机嵌入式设备ota升级方法
CN106502750A (zh) * 2016-10-28 2017-03-15 青岛海信电器股份有限公司 Ota升级方法及蓝牙芯片
CN109558160A (zh) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 升级方法、嵌入式系统

Similar Documents

Publication Publication Date Title
KR101426710B1 (ko) 휴대단말기의 버전정보 갱신 장치 및 방법
EP3109762B1 (en) Electronic device having external memory and method for operating the same
US8364942B2 (en) Electronic device having an alterable configuration and methods of manufacturing and configuring the same
CN100517226C (zh) 一种实现数据升级的方法、系统和升级客户端
KR20050041604A (ko) 소프트웨어 다운로드를 위한 임베디드 시스템을 구비한이동통신단말기 및 소프트웨어 다운로드 방법
CN103631674A (zh) 嵌入cpu的fpga及其启动方法
WO2009074444A2 (en) Updating firmware of an electronic device
CN103197939A (zh) 在混合计算系统中更新固件
CN106020861A (zh) 一种智能手表的fota升级方法及系统
CN107924160A (zh) 具有可旋转结构的电子装置
KR20200090010A (ko) 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체
CN104657161A (zh) 移动终端固件更新方法及装置
CN109582372B (zh) 一种系统的启动方法及装置
US20160266838A1 (en) Method and electronic device for initializing memory and updating firmware
CN108121560A (zh) 差分包升级方法、装置、终端及计算机可读存储介质
US20210034354A1 (en) Electronic device and method for controlling update of electronic device
US8826263B2 (en) Portable terminal, portable terminal control method, and portable terminal control program
KR20160122413A (ko) 전자 장치 및 전자 장치의 파일 리드 및 라이트 방법
EP1732297A1 (en) Processor controlled device with different operation modes
CN106445719A (zh) 恢复模式Recovery指令读写方法及装置
US20140258699A1 (en) Boot fault tolerant device and method thereof
CN111399874A (zh) 一种系统升级方法、装置、存储介质及智能穿戴设备
CN116737195A (zh) 操作系统的升级方法、电子设备及存储介质
CN111050313A (zh) 低速率无线通信快速ota的方法
CN101500330A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200421

WD01 Invention patent application deemed withdrawn after publication