CN107332589B - 一种基于蓝牙的固件升级装置 - Google Patents
一种基于蓝牙的固件升级装置 Download PDFInfo
- Publication number
- CN107332589B CN107332589B CN201710666766.7A CN201710666766A CN107332589B CN 107332589 B CN107332589 B CN 107332589B CN 201710666766 A CN201710666766 A CN 201710666766A CN 107332589 B CN107332589 B CN 107332589B
- Authority
- CN
- China
- Prior art keywords
- firmware
- bluetooth
- unit
- bluetooth module
- module
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 5
- 230000006978 adaptation Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice 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
-
- 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
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)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于蓝牙的固件升级装置,包括控制器、存储器,蓝牙模块,所述蓝牙模块被配置为与固件进行通讯,并检测固件的版本,向控制器发出更新请求;所述控制器被配置为根据所述蓝牙模块发出的更新请求开放所述存储器的读取权限;所述存储器包括引导单元、升级单元,所述引导单元被配置为初始化固件的硬件运行环境、引导固件升级。本发明基于蓝牙的固件升级模式,提高了升级的便携性,减少了传统升级方式的机械操作,方便灵活,稳定性强。
Description
技术领域
本发明属于通信领域,涉及一种固件升级装置,尤其涉及一种基于蓝牙的固件升级装置。
背景技术
随着嵌入式系统和ARM移动处理器的高速发展,电子设备日趋小型化、智能化,更新换代频繁,特别是近些年智能硬件和可穿戴式设备不断涌现。而市场的需求地不断变化促使智能硬件和可穿戴式设备的固件程序需要不断升级更新。作为常见的固件的升级方法JTAG、ISP、IAP,而JTAG需要专门的下载器,且一般用于软件调试,用于固件升级步骤复杂、程序繁琐。
IAP(In Application Programming,应用编程)是指最终产品出厂后,由用户在使用中对用户程序部分进行编程,实现在线升级。IAP要求将程序分成两部分:引导程序、用户程序。引导部分通常不变,用户程序为用户自定义。
IAP主要采用串口或USB连接PC,然后在电子设备的应用端对使固件系统重启;在系统重启后,程序在启动过程中通过对串口或USB中断进行响应,进入下载模式,然后开始接收数据并进行固件程序升级。
采用该方法需要对设备进行拆卸,在某些场合拆卸的成本高或无法拆卸,例如智能汽车的ECU(Electronic Control Unit电子控制单元)需要将零件从整车上拆卸下来,这样将增加更新的工作量,并且容易对车辆本身造成损坏。随着蓝牙通信技术的普及,越来越多的设备采用蓝牙作为通信方式,相对于USB,串口等物理线路,蓝牙由于通过无线连接,不依赖于硬件线路,所以具备更高的便携性。
发明内容
本发明提供了一种基于蓝牙的固件升级装置,以解决固件升级需要通过机械的拆卸的问题。
为解决上述问题,本发明的具体技术方案为:一种基于蓝牙的固件升级装置,包括控制器、存储器,蓝牙模块,所述蓝牙模块被配置为与固件进行通讯,并检测固件的版本,向控制器发出更新请求;
所述控制器被配置为根据所述蓝牙模块发出的更新请求开放所述存储器的权限;
所述存储器包括引导单元、升级单元,所述引导单元被配置为初始化固件的硬件运行环境、引导固件升级。
在本发明的一个实施例中,所述蓝牙模块还包括检测单元,所述检测单元用于检测固件版本标记,向所述控制器发出更新请求。
在本发明的一个实施例中,所述蓝牙模块还包括蓝牙适配单元。
进一步的,所述蓝牙适配单元包括蓝牙串口适配模块。
在本发明的一个实施例中,所述存储器还包括备份单元,所述备份单元用于存储固件的升级前的初始固件程序。
在本发明的一个实施例中,所述蓝牙模块还包括HCI接口,所述HCI接口用于与上位机进行交互。
在本发明的一个实施例中,所述蓝牙模块还包括YModem模块,所述YModem模块用于与用户固件的数据传输。
本发明的有益效果是:
1.采用蓝牙模块与固件进行通讯,实现了基于蓝牙的固件升级模式,提高了升级的便携性,减少了传统升级方式的机械操作。
2.存储器设有备份单元,提高固件升级装置的稳定性,防止升级失败后无法恢复。
3.人机交互接口提高了固件升级装置的灵活性,用于固件升级的上位机不再局限于传
统的PC机。
附图说明
图1为本发明的结构示意图;
图2为本发明的蓝牙模块结构图之一;
图3为本发明的蓝牙模块结构图之二;
图4为本发明的存储器区域划分结构图;
图5为STM32系列处理器的存储器区域划分图。
附图标记
1.固件升级装置;2.控制器;3.蓝牙模块;31.检测单元 32.蓝牙适配单元 33.HCI接口 4.存储器;41引导单元;42.备份单元;43.升级单元。
具体实施方式
为了更好的理解本发明所提出的技术方案,下面结合附图和具体的实施例对本发明作进一步阐述。
如图1至图4所示,一种基于蓝牙的固件升级装置1,包括控制器2、存储器44,蓝牙模块3,所述蓝牙模块3被配置为与固件进行通讯,并检测固件的版本,向控制器2发出更新请求;
所述控制器2被配置为根据所述蓝牙模块3发出的更新请求开放所述存储器4的读取权限;
所述存储器4包括引导单元41、升级单元43,所述引导单元41被配置为初始化固件的硬件运行环境、引导固件升级。例如,基于ARM架构的处理器内的FLASH分成两部分:主存储块、信息块。主存储块用于存储固件程序,升级程序一般存储在这里。信息块又分成两部分:系统存储器、选项字节。系统存储器存储用于存放在系统存储器自举模式下的启动程序(BootLoader),当使用ISP方式加载程序时,就是由这个程序执行。这个区域由芯片厂写入BootLoader,然后锁死,用户是无法改变这个区域的。选项字节存储芯片的配置信息及对主存储块的保护信息。BootLoader便属于引导单元41。升级单元43主要存储了固件所需升级的程序。
在本发明的一个实施例中,所述蓝牙模块3还包括检测单元31,所述检测单元31用于检测固件版本标记,检测标记可以由根据固件厂家定义或用户自定义。具体地,检测单元根据蓝牙模块接收到的数据与标记数据进行比较,若检测到固件的版本低于存储在的固件升级单元43的版本,则向所述控制器2发出更新请求。所述控制器2根据蓝牙模块3的请求,开放所述存储器4读取权限,蓝牙模块3便可将存储器4的数据传输给待升级的固件。特殊的,存储器可以是固件升级装置的外部存储器。
在本发明的一个实施例中,所述蓝牙模块3还包括蓝牙适配单元32。进一步的,所述蓝牙适配单元32包括蓝牙串口适配模块。蓝牙串口适配模快主要用于用户固件的不同CPU的接口的适配,通常为串口、USB接口。
为防止升级失败而导致固件无法正常运行,在本发明的一个实施例中,所述存储器4还包括备份单元42,所述备份单元42用于存储固件的升级前的初始固件程序。
在本发明的一个实施例中,所述蓝牙模块3还包括HCI接口33,所述HCI接口33用于与上位机进行交互。HCI接口33可以通过蓝牙、WIFI、串口、USB、CAN或以太网的方式与上位机进行交互,上位机不局限于传统的PC机,可以是手机、平板电脑或其他带有上述通讯模块的电子终端设备。
如图5所示,在本发明的一个实施例中,固件以STM32系列处理器为例,该处理器内部的存储器为例,所述存储器4的升级单元43将STM32FLASH分成4部分,第一部分从0x08000000到0x0800FFFF共64K来存放BootLoader程序,第二部分为0x08010000到0x0803FFFF共192K来存放旧App程序,第三部分从0x08040000开始到0x805FFFF共128K来存放升级后的APP程序,剩下的存放程序运行的标志位和其他。
STM32系列的单片机基于Cortex-M4核的,其内部主要通过中断向量表来响应各种中断,内部闪存的起始地址是0x08000000,中断向量表的起始地址是0x8000004。升级时,将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动,当中断来临时STM32的内部硬件机制亦会自动将PC指针定位到“中断向量表”处,并根据中断源取出对应的中断向量执行相应的中断服务程序。
在本发明的一个实施例中,所述蓝牙模块3还包括YModem模块,所述YModem模块用于与用户固件的数据传输。所述YModem模块采用Ymodem协议进行传输,Ymodem协议是一种发送并等待的协议,即发送方发送一个数据包以后,都要等待接收方的确认。如果是ACK信号,则可以发送新的包。如果是NAK信号,则重发或者错误退出。
(1)由接收方发起传输,以第一个大写字母C开启传输。然后进入等待(SOH)状态,如果没有回应,就会超时退出。
(2)发送方开始时处于等待过程中,等待C。收到C以后,发送(SOH)数据包开始信号,发送序号(00),补码(FF),“文件名”,“空字符”“文件大小”“除去序号外,补满128字节”,CRC校验两个字节。进入等待(ACK)状态。
(3)接收方收到数据包后,CRC校验满足,则发送ACK。发送方接收到ACK,又进入等待“文件传输开启”信号,即重新进入等待“C”的状态。
(4)前面接收方只是收到了一个文件名,限制正式开启文件传输,Ymodem支持128字节和1024字节一个数据包。128字节以(SOH)开始,1024字节以(STX)开始。
接收方又发出一个“C”信号,开始准备接收文件。进入等待“SOH”或者“STX”状态。
(5)发送接收到“C”以后,发送数据包,(SOH)(01序号)(FE补码)(128位数据)(CRC校验),等待接收方“ACK”。
(6)文件发送完以后,发送方发出一个“EOT”信号,接收方也以“ACK”回应。
然后接收方会再次发出“C”开启另一次传输,若接着发送方会发出一个“全0数据包”,接收方“ACK”以后,本次通信正式结束。
根据上述说明书中的结构和功能的揭示,本发明所属领域的技术人员还可以将上述实施方式进行变更和修改,以应用于其他领域。因此,虽然本发明只给出了STM32系列CPU的固件升级实例,但本发明并不局限于上面揭示和描述的具体实施方式,对发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
Claims (1)
1.一种基于蓝牙的固件升级装置,包括控制器、存储器,蓝牙模块,其特征在于,所述蓝牙模块被配置为与固件进行通讯,并检测固件的版本,向控制器发出更新请求;
所述控制器被配置为根据所述蓝牙模块发出的更新请求开放所述存储器的读取权限;
所述存储器包括引导单元、升级单元,所述引导单元被配置为初始化固件的硬件运行环境、引导固件升级;
所述蓝牙模块还包括检测单元,所述检测单元用于检测固件版本标记,检测单元根据蓝牙模块接收到的数据与标记数据进行比较,若检测到固件的版本低于存储在的固件升级单元的版本,则向所述控制器发出更新请求;
所述存储器还包括备份单元,所述备份单元用于存储固件的升级前的初始固件程序;
所述蓝牙模块还包括蓝牙适配单元;所述蓝牙适配单元包括蓝牙串口适配模块;
所述蓝牙模块还包括HCI接口,所述HCI接口用于与上位机进行交互;
所述蓝牙模块还包括YModem模块,所述YModem模块用于与用户固件的数据传输,所述YModem模块采用Ymodem协议进行传输,Ymodem协议是一种发送并等待的协议,发送方发送一个数据包以后,都要等待接收方的确认,如果是ACK信号,则可以发送新的包,如果是NAK信号,则重发或者错误退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710666766.7A CN107332589B (zh) | 2017-08-07 | 2017-08-07 | 一种基于蓝牙的固件升级装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710666766.7A CN107332589B (zh) | 2017-08-07 | 2017-08-07 | 一种基于蓝牙的固件升级装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107332589A CN107332589A (zh) | 2017-11-07 |
CN107332589B true CN107332589B (zh) | 2023-02-03 |
Family
ID=60225614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710666766.7A Active CN107332589B (zh) | 2017-08-07 | 2017-08-07 | 一种基于蓝牙的固件升级装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107332589B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021384B (zh) * | 2017-12-13 | 2023-04-25 | 天津城建大学 | 可重复载入控制软件的平衡车控制系统及其软件重载方法 |
CN110855462A (zh) * | 2018-08-21 | 2020-02-28 | 深圳瑞利声学技术股份有限公司 | 一种蓝牙ota固件升级装置 |
CN109640302A (zh) * | 2018-12-06 | 2019-04-16 | 上海荣泰健康科技股份有限公司 | 基于ble蓝牙的程序更新方法、电子设备及移动终端 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040008007A (ko) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | 무선단말기 펌웨어 업그레이드 방법 |
CN103024549A (zh) * | 2012-12-06 | 2013-04-03 | 青岛海信电器股份有限公司 | 一种电视机外部设备的软件升级方法 |
CN104915237A (zh) * | 2015-06-24 | 2015-09-16 | 深圳市兰丁科技有限公司 | 蓝牙设备固件程序的升级、升级控制方法及设备 |
CN105159727A (zh) * | 2015-09-22 | 2015-12-16 | 广东欧珀移动通信有限公司 | 固件升级处理方法、装置和系统 |
CN105740025A (zh) * | 2016-02-04 | 2016-07-06 | 深圳创达云睿智能科技有限公司 | 基于蓝牙的固件程序升级方法和装置 |
CN106775871A (zh) * | 2016-12-19 | 2017-05-31 | 东软集团股份有限公司 | 固件升级方法及设备 |
CN106972961A (zh) * | 2017-03-21 | 2017-07-21 | 上海动联信息技术股份有限公司 | 一种基于蓝牙的安全设备固件升级方法 |
-
2017
- 2017-08-07 CN CN201710666766.7A patent/CN107332589B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040008007A (ko) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | 무선단말기 펌웨어 업그레이드 방법 |
CN103024549A (zh) * | 2012-12-06 | 2013-04-03 | 青岛海信电器股份有限公司 | 一种电视机外部设备的软件升级方法 |
CN104915237A (zh) * | 2015-06-24 | 2015-09-16 | 深圳市兰丁科技有限公司 | 蓝牙设备固件程序的升级、升级控制方法及设备 |
CN105159727A (zh) * | 2015-09-22 | 2015-12-16 | 广东欧珀移动通信有限公司 | 固件升级处理方法、装置和系统 |
CN105740025A (zh) * | 2016-02-04 | 2016-07-06 | 深圳创达云睿智能科技有限公司 | 基于蓝牙的固件程序升级方法和装置 |
CN106775871A (zh) * | 2016-12-19 | 2017-05-31 | 东软集团股份有限公司 | 固件升级方法及设备 |
CN106972961A (zh) * | 2017-03-21 | 2017-07-21 | 上海动联信息技术股份有限公司 | 一种基于蓝牙的安全设备固件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107332589A (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7506087B2 (en) | Method for configuring a Peripheral Component Interconnect Express (PCIE) | |
US20180011718A1 (en) | Re-enumeration of usb 3.0 compatible devices | |
US8352577B2 (en) | Method and apparatus for updating information on an embedded system | |
US6920553B1 (en) | Method and apparatus for reading initial boot instructions from a bootable device connected to the USB port of a computer system | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN106681953B (zh) | 使用i2c总线与主机连接的从机及其通信方法 | |
CN107332589B (zh) | 一种基于蓝牙的固件升级装置 | |
US20060136899A1 (en) | Method for programming/updating software using USB OTG | |
US20070088874A1 (en) | Offload engine as processor peripheral | |
TWI401593B (zh) | 具有觸控面板的電子裝置及觸控面板更新方法 | |
US20100095044A1 (en) | Motherboard system, storage device for booting up thereof and connector | |
CN112947977A (zh) | 一种软件在线升级方法及系统 | |
CN104040519A (zh) | Hid i2c数据总线的主机侧实施 | |
CN111897560A (zh) | 基于NB-IoT模块的程序升级系统、方法、设备以及存储介质 | |
EP2713269B1 (en) | Method for updating data card, personal computer and data card | |
CN110147243A (zh) | 一种多芯片通信方法和系统 | |
CN113360161B (zh) | 资源升级方法及相关产品 | |
KR100801759B1 (ko) | 슬레이브의 디버깅 방법 및 시스템 | |
CN101917395A (zh) | 通用升级方法及装置和系统 | |
EP1394682B1 (en) | Data transfer control device, program and method of fabricating an electronic instrument | |
CN207782809U (zh) | 一种基于蓝牙的固件升级装置 | |
CN210052151U (zh) | 一种双芯片程序更新装置 | |
US20090265580A1 (en) | Error detection method for a computer system, and electronic device | |
CN101562007A (zh) | 可自动更新韧件的显示控制装置及其更新方法 | |
WO2016078222A1 (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230116 Address after: 518000 Tongtaixiang Electric Power Company Complex Building 201, No. 25, Guiyuan Road, Guixiang Community, Guanlan Street, Longhua District, Shenzhen, Guangdong Applicant after: Shenzhen Shengxi Technology Co.,Ltd. Address before: Room A404, Sanqi Innovation Island, No. 19, Hongloulou Building, Liwan District, Guangzhou, Guangdong Province, 510163 Applicant before: Tao Qian |
|
GR01 | Patent grant | ||
GR01 | Patent grant |