CN109857433B - 一种单片机软件升级工具和方法 - Google Patents
一种单片机软件升级工具和方法 Download PDFInfo
- Publication number
- CN109857433B CN109857433B CN201910036062.0A CN201910036062A CN109857433B CN 109857433 B CN109857433 B CN 109857433B CN 201910036062 A CN201910036062 A CN 201910036062A CN 109857433 B CN109857433 B CN 109857433B
- Authority
- CN
- China
- Prior art keywords
- software
- target board
- chip microcomputer
- serial port
- single chip
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及一种单片机软件升级工具和方法,按照串口协议通过串口读取目标板单片机信息,获取目标板单片机软件名称、版本信息;查找并读取与目标板单片机软件名称相同的升级文件;然后对比软件版本,如果从U盘读取的软件版本高,则直接按照串口协议通过串口向目标板单片机进行数据传输;如果版本相同或低于目标板的软件版本,则提示是否强制升级,如需要升级,则按键继续升级;目标板单片机由boot程序按照串口协议进行数据接收,对应用程序的原软件进行擦除、写入。本申请的升级工具和方法适用不同品牌类别的单片机的软件升级,而且成本低、操作简单。
Description
技术领域
本申请属于单片机软件升级领域,具体涉及一种单片机软件升级的方法和工具。
背景技术
目前单片机软件升级基本都通过单片机厂家提供的烧录器或市面上一些专用烧录器,这些烧录器只能在固定一种品牌方案类别的单片机上使用,并且烧录器价格较高。不同品牌类别单片机之间升级工具不能兼容。
深圳国人通信股份有限公司的发明专利申请“一种通过USB口升级单片机软件版本的方法”,公开号:CN108572847A。采用的技术方案为:获取与单片机的USB口对应的USB虚拟串口号;从本地获取单片机需要升级的软件版本,并向单片机发送升级开始命令;发送升级数据包。通过USB口实现单片机的软件版本升级。
发明内容
本申请针对现有技术中不同品牌类别单片机之间升级工具不兼容统一,同时成本高、操作麻烦等问题,提出了一种单片机软件升级方法和升级工具。适用于不同品牌类别的单片机的软件升级,而且成本低、升级操作简单。
本申请一方面提供一种单片机软件升级方法,其特征在于,包括以下步骤:
步骤A:按照串口协议通过串口读取目标板单片机信息,获取目标板单片机软件名称、版本信息;
步骤B:通过USB接口在U盘中或者通过无线方式查找并读取与目标板单片机软件名称相同的升级文件;
步骤C:然后对比软件版本,如果读取的软件版本高,则直接按照串口协议通过串口向目标板单片机进行数据传输;如果版本相同或低于目标板的软件版本,则状态指示方式提示是否强制升级,如需要升级,则按键继续升级;
步骤D:目标板单片机由boot程序按照串口协议进行数据接收,对应用程序的原软件进行擦除、写入。
进一步,所述步骤C数据采用分包发送;所述步骤D数据接收采用分包接收。
进一步,所述步骤D数据接收后还进行校验。
进一步,若检验发现问题,数据重新发送。
进一步,还包括步骤E:软件升级完成后,用声音、指示灯或电显示方式进行状态指示。
本申请的另一方面提供一种单片机软件升级工具,其特征在于,包括单片机信息读取模块、升级文件读取模块、数据传输模块:
单片机信息读取模块:通过串口按照串口协议读取目标板单片机信息,获取目标板单片机软件名称、版本信息;
升级文件读取模块:通过USB接口在U盘中或者通过无线方式查找并读取与目标板单片机软件名称相同的升级文件;
数据传输模块:对比软件版本,如果读取的软件版本高,则直接按照串口协议通过串口向目标板单片机进行数据传输;如果版本相同或低于目标板的软件版本,则状态指示方式提示是否强制升级,如需要升级,则按键继续升级;目标板单片机由boot程序按照串口协议进行数据接收,对应用程序的原软件进行擦除、写入。
所述数据传输模块中数据发送采用分包发送;数据接收采用分包接收;数据接收后还进行校验;若所述检验发现问题,数据重新发送。所述软件升级完成后,用声音、指示灯或电显示方式进行状态指示。
有益效果
与现有技术中的升级方法,例如CN108572847A中通过USB接口进行数据传输的升级方法相比,本申请通过USB接口或无线方式读取升级文件,与目标单片机通过串口方式将升级文件数据分包进行传输,每包数据传输后进行检验;目标单片机检测到通讯线上有升级文件后进入boot程序进行自升级,充分保证在升级过程中大数据传输的正确性。升级完成后发指令通知升级工具,并在升级工具上用声、光或电等方式指示升级状态。
本申请的单片机软件升级工具和方法对不同厂家的单片机方案都适用,解决了各方案的升级工具之间不能混用,而需要多种升级工具进行生产、调试和售后维护的不便,降低了设备投入和管理成本。
附图说明
图1:本申请的一种单片机软件升级工具的结构图。
图2:本申请的一种单片机软件升级方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
本实施例具体包括以下步骤:
步骤A:按照串口协议通过串口读取目标板单片机信息,获取目标板单片机软件名称、版本等信息;
步骤B:通过USB接口在U盘中查找并读取与目标板单片机软件名称相同的升级文件;
还可以通过无线方式查找并读取与目标板单片机软件名称相同的升级文件。
步骤C:然后对比软件版本,如果读取的软件版本高,则直接按照串口协议通过串口向目标板单片机进行数据传输;如果版本相同或低于目标板的软件版本,则状态指示方式提示是否强制升级,如需要升级,则按键继续升级;若数据量大可采用分包传输。
步骤D:目标板单片机的软件分为boot(引导)程序和应用程序,由boot程序按照串口协议分包进行数据接收,对应用程序的原软件进行擦除、写入、检验等操作。若检验发现问题,该包数据重新发送,避免数据传输出现问题,目标板单片机软件不能正常工作。
步骤E:软件升级完成后,用声音、指示灯或电显示方式等方式进行状态指示。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是在本发明的发明构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的保护范围内。
Claims (6)
1.一种单片机软件升级方法,应用于升级工具上,包括以下步骤:
步骤A:按照串口协议通过串口读取目标板单片机信息,获取目标板单片机软件名称、版本信息;
步骤B:通过USB接口在U盘中或者通过无线方式查找并读取与目标板单片机软件名称相同的升级文件;
步骤C:然后对比软件版本,如果读取的软件版本高,则直接按照串口协议通过串口采用分包方式向目标板单片机进行数据传输;如果版本相同或低于目标板的软件版本,则提示是否强制升级,如需要升级,则按键继续升级;
其中,所述目标板单片机检测到通讯线上有升级文件后,由boot程序按照串口协议分包进行数据验证和接收,对应用程序的原软件进行擦除、写入。
2.如权利要求1所述的方法,其特征在于,若检验发现问题,数据重新发送。
3.如权利要求1所述的方法,其特征在于,还包括步骤E:软件升级完成后,用声音、指示灯或电显示方式进行状态指示。
4.一种单片机软件升级工具,其特征在于,包括单片机信息读取模块、升级文件读取模块、数据传输模块:
单片机信息读取模块:通过串口按照串口协议读取目标板单片机信息,获取目标板单片机软件名称、版本信息;
升级文件读取模块:通过USB接口在U盘中或通过无线方式查找并读取与目标板单片机软件名称相同的升级文件;
数据传输模块:对比软件版本,如果读取的软件版本高,则直接按照串口协议通过串口采用分包方式向目标板单片机进行数据传输;如果版本相同或低于目标板的软件版本,则提示是否强制升级,如需要升级,则按键继续升级,
其中,所述目标板单片机检测到通讯线上有升级文件后,由boot程序按照串口协议分包进行数据验证和接收,对应用程序的原软件进行擦除、写入。
5.如权利要求4所述的工具,其特征在于,若检验发现问题,数据重新发送。
6.如权利要求4所述的工具,其特征在于,所述软件升级完成后,用声音、指示灯或电显示方式进行状态指示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910036062.0A CN109857433B (zh) | 2019-01-15 | 2019-01-15 | 一种单片机软件升级工具和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910036062.0A CN109857433B (zh) | 2019-01-15 | 2019-01-15 | 一种单片机软件升级工具和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857433A CN109857433A (zh) | 2019-06-07 |
CN109857433B true CN109857433B (zh) | 2022-08-19 |
Family
ID=66894879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910036062.0A Active CN109857433B (zh) | 2019-01-15 | 2019-01-15 | 一种单片机软件升级工具和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857433B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389779A (zh) * | 2019-07-15 | 2019-10-29 | 合肥移瑞通信技术有限公司 | 通信模块的升级方法和升级系统 |
CN111857742A (zh) * | 2020-06-05 | 2020-10-30 | 珠海市运泰利自动化设备有限公司 | 一种在苹果电脑os x系统下串口烧录stm32单片机的方法 |
CN112486515B (zh) * | 2020-11-29 | 2022-09-30 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于1K-XModem协议的FPGA软件在线升级方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005004666A1 (de) * | 2005-02-02 | 2006-08-10 | Csb-System Ag | Informatik-Infrastruktur für die mobile Kommunikation |
CN201518128U (zh) * | 2009-07-27 | 2010-06-30 | 青岛海信电器股份有限公司 | 一种软件升级及调试工具 |
CN102300200A (zh) * | 2011-09-08 | 2011-12-28 | 中兴通讯股份有限公司 | 一种软件版本升级的方法、版本发布设备及移动终端 |
CN102841801A (zh) * | 2012-07-11 | 2012-12-26 | 中兴通讯股份有限公司 | 免驱终端的固件升级方法和装置 |
CN107396188A (zh) * | 2017-09-08 | 2017-11-24 | 北京赛科世纪科技股份有限公司 | 一种机顶盒的升级方法及系统 |
CN108446132A (zh) * | 2018-03-27 | 2018-08-24 | 宁波三星医疗电气股份有限公司 | 一种基于tftp远程更新电力采集终端软件的方法 |
CN109189402A (zh) * | 2018-07-11 | 2019-01-11 | 厦门华联电子股份有限公司 | 产品软件自动烧录系统、方法及烧录服务器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546261B (zh) * | 2012-02-07 | 2015-04-29 | 华为技术有限公司 | 网元升级的方法、网元、服务器及系统 |
CN103399761B (zh) * | 2013-07-22 | 2016-11-23 | 珠海全志科技股份有限公司 | 固件烧录方法及其装置 |
CN106257417B (zh) * | 2015-06-17 | 2021-07-20 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 |
CN107844305A (zh) * | 2016-09-20 | 2018-03-27 | 芯讯通无线科技(上海)有限公司 | 嵌入式设备的软件升级方法及嵌入式设备 |
CN107168739A (zh) * | 2017-05-15 | 2017-09-15 | 万达百汇科技(深圳)有限公司 | Pos机、pos机无线通讯模块固件升级方法及装置 |
CN108768709A (zh) * | 2018-05-18 | 2018-11-06 | 深圳国人通信股份有限公司 | 一种网络设备的串口远程升级方法 |
CN109062790B (zh) * | 2018-07-19 | 2022-04-05 | 北京首汽智行科技有限公司 | 车载终端蓝牙固件的升级测试方法 |
-
2019
- 2019-01-15 CN CN201910036062.0A patent/CN109857433B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005004666A1 (de) * | 2005-02-02 | 2006-08-10 | Csb-System Ag | Informatik-Infrastruktur für die mobile Kommunikation |
CN201518128U (zh) * | 2009-07-27 | 2010-06-30 | 青岛海信电器股份有限公司 | 一种软件升级及调试工具 |
CN102300200A (zh) * | 2011-09-08 | 2011-12-28 | 中兴通讯股份有限公司 | 一种软件版本升级的方法、版本发布设备及移动终端 |
CN102841801A (zh) * | 2012-07-11 | 2012-12-26 | 中兴通讯股份有限公司 | 免驱终端的固件升级方法和装置 |
CN107396188A (zh) * | 2017-09-08 | 2017-11-24 | 北京赛科世纪科技股份有限公司 | 一种机顶盒的升级方法及系统 |
CN108446132A (zh) * | 2018-03-27 | 2018-08-24 | 宁波三星医疗电气股份有限公司 | 一种基于tftp远程更新电力采集终端软件的方法 |
CN109189402A (zh) * | 2018-07-11 | 2019-01-11 | 厦门华联电子股份有限公司 | 产品软件自动烧录系统、方法及烧录服务器 |
Non-Patent Citations (1)
Title |
---|
串口服务器固件更新工具;代码工匠HelloWorld;《https://blog.csdn.net/rtbnythnbth/article/details/79306823》;20180210;1-2 * |
Also Published As
Publication number | Publication date |
---|---|
CN109857433A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857433B (zh) | 一种单片机软件升级工具和方法 | |
CN101110039B (zh) | 终端设备自安装及自启动系统及方法 | |
CN102375786B (zh) | Usb设备自动识别操作系统的方法及系统 | |
CN102902650A (zh) | 数据共享及传输的系统及方法 | |
CN102446141B (zh) | 用于实现写保护控制的装置和方法 | |
CN101452745A (zh) | 一种编程器及其编程方法 | |
CN102945173A (zh) | 用户程序在线升级系统和升级方法 | |
CN101295255B (zh) | 固件更新系统及方法 | |
CN103092648B (zh) | 一种镜像升级方法、系统及用户设备和个人计算机 | |
CN101739322B (zh) | 嵌入式系统的测试装置及方法 | |
CN111756858A (zh) | 嵌入式设备的远程开发处理系统、方法及装置 | |
CN112181460B (zh) | 程序固件升级方法、装置、电子设备及存储介质 | |
CN112380078B (zh) | Usb设备通信测试方法和测试装置 | |
CN101859277A (zh) | 基于uart终端输入字符串命令进行人机交互调试ec的方法 | |
CN103345404B (zh) | 一种ups系统的升级方法及系统 | |
KR20090098472A (ko) | 하이브리드 태그 및 이를 이용하는 방법 | |
CN107894899A (zh) | Rom程序升级系统及升级方法 | |
CN112445670B (zh) | 一种eMMC测试方法和装置 | |
CN101593123A (zh) | 闪存烧录插件的固化方法以及终端设备 | |
CN110795112A (zh) | 一种多路ic烧录方法、装置及系统 | |
CN103309787B (zh) | 一种非标准usb协议兼容性检测方法 | |
CN116009893A (zh) | 软件升级的方法、装置、设备及存储介质 | |
CN212572587U (zh) | Can总线数据采集器及can总线分析系统 | |
CN210348467U (zh) | 一种能更新mcu软件的模块化设计结构 | |
US7818627B2 (en) | Systems and methods for gathering debug information |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |