CN109918110A - 基于dtu下载板的远程升级方法 - Google Patents
基于dtu下载板的远程升级方法 Download PDFInfo
- Publication number
- CN109918110A CN109918110A CN201910164286.XA CN201910164286A CN109918110A CN 109918110 A CN109918110 A CN 109918110A CN 201910164286 A CN201910164286 A CN 201910164286A CN 109918110 A CN109918110 A CN 109918110A
- Authority
- CN
- China
- Prior art keywords
- data
- mcu
- firmware
- support plate
- burning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004891 communication Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于DTU下载板的远程升级方法,包括读取逻辑过程和烧录逻辑过程,读取逻辑过程中,MCU单元向云端服务器请求固件包长度;在MCU单元内存中开辟4kB数据空间;单次向云端服务器请求256个字节的固件包数据,填充至4kB数据空间;循环执行步骤S03直到4kB数据空间填满;将4kB数据写入FLASH单元;循环执行S03、S04和S05,直到固件包数据接收完成;向云端服务器请求固件包的MD5值;计算接收完成数据的MD5值,并进行比对;比对正确,退出读取逻辑,比对失败,重启读取逻辑;下载板将固件包数据完整存入FLASH后,启动固件烧录逻辑过程,以将固件包数据烧录入目标设备的目标MCU内。该发明具有设计科学、实用性强、利用率高、升级快的优点。
Description
技术领域
本发明涉及了一种基于DTU下载板的远程升级方法。
背景技术
传统嵌入式设备网络升级受限于MCU类型,通常采用在MCU主程序存储地址前,嵌入一段BOOTLOAD代码。该方式通用性差,当目标MCU内部资源较为紧张的情况下,会影响MCU工作性能。且在向服务器请求下载数据包时,设备无法进行正常工作,工作效率低。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供一种设计科学、实用性强、利用率高、升级快的基于DTU下载板的远程升级方法。
为了实现上述目的,本发明所采用的技术方案是:一种基于DTU下载板的远程升级方法,DTU下载板包括MCU单元、FLASH单元、GPRS单元和下载接口,所述MCU单元电性连接所述FLASH单元,所述MCU单元通过所述GPRS单元通信连接云端服务器并通过所述下载接口通信连接目标设备;远程升级过程包括读取逻辑过程和烧录逻辑过程,读取逻辑过程包括以下步骤S01、所述MCU单元向云端服务器请求固件包长度;S02、在所述MCU单元内存中开辟mkB数据空间;S03、单次向云端服务器请求n个字节的固件包数据,填充至mkB数据空间;S04、循环执行步骤S03,直到mkB数据空间填满;S05、将mkB数据一次性写入所述FLASH单元;S06、循环执行步骤S03、步骤S04和步骤S05,直到固件包数据接收完成;S07、向云端服务器请求固件包的MD5值;S08、计算接收完成的数据的MD5值,并将接收数据的MD5值与固件包的MD5值进行比对;S09、比对正确,退出读取逻辑,比对失败,重启读取逻辑;S10、下载板将固件包数据完整存入FLASH后,启动固件烧录逻辑过程,以将固件包数据烧录入目标设备的目标MCU内。
基于上述,所述烧录逻辑过程包括以下步骤:S21、根据目标MCU的类型,通过控制下载接口的GPIO使目标设备进入ISP引导模式;S22、向目标MCU发送引导握手数据;S23、握手成功后,读取目标MCU的ID版本号;S24、擦除目标MCU的芯片原始数据;S25、向目标MCU发送固件包数据并进行烧录升级。
基于上述,烧录完成后,还向目标MCU发送读锁定指令。
基于上述,所述m为4,所述n为256。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,本发明通过DTU下载板配合程序升级,正常状态下目标设备通过DTU下载板进行数据转换以与云端服务器进行数据交换,升级状态下DTU下载板进行固件包缓存,缓存过程不影响目标设备工作,其具有设计科学、实用性强、利用率高、升级快的优点。
附图说明
图1是本发明ARM-M系列内核单片机的烧录流程示意图。
图2是本发明DTU下载板的结构示意框图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
如图1和图2所示,一种基于DTU下载板的远程升级方法,DTU下载板包括MCU单元、FLASH单元、GPRS单元和下载接口,所述MCU单元电性连接所述FLASH单元,所述MCU单元通过所述GPRS单元通信连接云端服务器并通过所述下载接口通信连接目标设备;远程升级过程包括读取逻辑过程和烧录逻辑过程,读取逻辑过程包括以下步骤S01、所述MCU单元向云端服务器请求固件包长度;S02、在所述MCU单元内存中开辟mkB数据空间;S03、单次向云端服务器请求n个字节的固件包数据,填充至mkB数据空间;S04、循环执行步骤S03,直到mkB数据空间填满;S05、将mkB数据一次性写入所述FLASH单元;S06、循环执行步骤S03、步骤S04和步骤S05,直到固件包数据接收完成;S07、向云端服务器请求固件包的MD5值;S08、计算接收完成的数据的MD5值,并将接收数据的MD5值与固件包的MD5值进行比对;S09、比对正确,退出读取逻辑,比对失败,重启读取逻辑;S10、下载板将固件包数据完整存入FLASH后,启动固件烧录逻辑过程,以将固件包数据烧录入目标设备的目标MCU内。实际中,FLASH单元通过SPI总线与MCU单元连接,GPRS单元通过UART与MCU单元连接。下载接口包含一路UART接口和两路GPIO接口,UART接口用于与目标设备之间通信,GPIO接口用于控制目标设备引导模式。本实施例中,所述m为4,所述n为256,也即在MCU单元内存中开辟4KB数据空间,每次向云端服务器请求256个字节长度的固件包数据,填充至4KB数据空间内,多次循环直至将4KB数据空间填满后,将4KB长度的固件包数据写入FLASH单元;循环该过程直至将固件包数据完全写入FLASH单元。由于该读取过程是在下载板与云端服务器之间进行,该读取逻辑过程并不影响目标设备,也即该过程中目标设备正常工作。
优选地,所述烧录逻辑过程包括以下步骤:S21、根据目标MCU的类型,通过控制下载接口的GPIO使目标设备进入ISP引导模式;S22、向目标MCU发送引导握手数据;S23、握手成功后,读取目标MCU的ID版本号,以确定升级目标;S24、擦除目标MCU的芯片原始数据;S25、向目标MCU发送固件包数据并进行烧录升级。
实际中,烧录完成后,还向目标MCU发送读锁定指令,对数据进行读锁定,防止对程序数据误处理。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (4)
1.一种基于DTU下载板的远程升级方法,其特征在于:DTU下载板包括MCU单元、FLASH单元、GPRS单元和下载接口,所述MCU单元电性连接所述FLASH单元,所述MCU单元通过所述GPRS单元通信连接云端服务器并通过所述下载接口通信连接目标设备;远程升级过程包括读取逻辑过程和烧录逻辑过程,读取逻辑过程包括以下步骤
S01、所述MCU单元向云端服务器请求固件包长度;
S02、在所述MCU单元内存中开辟mkB数据空间;
S03、单次向云端服务器请求n个字节的固件包数据,填充至mkB数据空间;
S04、循环执行步骤S03,直到mkB数据空间填满;
S05、将mkB数据一次性写入所述FLASH单元;
S06、循环执行步骤S03、步骤S04和步骤S05,直到固件包数据接收完成;
S07、向云端服务器请求固件包的MD5值;
S08、计算接收完成的数据的MD5值,并将接收数据的MD5值与固件包的MD5值进行比对;
S09、比对正确,退出读取逻辑,比对失败,重启读取逻辑;
S10、下载板将固件包数据完整存入FLASH后,启动固件烧录逻辑过程,以将固件包数据烧录入目标设备的目标MCU内。
2.根据权利要求1所述的基于DTU下载板的远程升级方法,其特征在于,所述烧录逻辑过程包括以下步骤:
S21、根据目标MCU的类型,通过控制下载接口的GPIO使目标设备进入ISP引导模式;
S22、向目标MCU发送引导握手数据;
S23、握手成功后,读取目标MCU的ID版本号;
S24、擦除目标MCU的芯片原始数据;
S25、向目标MCU发送固件包数据并进行烧录升级。
3.根据权利要求2所述的基于DTU下载板的远程升级方法,其特征在于:烧录完成后,还向目标MCU发送读锁定指令。
4.根据权利要求1所述的基于DTU下载板的远程升级方法,其特征在于:所述m为4,所述n为256。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164286.XA CN109918110A (zh) | 2019-03-05 | 2019-03-05 | 基于dtu下载板的远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910164286.XA CN109918110A (zh) | 2019-03-05 | 2019-03-05 | 基于dtu下载板的远程升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109918110A true CN109918110A (zh) | 2019-06-21 |
Family
ID=66963333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910164286.XA Pending CN109918110A (zh) | 2019-03-05 | 2019-03-05 | 基于dtu下载板的远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918110A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404733A (zh) * | 2020-03-06 | 2020-07-10 | 上海钧正网络科技有限公司 | 一种固件管控方法和系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117587B1 (en) * | 2008-06-03 | 2012-02-14 | Richard Paul Testardi | Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems |
CN102662913A (zh) * | 2012-03-29 | 2012-09-12 | 佛山华芯微特科技有限公司 | 用于提高mcu存储性能的方法及其对应的mcu芯片 |
CN103414741A (zh) * | 2013-07-02 | 2013-11-27 | 深圳市汇川技术股份有限公司 | 一种远程升级plc的方法和系统 |
CN103533534A (zh) * | 2013-10-15 | 2014-01-22 | 厦门亿联网络技术股份有限公司 | 一种dect手机的固件无线升级方法 |
CN105955764A (zh) * | 2016-04-22 | 2016-09-21 | 佛山市南海区欧谱曼迪科技有限责任公司 | 一种stm32单片机iap串口程序烧录的改进方法 |
-
2019
- 2019-03-05 CN CN201910164286.XA patent/CN109918110A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117587B1 (en) * | 2008-06-03 | 2012-02-14 | Richard Paul Testardi | Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems |
CN102662913A (zh) * | 2012-03-29 | 2012-09-12 | 佛山华芯微特科技有限公司 | 用于提高mcu存储性能的方法及其对应的mcu芯片 |
CN103414741A (zh) * | 2013-07-02 | 2013-11-27 | 深圳市汇川技术股份有限公司 | 一种远程升级plc的方法和系统 |
CN103533534A (zh) * | 2013-10-15 | 2014-01-22 | 厦门亿联网络技术股份有限公司 | 一种dect手机的固件无线升级方法 |
CN105955764A (zh) * | 2016-04-22 | 2016-09-21 | 佛山市南海区欧谱曼迪科技有限责任公司 | 一种stm32单片机iap串口程序烧录的改进方法 |
Non-Patent Citations (1)
Title |
---|
CAO_YANJIE: ""STM32 ISP烧录过程"", 《HTTPS://BLOG.CSDN.NET/CAO_YANJIE/ARTICLE/DETAILS/76269049》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404733A (zh) * | 2020-03-06 | 2020-07-10 | 上海钧正网络科技有限公司 | 一种固件管控方法和系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201102924A (en) | Embedded electronic device and method for updating firmware thereof | |
CN105867977B (zh) | DSP用户程序升级及Flash下载方法 | |
CN104331312A (zh) | 一种固件升级方法及嵌入式设备 | |
JP2005508547A (ja) | メモリカード上のファームウェアを更新するインシステムプログラムのインプリメンテーション | |
WO2011147114A1 (zh) | Cf接口信息安全设备的工作方法和系统 | |
TWI451248B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
CN109918110A (zh) | 基于dtu下载板的远程升级方法 | |
CN107704260A (zh) | 一种更新应用软件的软件开发工具包的方法及系统 | |
CN105955764A (zh) | 一种stm32单片机iap串口程序烧录的改进方法 | |
US11706287B2 (en) | Information processing system and application services distribution method in information processing system | |
CN109739933A (zh) | 存储空间释放方法、装置、终端及计算机可读存储介质 | |
CN108762797A (zh) | 一种ssd固件在线更新方法、系统及ssd | |
WO2010145478A1 (zh) | 一种片上系统启动的方法和装置 | |
WO2018040971A1 (zh) | 特定硬件配置的终端软件更新的方法及其装置 | |
CN107908417A (zh) | 固件升级方法及电子设备 | |
CN112152846A (zh) | 一种基于物联网的计量仪表远程升级方法 | |
JP3544476B2 (ja) | メモリ管理テーブル作成方法 | |
CN113064730A (zh) | 区块链交易执行方法、区块链节点及控制装置 | |
CN112988819B (zh) | 区块链交易执行方法、区块链节点及控制装置 | |
WO2012034322A1 (zh) | 嵌入式系统内存池配置方法及装置 | |
CN112988818B (zh) | 区块链交易执行方法、区块链节点及控制装置 | |
CN103533534B (zh) | 一种dect手机的固件无线升级方法 | |
CN113112641A (zh) | 车辆ecu刷写方法及车辆诊断仪的下位机 | |
RU2011144841A (ru) | Захват и загрузка состояний операционной системы | |
CN106802790A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |