[发明专利]单片机程序更新方法、系统以及计算机可读存储介质在审
| 申请号: | 201711280906.3 | 申请日: | 2017-12-06 |
| 公开(公告)号: | CN107957881A | 公开(公告)日: | 2018-04-24 |
| 发明(设计)人: | 潘珏良 | 申请(专利权)人: | 广东嘉腾机器人自动化有限公司 |
| 主分类号: | G06F8/654 | 分类号: | G06F8/654;H04L29/06 |
| 代理公司: | 深圳市世纪恒程知识产权代理事务所44287 | 代理人: | 胡海国 |
| 地址: | 528000 广东省佛山市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 单片机 程序 更新 方法 系统 以及 计算机 可读 存储 介质 | ||
技术领域
本发明涉及单片机技术领域,尤其涉及一种单片机程序更新方法、系统以及计算机可读存储介质。
背景技术
如今使用单片机作为控制中心来开发设备的人越来越多,而其中使用stm32单片机的就占了大多数。这是因为stm32的开发库功能强大,极大缩短了开发周期。但是无论是设备开发过程中,还是在设备使用过程中,在更新单片机程序时,需要一系列的接线操作和设置stm32的管脚BOOT0位,有些开发好的产品因为放置在某些设备的内部,从而导致对应的单片机程序更新困难,以及更新流程繁琐。
发明内容
本发明的主要目的在于提供一种单片机程序更新方法、系统以及计算机可读存储介质,旨在解决现有的单片机程序更新困难,以及更新流程繁琐的技术问题。
为实现上述目的,本发明提供一种单片机程序更新方法,所述单片机程序更新方法包括步骤:
当通过单片机应用程序接收到上位机发送的跳转指令后,根据所述跳转指令写单片机程序闪存地址对应的状态值,并跳转到单片机启动程序中,由所述单片机启动程序在接收到所述上位机发送的更新指令后,通过所述状态值检测是否需要更新所述单片机程序;
若确定需要更新所述单片机程序,则由所述单片机启动程序发送提示信息给所述上位机,以供所述上位机在接收到所述提示信息后,发送更新数据包给所述单片机启动程序;
当所述单片机启动程序接收到所述更新数据包,且检验所述更新数据包正确后,则由所述单片机启动程序根据所述更新数据包更新所述单片机程序。
优选地,所述若确定需要更新所述单片机程序,则由所述单片机启动程序发送提示信息给所述上位机,以供所述上位机在接收到所述提示信息后,发送更新数据包给所述单片机启动程序的步骤包括:
若确定需要更新所述单片机程序,则由所述单片机启动程序发送提示信息给所述上位机,以供所述上位机在接收到所述提示信息后,根据所述提示信息将更新数据包拆分成预设长度的子数据包,将所述子数据包发送给所述单片机启动程序;
所述当所述单片机启动程序接收到所述更新数据包,且检验所述更新数据包正确后,则由所述单片机启动程序根据所述更新数据包更新所述单片机程序的步骤包括:
当所述单片机启动程序接收到所述子数据包,且检验所述子数据包正确后,则由所述单片机启动程序根据所述子数据包更新所述单片机程序。
优选地,所述当所述单片机启动程序接收到所述子数据包,且检验所述子数据包正确后,则由所述单片机启动程序根据所述子数据包更新所述单片机程序的步骤包括:
当所述单片机启动程序接收到第一子数据包后,由所述单片机启动程序计算所述第一子数据包的校验码;
将计算所得的校验码与所述第一子数据包中末尾的校验码进行对比;
若计算所得的校验码与所述第一子数据包中末尾的校验码相同,则确认所述第一子数据包正确,并返回第一响应消息给所述上位机;
当所述上位机接收到所述第一响应消息后,由所述上位机发送第二子数据包给所述单片机启动程序;
当所述单片机启动程序接收到所有的子数据包后,由所述单片机启动程序根据所述子数据包更新所述单片机程序。
优选地,所述将计算所得的校验码与所述第一子数据包中末尾的校验码进行对比的步骤之后,还包括:
若计算所得的校验码与所述第一子数据包中末尾的校验码不相同,则返回第二响应消息给所述上位机,以供所述上位机根据所述第二响应消息重新发送所述第一子数据包给所述单片机启动程序。
优选地,所述若确定需要更新所述单片机程序,则由所述单片机启动程序发送提示信息给所述上位机,以供所述上位机在接收到所述提示信息后,根据所述提示信息将更新数据包拆分成预设长度的子数据包,将所述子数据包发送给所述单片机启动程序的步骤之后,还包括:
若所述上位机在预设时间内未接收到所述单片机启动程序接收到所述子数据包后发送的响应消息,则由所述上位机重新发送所述子数据包给所述单片机启动程序。
优选地,所述当所述单片机启动程序接收到所述更新数据包,且检验所述更新数据包正确后,则由所述单片机启动程序根据所述更新数据包更新所述单片机程序的步骤之后,还包括:
当成功更新所述单片机程序后,由所述单片机启动程序擦除所写入的所述闪存地址对应的状态值。
优选地,所述由所述单片机启动程序在接收到所述上位机发送的更新指令后,通过所述状态值检测是否需要更新所述单片机程序的步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东嘉腾机器人自动化有限公司,未经广东嘉腾机器人自动化有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711280906.3/2.html,转载请声明来源钻瓜专利网。





