[发明专利]基于STM32IAP的在线程序更新方法在审
申请号: | 201710085620.3 | 申请日: | 2017-02-17 |
公开(公告)号: | CN106874049A | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 王聪;王超;吴晓磊;杨东方;郭阳阳;翟莹莹;聂晶晶;孔翔飞;陈曙光;朱志光;侯剑平;魏文娟;刘聪 | 申请(专利权)人: | 安图实验仪器(郑州)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 郑州异开专利事务所(普通合伙)41114 | 代理人: | 韩华 |
地址: | 450016 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 stm32iap 在线 程序 更新 方法 | ||
技术领域
本发明涉及在线程序更新方法,尤其是涉及基于STM32 IAP的在线程序更新方法。
背景技术
目前,传统的程序更新方法多为通过仿真器进行下位机电路板的程序更新。通过仿真器进行下位机电路板的程序更新,需要使用专业的仿真器,价格昂贵;程序更新不仅需要使用专业的编程软件,而且需要设定MCU型号,专业性较强;另外此种方式还需要拆卸机箱,所需人力成本较高。
发明内容
本发明目的在于提供一种基于STM32 IAP的在线程序更新方法。
为实现上述目的,本发明采取下述技术方案:
本发明所述基于STM32 IAP的在线程序更新方法,包括下述步骤:
基于STM32IAP的在线程序更新方法,其特征在于:包括下述步骤:
第一步、在上位计算机中加载需要更新程序的下位机电路板的应用程序hex文件并加载需要更新程序的下位机电路板ID,上位计算机解析所述应用程序hex文件结构,从中提取需要写入所述下位机flash的十六进制数据,并从加载的hex文件名中提取所述下位机电路板代号,然后将所述十六进制数据和需要更新程序的下位机电路板ID通过以太网通信传送给微控制器;
第二步、所述微控制器接收到所述上位计算机传送的指令后,开启所述下位机程序更新时序;首先通过CAN指令向需要更新程序的下位机电路板发送查询电路板代号指令,获取所述下位机电路板代号并和第一步中所述的下位机电路板代号进行对比,如果不一致则向上位计算机报告hex文件加载错误,如果一致,则通过CAN指令向所述下位机电路板下发程序更新相关指令;
第三步、所述下位机电路板MCU的flash分为bootloader程序存放区、应用程序存放区、应用程序标志位存放区;所述下位机电路板MCU上电后首先运行bootloader程序,通过bootloader程序接收所述微控制器程序更新相关指令,对本下位机进行flash解锁定、应用程序擦除、应用程序数据下传、应用程序数据校验、flash锁定、应用程序跳转,将所述十六进制数据写入应用程序存放区,每一条指令写入4个字节数据或8个字节数据,并将已写入应用程序存放区的数据进行异或校验,与所述微控制器的校验结果进行对比,一致则校验通过,向应用程序标志位存放区写入更新成功标志字,不一致则校验不通过。
本发明解决了现有通过仿真器进行下位机电路板程序更新所存在的不足。下位机电路板程序需要更新时,工作人员只需使用U盘携带需更新的下位机电路板的程序hex文件,直接在上位计算机上进行操作,通过以太网、CAN通信进行下位机电路板的程序更新,方便快捷。具体表现为:
1、本发明通过对比从加载的hex文件的文件名中提取的电路板代号与向需要更新程序的下位机电路板发送查询电路板代号指令获取电路板代号,检验加载的hex文件是否正确,解决了由于人为加载hex文件错误导致的程序更新错误问题。
2、本发明通过在程序更新过程中解锁flash、在程序更新完毕后锁定flash,避免了存放程序的flash被误擦除的风险。
附图说明
图1是本发明的硬件构架示意图。
图2是本发明所述下位机电路板MCU的flash空间分配图。
图3是本发明所述下位机电路板bootloader程序流程图。
具体实施方式
下面结合附图对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述实施例。
本发明所述基于STM32 IAP的在线程序更新方法,硬件设备如图1所示,由上位计算机、微控制器、STM32下位机电路板构成。上位计算机主要加载和解析需要更新的下位机电路板的应用程序hex文件、加载需要更新程序的下位机电路板ID、从加载的hex文件名中提取电路板代号,将数据和控制指令传输给微控制器;微控制器接收上位计算机下发的指令后,检验加载的hex是否正确,并通过CAN指令向下位机电路板下发程序更新相关指令;下位机电路板接收微控制器程序更新相关指令后,将十六进制数据写入(烧录至)应用程序存放区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安图实验仪器(郑州)有限公司,未经安图实验仪器(郑州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710085620.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用程序自启动的处理方法、装置及移动终端
- 下一篇:一种系统自动升级方法