一种MCU程序远程升级防失败方法与流程

未命名 07-23 阅读:114 评论:0

一种mcu程序远程升级防失败方法
技术领域
1.发明涉及mcu程序升级技术领域,尤其是涉及一种mcu程序远程升级防失败方法。


背景技术:

2.物联网系统通常包括服务器、与服务器进行光纤或无线通信连接的上位机、与上位机进行串口通信并连接电子元器件的mcu。
3.mcu也就是微控制器,又称单片机,是一种芯片级计算机,广泛应用在电子产品上。常规的mcu程序是出厂前烧录完成的,如果在使用时发现mcu出现bug,则需要返厂重新烧录。部分mcu可远程升级,例如cn202011245052所公开的一种高可靠性mcu远程升级系统和方法,该方法是通过mcu存储两个mcu程序实现避免出现mcu程序升级失败的问题,该方法增加了mcu存储空间的使用,对mcu的存储空间性能要求高,而且通过串口向mcu烧录两个mcu程序,其烧录速度也较慢。


技术实现要素:

4.发明的目的在于提供一种对mcu的存储空间性能要求底,可以降低生产时间成本的mcu程序远程升级防失败方法。
5.本发明提供了一种mcu程序远程升级防失败方法,所述方法涉及的部件包括服务器、与服务器通信连接的上位机和与所述上位机通信连接的mcu;其特征在于,上位机程序中备份有app1安装包,服务器中存储有app2安装包;mcu包括一个app程序存储区;所述方法包括:上位机向服务器拉取app2安装包并下发到mcu的app程序存储区用于mcu程序升级,若mcu程序升级失败,则上位机将app1安装包下发到mcu的app程序存储区。
6.本发明的有益效果是:mcu只需一个app程序存储区就能避免mcu升级失败,且可以远程升级。mcu程序通常较小,一般在10kb以内,不同大小存储空间的mcu其价格也不同,但上位机通常拥有数十gb存储空间,拥有大量富余空间,将app1安装包备份到上位机中一般并不需要对上位机扩容,但如果将app1备份到mcu中通常情况下需要更换价格更高的mcu。故本方法可以降低成本。此外,mcu中的程序一般是出厂前烧录完成的,烧录两个mcu程序一般会比烧录一个mcu程序用时长,故可以降低生产时间成本。
7.进一步,所述方法包括以下步骤:
8.s1,服务器获取app2安装包和需要更新mcu程序的设备的唯一标识,并发布新的版本公告;
9.s2,上位机判断是否需要更新mcu程序;如需更新则进入下一步骤,如不需要更新则程序终止;
10.s3,上位机向服务器下载app2安装包;
11.s4,上位机将下载的app2安装包下发到mcu的app程序存储区用于mcu程序升级;
12.s5,上位机判断mcu程序是否正确安装,如果mcu程序正确安装,则程序终止;如果mcu程序未能正确安装,则进入下一步骤;
13.s6,上位机调用本地app1安装包下发到mcu的app程序存储区,并再次执行s5步骤。
14.采用上述进一步方案的有益效果是:避免因为mcu程序bug或者mcu程序更新失败造成的返厂。
15.进一步,所述s1步骤具体包括以下内容:上位机向mcu拉取当前mcu程序版本信息;上位机每次联网向服务器上报上位机和mcu信息;服务器通过后端管理平台获取app2安装包并进行md5校验;服务器根据mcu信息与app2安装包进行匹配;后端管理平台向服务器获取需要更新mcu程序的设备的唯一标识并展示,服务器通过后端管理平台获取对应设备发布新版本的指令,并更新对应设备的mcu的程序版本公告。
16.采用上述进一步方案的有益效果是:mcu程序更新时,服务商通过后端管理平台上传app2安装包,其中app2安装包包含有其对应的mcu厂商信息和硬件版本信息,服务器根据从上位机上报的mcu厂商信息和硬件版本信息确定可以更新mcu程序的设备的唯一标识,并将可更新mcu程序的设备在后端管理平台展示。服务商根据业务需求可选择的通过后端管理平台对各设备发布mcu程序更新的指令,服务器根据服务商的指令发布mcu程序更新公告。智能化和多样化高。
17.进一步,所述mcu信息包括mcu的厂商信息和硬件版本信息。
18.采用上述进一步方案的有益效果是:适配采用不同厂商配置的同版本硬件的mcu程序更新。
19.进一步,所述s2步骤具体包括以下内容:上位机联网或者收到更新指令后向服务器拉取app2安装包的版本号;并判断当前mcu程序版本号是否小于app2安装包的版本号,如果当前mcu程序版本号小于app2安装包的版本号则进入s3步骤,如果是当前mcu程序的版本号大于或等于app2安装包的版本号,本则程序终止。
20.采用上述进一步方案的有益效果是:有两种情况:一种是联网完成后提示更新,此时设备未执行任务,可以进行mcu升级;第二种是用户主动获取版本信息,整体方案合理。
21.进一步,所述s3步骤具体为:上位机向服务器下载app2安装包到本地目录,并进行md5和0kb校验,如果校验不通过则重新执行s3步骤,如果校验通过则进入s4步骤。
22.采用上述进一步方案的有益效果是:避免app2在从服务器下发到上位机过程中出现错误。
23.进一步,所述s4步骤具体为:上位机向mcu推送app2安装包;mcu先清空app程序存储区,然后将app2安装到app程序存储区;mcu完成app2的安装后向上位机发送消息,上位机在向mcu推送完app2安装包后6秒内未收到mcu返回的正确安装消息或收到mcu返回的报错消息则重新执行s3步骤和s4;如果上位机在向mcu推送完app2安装包后6秒内收到mcu返回的正确安装消息则进入s5步骤。
24.采用上述进一步方案的有益效果是:避免出现app2安装包的安装错误问题或者从上位机到mcu的数据传输过程中数据丢失问题。
25.进一步,所述s5步骤具体为:上位机重启,mcu向上位机上报信息;如果mcu正常上报则程序终止;如果mcu上报错误信息,则进入s6步骤。
26.采用上述进一步方案的有益效果是:避免重新启动后mcu程序错误。
27.进一步,所述s6步骤具体为:上位机将内置app1复制到本地文件中,并进行0kb校验,校验不通过重新执行s6步骤,校验通过后上位机将app1安装包下发到mcu的app程序存
储区;并再次执行s5步骤。。
28.采用上述进一步方案的有益效果是:避免出现上位机重启后mcu不能使用的问题。
附图说明
29.图1为本发明的流程图。
具体实施方式
30.以下结合实施方式对发明作进一步的说明。
31.如图1所示:本实施例公开了一种mcu程序远程升级防失败方法,所述方法涉及的部件包括服务器、与服务器通信连接的上位机和与所述上位机通信连接的mcu;其特征在于,上位机程序中备份有app1安装包,服务器中存储有app2安装包;mcu包括一个app程序存储区;所述方法包括:上位机向服务器拉取app2安装包并下发到mcu的app程序存储区用于mcu程序升级,若mcu程序升级失败,则上位机将app1安装包下发到mcu的app程序存储区。
32.所述方法包括以下步骤:
33.s1,服务器获取app2安装包和需要更新mcu程序的设备的唯一标识,并发布新的版本公告。
34.所述s1步骤具体包括以下内容:上位机向mcu拉取当前mcu程序版本信息;上位机每次联网向服务器上报上位机和mcu信息;服务器通过后端管理平台获取app2安装包并进行md5校验;服务器根据mcu信息与app2安装包进行匹配;后端管理平台向服务器获取需要更新mcu程序的设备的唯一标识并展示,服务器通过后端管理平台获取对应设备发布新版本的指令,并更新对应设备的mcu的程序版本公告。mcu程序更新时,服务商通过后端管理平台上传app2安装包,其中app2安装包包含有其对应的mcu厂商信息和硬件版本信息,服务器根据从上位机上报的mcu厂商信息和硬件版本信息确定可以更新mcu程序的设备的唯一标识,并将可更新mcu程序的设备在后端管理平台展示。服务商根据业务需求可选择的通过后端管理平台对各设备发布mcu程序更新的指令,服务器根据服务商的指令发布mcu程序更新公告。智能化和多样化高。所述mcu信息包括mcu的厂商信息和硬件版本信息。适配采用不同厂商配置的同版本硬件的mcu程序更新。
35.s2,上位机判断是否需要更新mcu程序;如需更新则进入下一步骤,如不需要更新则程序终止。
36.所述s2步骤具体包括以下内容:上位机联网或者收到更新指令后向服务器拉取app2安装包的版本号;并判断当前mcu程序版本号是否小于app2安装包的版本号,如果当前mcu程序版本号小于app2安装包的版本号则进入s3步骤,如果是当前mcu程序的版本号大于或等于app2安装包的版本号,本则程序终止。有两种情况:一种是联网完成后提示更新,此时设备未执行任务,可以进行mcu升级;第二种是用户主动获取版本信息,整体方案合理。
37.s3,上位机向服务器下载app2安装包。
38.所述s3步骤具体为:上位机向服务器下载app2安装包到本地目录,并进行md5和0kb校验,如果校验不通过则重新执行s3步骤,如果校验通过则进入s4步骤。避免app2在从服务器下发到上位机过程中出现错误。
39.s4,上位机将下载的app2安装包下发到mcu的app程序存储区用于mcu程序升级。
40.所述s4步骤具体为:上位机向mcu推送app2安装包;mcu先清空app程序存储区,然后将app2安装到app程序存储区;mcu完成app2的安装后向上位机发送消息,上位机在向mcu推送完app2安装包后6秒内未收到mcu返回的正确安装消息或收到mcu返回的报错消息则重新执行s3步骤和s4;如果上位机在向mcu推送完app2安装包后6秒内收到mcu返回的正确安装消息则进入s5步骤。避免出现app2安装包的安装错误问题或者从上位机到mcu的数据传输过程中数据丢失问题。
41.s5,上位机判断mcu程序是否正确安装,如果mcu程序正确安装,则程序终止;如果mcu程序未能正确安装,则进入下一步骤。
42.所述s5步骤具体为:上位机重启,mcu向上位机上报信息;如果mcu正常上报则程序终止;如果mcu上报错误信息,则进入s6步骤。避免重新启动后mcu程序错误。
43.s6,上位机调用本地app1安装包下发到mcu的app程序存储区,并再次执行s5步骤。
44.所述s6步骤具体为:上位机将内置app1复制到本地文件中,并进行0kb校验,校验不通过重新执行s6步骤,校验通过后上位机将app1安装包下发到mcu的app程序存储区;并再次执行s5步骤。避免出现上位机重启后mcu不能使用的问题。
45.本发明的有益效果是:mcu只需一个app程序存储区就能避免mcu升级失败,且可以远程升级。mcu程序通常较小,一般在10kb以内,不同大小存储空间的mcu其价格也不同,但上位机通常拥有数十gb存储空间,拥有大量富余空间,将app1安装包备份到上位机中一般并不需要对上位机扩容,但如果将app1备份到mcu中通常情况下需要更换价格更高的mcu。故本方法可以降低成本。此外,mcu中的程序一般是出厂前烧录完成的,烧录两个mcu程序一般会比烧录一个mcu程序用时长,故可以降低生产时间成本。避免因为mcu程序bug或者mcu程序更新失败造成的返厂。

技术特征:
1.一种mcu程序远程升级防失败方法,所述方法涉及的部件包括服务器、与服务器通信连接的上位机和与所述上位机通信连接的mcu;其特征在于,上位机程序中备份有app1安装包,服务器中存储有app2安装包;mcu包括一个app程序存储区;所述方法包括:上位机向服务器拉取app2安装包并下发到mcu的app程序存储区用于mcu程序升级,若mcu程序升级失败,则上位机将app1安装包下发到mcu的app程序存储区。2.根据权利要求1所述的一种mcu程序远程升级防失败方法,其特征在于,所述方法包括以下步骤:s1,服务器获取app2安装包和需要更新mcu程序的设备的唯一标识,并发布新的版本公告;s2,上位机判断是否需要更新mcu程序;如需更新则进入下一步骤,如不需要更新则程序终止;s3,上位机向服务器下载app2安装包;s4,上位机将下载的app2安装包下发到mcu的app程序存储区用于mcu程序升级;s5,上位机判断mcu程序是否正确安装,如果mcu程序正确安装,则程序终止;如果mcu程序未能正确安装,则进入s6步骤;s6,上位机调用本地app1安装包下发到mcu的app程序存储区,并再次执行s5步骤。3.根据权利要求2所述的一种mcu程序远程升级防失败方法,其特征在于,所述s1步骤具体包括以下内容:上位机向mcu拉取当前mcu程序版本信息;上位机每次联网向服务器上报上位机和mcu信息;服务器通过后端管理平台获取app2安装包并进行md5校验;服务器根据mcu信息与app2安装包进行匹配;后端管理平台向服务器获取需要更新mcu程序的设备的唯一标识并展示,服务器通过后端管理平台获取对应设备发布新版本的指令,并更新对应设备的mcu的程序版本公告。4.根据权利要求3所述的一种mcu程序远程升级防失败方法,其特征在于,所述mcu信息包括mcu的厂商信息和硬件版本信息。5.根据权利要求2所述的一种mcu程序远程升级防失败方法,其特征在于,所述s2步骤具体包括以下内容:上位机联网或者收到更新指令后向服务器拉取app2安装包的版本号;并判断当前mcu程序版本号是否小于app2安装包的版本号,如果当前mcu程序版本号小于app2安装包的版本号则进入s3步骤,如果是当前mcu程序的版本号大于或等于app2安装包的版本号,本则程序终止。6.根据权利要求2所述的一种mcu程序远程升级防失败方法,其特征在于,所述s3步骤具体为:上位机向服务器下载app2安装包到本地目录,并进行md5和0kb校验,如果校验不通过则重新执行s3步骤,如果校验通过则进入s4步骤。7.根据权利要求2所述的一种mcu程序远程升级防失败方法,其特征在于,所述s4步骤具体为:上位机向mcu推送app2安装包;mcu先清空app程序存储区,然后将app2安装到app程序存储区;mcu完成app2的安装后向上位机发送消息,上位机在向mcu推送完app2安装包后6秒内未收到mcu返回的正确安装消息或收到mcu返回的报错消息则重新执行s3步骤和s4;如果上位机在向mcu推送完app2安装包后6秒内收到mcu返回的正确安装消息则进入s5步骤。8.根据权利要求2所述的一种mcu程序远程升级防失败方法,其特征在于,所述s5步骤具体为:上位机重启,mcu向上位机上报信息;如果mcu正常上报则程序终止;如果mcu上报错
误信息,则进入s6步骤。9.根据权利要求2所述的一种mcu程序远程升级防失败方法,其特征在于,所述s6步骤具体为:上位机将内置app1复制到本地文件中,并进行0kb校验,校验不通过重新执行s6步骤,校验通过后上位机将app1安装包下发到mcu的app程序存储区;并再次执行s5步骤。

技术总结
发明提供了一种MCU程序远程升级防失败方法,所述方法涉及的部件包括服务器、与服务器通信连接的上位机和与所述上位机通信连接的MCU;其特征在于,上位机程序中备份有APP1安装包,服务器中存储有APP2安装包;MCU包括一个APP程序存储区;所述方法包括:上位机向服务器拉取APP2安装包并下发到MCU的APP程序存储区用于MCU程序升级,若MCU程序升级失败,则上位机将APP1安装包下发到MCU的APP程序存储区。对MCU的存储空间性能要求底,可以降低生产时间成本的MCU程序远程升级防失败方法。成本的MCU程序远程升级防失败方法。成本的MCU程序远程升级防失败方法。


技术研发人员:方志华 王慕溆
受保护的技术使用者:浙江田螺云厨科技有限公司
技术研发日:2023.02.10
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐