CN112199101A - 一种基于串口的mcu升级方法、系统、设备及介质 - Google Patents

一种基于串口的mcu升级方法、系统、设备及介质 Download PDF

Info

Publication number
CN112199101A
CN112199101A CN202010909809.1A CN202010909809A CN112199101A CN 112199101 A CN112199101 A CN 112199101A CN 202010909809 A CN202010909809 A CN 202010909809A CN 112199101 A CN112199101 A CN 112199101A
Authority
CN
China
Prior art keywords
mcu
firmware
address
upgrading
serial port
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
CN202010909809.1A
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.)
Fujian Centerm Information Co Ltd
Original Assignee
Fujian Centerm Information Co Ltd
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 Fujian Centerm Information Co Ltd filed Critical Fujian Centerm Information Co Ltd
Priority to CN202010909809.1A priority Critical patent/CN112199101A/zh
Publication of CN112199101A publication Critical patent/CN112199101A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了MCU技术领域的一种基于串口的MCU升级方法、系统、设备及介质,方法包括如下步骤:步骤S10、预设一地址段,基于所述地址段将IAP程序烧录至MCU;步骤S20、IAP程序接收待升级的固件,并将所述固件存储于MCU中;步骤S30、MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。本发明的优点在于:极大的提升了MCU升级的便捷性。

Description

一种基于串口的MCU升级方法、系统、设备及介质
技术领域
本发明涉及MCU技术领域,特别指一种基于串口的MCU升级方法、系统、设备及介质。
背景技术
MCU即微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
随着应用MCU的产品的功能日益完善,MCU的固件也需要同步进行升级。传统上对MCU的固件进行串口烧录升级时,需要先通过MCU的BOOT引脚触发升级模式;当MCU装在机壳内部时,就需要进行拆机操作,异常繁琐,费时费力。因此,如何提供一种基于串口的MCU升级方法、系统、设备及介质,实现提升MCU升级的便捷性,成为一个亟待解决的问题。
发明内容
本发明要解决的技术问题,在于提供一种基于串口的MCU升级方法、系统、设备及介质,实现提升MCU升级的便捷性。
第一方面,本发明提供了一种基于串口的MCU升级方法,包括如下步骤:
步骤S10、预设一地址段,基于所述地址段将IAP程序烧录至MCU;
步骤S20、IAP程序接收待升级的固件,并将所述固件存储于MCU中;
步骤S30、MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。
进一步地,所述步骤S10具体为:
预设一用于存储IAP程序的地址段,将IAP程序通过串口烧录至MCU的FLASH的所述地址段中。
进一步地,所述步骤S20具体为:
预设一起始地址,IAP程序接收待升级的固件,将所述固件转换为bin文件后,从MCU的FLASH的所述起始地址开始进行存储;所述起始地址为地址段的末尾地址加1。
进一步地,所述步骤S30具体为:
将MCU的编译器的起始编译地址修改为所述起始地址,通过编译器对所述bin文件进行编译后,IAP程序自动运行编译后的所述bin文件,完成所述固件的自升级。
第二方面,本发明提供了一种基于串口的MCU升级系统,包括如下模块:
IAP程序烧录模块,用于预设一地址段,基于所述地址段将IAP程序烧录至MCU;
固件存储模块,用于IAP程序接收待升级的固件,并将所述固件存储于MCU中;
固件自升级模块,用于MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。
进一步地,所述IAP程序烧录模块具体为:
预设一用于存储IAP程序的地址段,将IAP程序通过串口烧录至MCU的FLASH的所述地址段中。
进一步地,所述固件存储模块具体为:
预设一起始地址,IAP程序接收待升级的固件,将所述固件转换为bin文件后,从MCU的FLASH的所述起始地址开始进行存储;所述起始地址为地址段的末尾地址加1。
进一步地,所述固件自升级模块具体为:
将MCU的编译器的起始编译地址修改为所述起始地址,通过编译器对所述bin文件进行编译后,IAP程序自动运行编译后的所述bin文件,完成所述固件的自升级。
第三方面,本发明提供了一种基于串口的MCU升级设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种基于串口的MCU升级介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
通过将IAP程序烧录至MCU,再利用IAP程序对接收的待升级的固件进行升级,不必像传统上需要先通过MCU的BOOT引脚触发升级模式,即省去了使用内部固件串口升级的硬件操作,当面对大批量的MCU升级时,可节省大量的人力物力,即极大的提升了MCU升级的便捷性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种基于串口的MCU升级方法的流程图。
图2是本发明一种基于串口的MCU升级系统的结构示意图。
图3是本发明一种基于串口的MCU升级设备的结构示意图。
图4是本发明一种基于串口的MCU升级介质的结构示意图。
具体实施方式
本申请实施例通过提供一种基于串口的MCU升级方法、系统、设备及介质,实现提升MCU升级的便捷性。
本申请实施例中的技术方案,总体思路如下:将IAP程序烧录至MCU,再利用IAP程序对接收的固件进行自动升级,省去通过MCU的BOOT引脚触发升级模式。
实施例一
本实施例提供一种基于串口的MCU升级方法,如图1所示,包括如下步骤:
步骤S10、通过编译软件预设一地址段,基于所述地址段将IAP程序烧录至MCU;例如将所述地址段设为0x8000000~0x8001999;
步骤S20、IAP程序接收待升级的固件(应用程序),并将所述固件存储于MCU中;
步骤S30、MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。
所述步骤S10具体为:
预设一用于存储IAP程序的地址段,将IAP程序通过串口烧录至MCU的FLASH的所述地址段中。
所述步骤S20具体为:
预设一起始地址,IAP程序通过Ymodem协议接收待升级的固件,将所述固件转换为bin文件后,从MCU的FLASH的所述起始地址开始进行存储;所述起始地址为地址段的末尾地址加1。例如所述地址段设为0x8000000~0x8001999时,所述起始地址为0x8002000。
所述步骤S30具体为:
将MCU的编译器的起始编译地址修改为所述起始地址,通过编译器对所述bin文件进行编译后,IAP程序自动运行编译后的所述bin文件,完成所述固件的自升级。
若未修改起始编译地址,则默认从0x8000000进行编译。通过将ROM(rx):ORIGIN=0X8000000代码修改为ROM(rx):ORIGIN=0X8002000,且在main函数的最开头加入SCB->VTOR=0X8002000,则编译器编译完后代码运行时,会从MCU的FLASH的0X8002000地址开始运行,即实现所述固件的自升级。
实施例二
本实施例提供一种基于串口的MCU升级系统,如图2所示,包括如下模块:
IAP程序烧录模块,用于通过编译软件预设一地址段,基于所述地址段将IAP程序烧录至MCU;例如将所述地址段设为0x8000000~0x8001999;
固件存储模块,用于IAP程序接收待升级的固件(应用程序),并将所述固件存储于MCU中;
固件自升级模块,用于MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。
所述IAP程序烧录模块具体为:
预设一用于存储IAP程序的地址段,将IAP程序通过串口烧录至MCU的FLASH的所述地址段中。
所述固件存储模块具体为:
预设一起始地址,IAP程序通过Ymodem协议接收待升级的固件,将所述固件转换为bin文件后,从MCU的FLASH的所述起始地址开始进行存储;所述起始地址为地址段的末尾地址加1。例如所述地址段设为0x8000000~0x8001999时,所述起始地址为0x8002000。
所述固件自升级模块具体为:
将MCU的编译器的起始编译地址修改为所述起始地址,通过编译器对所述bin文件进行编译后,IAP程序自动运行编译后的所述bin文件,完成所述固件的自升级。
若未修改起始编译地址,则默认从0x8000000进行编译。通过将ROM(rx):ORIGIN=0X8000000代码修改为ROM(rx):ORIGIN=0X8002000,且在main函数的最开头加入SCB->VTOR=0X8002000,则编译器编译完后代码运行时,会从MCU的FLASH的0X8002000地址开始运行,即实现所述固件的自升级。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种基于串口的MCU升级设备,如图3所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种基于串口的MCU升级介质,如图4所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
通过将IAP程序烧录至MCU,再利用IAP程序对接收的待升级的固件进行升级,不必像传统上需要先通过MCU的BOOT引脚触发升级模式,即省去了使用内部固件串口升级的硬件操作,当面对大批量的MCU升级时,可节省大量的人力物力,即极大的提升了MCU升级的便捷性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (10)

1.一种基于串口的MCU升级方法,其特征在于:包括如下步骤:
步骤S10、预设一地址段,基于所述地址段将IAP程序烧录至MCU;
步骤S20、IAP程序接收待升级的固件,并将所述固件存储于MCU中;
步骤S30、MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。
2.如权利要求1所述的一种基于串口的MCU升级方法,其特征在于:所述步骤S10具体为:
预设一用于存储IAP程序的地址段,将IAP程序通过串口烧录至MCU的FLASH的所述地址段中。
3.如权利要求1所述的一种基于串口的MCU升级方法,其特征在于:所述步骤S20具体为:
预设一起始地址,IAP程序接收待升级的固件,将所述固件转换为bin文件后,从MCU的FLASH的所述起始地址开始进行存储;所述起始地址为地址段的末尾地址加1。
4.如权利要求3所述的一种基于串口的MCU升级方法,其特征在于:所述步骤S30具体为:
将MCU的编译器的起始编译地址修改为所述起始地址,通过编译器对所述bin文件进行编译后,IAP程序自动运行编译后的所述bin文件,完成所述固件的自升级。
5.一种基于串口的MCU升级系统,其特征在于:包括如下模块:
IAP程序烧录模块,用于预设一地址段,基于所述地址段将IAP程序烧录至MCU;
固件存储模块,用于IAP程序接收待升级的固件,并将所述固件存储于MCU中;
固件自升级模块,用于MCU的编译器对所述固件进行编译后自动运行,完成所述固件的自升级。
6.如权利要求5所述的一种基于串口的MCU升级系统,其特征在于:所述IAP程序烧录模块具体为:
预设一用于存储IAP程序的地址段,将IAP程序通过串口烧录至MCU的FLASH的所述地址段中。
7.如权利要求5所述的一种基于串口的MCU升级系统,其特征在于:所述固件存储模块具体为:
预设一起始地址,IAP程序接收待升级的固件,将所述固件转换为bin文件后,从MCU的FLASH的所述起始地址开始进行存储;所述起始地址为地址段的末尾地址加1。
8.如权利要求7所述的一种基于串口的MCU升级系统,其特征在于:所述固件自升级模块具体为:
将MCU的编译器的起始编译地址修改为所述起始地址,通过编译器对所述bin文件进行编译后,IAP程序自动运行编译后的所述bin文件,完成所述固件的自升级。
9.一种基于串口的MCU升级设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种基于串口的MCU升级介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
CN202010909809.1A 2020-09-02 2020-09-02 一种基于串口的mcu升级方法、系统、设备及介质 Pending CN112199101A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010909809.1A CN112199101A (zh) 2020-09-02 2020-09-02 一种基于串口的mcu升级方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010909809.1A CN112199101A (zh) 2020-09-02 2020-09-02 一种基于串口的mcu升级方法、系统、设备及介质

Publications (1)

Publication Number Publication Date
CN112199101A true CN112199101A (zh) 2021-01-08

Family

ID=74006308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010909809.1A Pending CN112199101A (zh) 2020-09-02 2020-09-02 一种基于串口的mcu升级方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN112199101A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334373A (zh) * 2017-10-16 2018-07-27 深圳市路畅科技股份有限公司 一种多mcu升级的方法及系统
WO2019010761A1 (zh) * 2017-07-12 2019-01-17 西安中兴新软件有限责任公司 一种物联网终端升级方法、装置、系统、终端及存储介质
CN109445823A (zh) * 2018-11-02 2019-03-08 长虹美菱股份有限公司 一种mcu固件快速升级方法
CN109871223A (zh) * 2019-01-17 2019-06-11 南京品畅科技发展有限公司 一种基于stm32单片机的IAP方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019010761A1 (zh) * 2017-07-12 2019-01-17 西安中兴新软件有限责任公司 一种物联网终端升级方法、装置、系统、终端及存储介质
CN108334373A (zh) * 2017-10-16 2018-07-27 深圳市路畅科技股份有限公司 一种多mcu升级的方法及系统
CN109445823A (zh) * 2018-11-02 2019-03-08 长虹美菱股份有限公司 一种mcu固件快速升级方法
CN109871223A (zh) * 2019-01-17 2019-06-11 南京品畅科技发展有限公司 一种基于stm32单片机的IAP方法及系统

Similar Documents

Publication Publication Date Title
US20220317997A1 (en) Online Upgrade Method for Household Appliance Multi-MCU System, Electronic Device and Medium
CN102236621B (zh) 计算机接口信息配置系统及方法
US8527971B2 (en) Parallel program generation method
US8423970B2 (en) Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model
CN103744684A (zh) 一种异构软硬件协同开发的方法及系统
CN101551748B (zh) 一种优化的编译方法
CN112860278A (zh) 一种依赖nodejs统一打包的前端终端工具
CN101980147A (zh) 多线程处理器及其指令执行与同步方法及计算机程序产品
CN101377746A (zh) 排程任务更新系统及方法
CN102455941B (zh) 一种基于范式的多任务调度方法、装置
CN105260184B (zh) 一种恢复镜像文件的调试方法及装置
CN111880507B (zh) 一种交流故障穿越特性在线调试方法、装置及存储介质
CN112199101A (zh) 一种基于串口的mcu升级方法、系统、设备及介质
CN116954699A (zh) 前端工程的依赖检测处理方法及装置
CN109144849B (zh) 一种嵌入式软件调测方法
CN112685095B (zh) 一种虚拟设备的加载方法、装置、设备及存储介质
CN1716182A (zh) 地址创建器和算术电路
CN112148376A (zh) 一种终端启动方法及装置
CN102880457A (zh) 一种对数据进行处理的方法和设备
CN116088869A (zh) 一种面向智能用电终端的操作系统适配方法及系统
CN107479864B (zh) MapReduce计算框架的平台移植方法和装置
CN116755783B (zh) 一种多核芯片启动方法、控制器及系统
CN113568349B (zh) 数据处理方法、装置、终端设备及可读存储介质
CN114428464B (zh) 机器人集群控制交互方法、装置、终端设备及存储介质
CN115145892A (zh) 一种基于go语言的系统升级方法、装置、设备及介质

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: 20210108

RJ01 Rejection of invention patent application after publication