一种EMS嵌入式软件双APP的bootloader升级方法及装置与流程
未命名
10-18
阅读:134
评论:0
一种ems嵌入式软件双app的bootloader升级方法及装置
技术领域
1.本发明涉及ems设备的软件技术领域,具体是指一种ems嵌入式软件双app的bootloader升级方法及装置。
背景技术:
2.嵌入式ems设备,由于实际的现场控制需求不尽相同,造成同一硬件和软件框架下,或多或少都需要对设备进行更新已适配更多的需求,如果未出货的设备开发人员还可以使用下载器去下载,但是如果出货之后到了客户那里,客户没有下载器而且不是专业人员,无法对设备进行升级,这时候,bootloader的重要性就凸显出来了,bootloader的设计就是为了设备能够进行远程升级或者只用指令升级,极大简便了升级需要的步骤,做到傻瓜式升级,极大增强了产品的后续维护性。而传统的bootloader只升级一个app程序,如果存放这个程序的空间或者程序一旦出现问题,程序就无法继续运行,ems设备就无法工作。
技术实现要素:
3.本发明所要解决的技术问题是在嵌入式设备上使用bootloader进行双app区(主程序和备份程序)给程序升级,防止恶意程序的注入和攻击,双重保证程序能正常运行。
4.为解决背景技术中存在的问题,本发明提供的技术方案为:一种ems嵌入式软件双app的bootloader升级方法,包括以下步骤:
5.步骤1、嵌入式设备正常初始化后,延时等待上位机连接并发送升级指令;
6.步骤2、延时期间收到上位机的升级指令,继续步骤3执行,否则步骤10执行;
7.步骤3、检测需升级程序信息,硬件是否适配,适配继续,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
8.步骤4、检索备份区,并擦除备份区的程序,返回上位机升级响应指令,延时等待上位机发送需升级的程序内容;
9.步骤5、收到上位机的升级程序内容,保存内容,并返回正常响应指令,若未超时未收到,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
10.步骤6、延时等待上位机的升级校验指令,收到指令时进行程序校验,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
11.步骤7、程序校验成功,返回正常响应指令,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
12.步骤8、延时等待上位机的升级成功指令,收到指令时对保存的整个程序内容进行校验,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
13.步骤9、程序整个内容校验成功,将程序内容和相应程序信息写入备份区,返回升级成功指令并mcu重新启动,重新返回步骤1,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
14.步骤10、检索两个区的信息,找到备份区,并查看备份区中程序是否为新的程序,
若是新的程序,继续步骤11执行,否则继续步骤13执行;
15.步骤11、备份区程序校验,校验成功,继续步骤12执行,否则继续步骤13执行;
16.步骤12、切换备份区程序为主程序区,执行主程序区程序,流程结束;
17.步骤13、查看主程序区的程序运行成功标志,之前运行成功过,直接执行主程序区程序,流程结束,否则继续执行下面步骤;
18.步骤备份区程序校验,校验成功,继续步骤12执行,否则程序执行失败,并点亮设备故障灯,流程结束。
19.优选的,装置包括:
20.嵌入式设备,为提供ems嵌入式软件双app的bootloader升级方法所搭载的设备媒介,嵌入式设备开机后进入初始化状态,并延时等待上位机连接并发送升级指令;
21.上位机,直接发出操控指令的计算机,配套的屏幕上显示各种信号变化,用于发出升级指令、接收升级错误的反馈指令、发送需升级的程序内容、发送升级校验指令、接收正常响应的反馈指令、发送升级成功指令;
22.mcu,主体为单片微型计算机,将中央处理器的频率与规格做适当缩减,并将内存、计数器、usb、a/d转换、uart、plc、dma接口整合在单一芯片上,功能包括:1)检测需升级程序信息,硬件是否适配,适配继续,否则返回上位机升级错误指令,且mcu重新启动;
23.2)收到上位机的升级程序内容,保存内容,并返回正常响应指令,若未超时未收到,否则返回上位机升级错误指令,且mcu重新启动;
24.3)延时等待上位机的升级校验指令,收到指令时进行程序校验,否则返回上位机升级错误指令,且mcu重新启动;
25.4)程序校验成功,返回正常响应指令,否则返回上位机升级错误指令,且mcu重新启动;
26.5)延时等待上位机的升级成功指令,收到指令时对保存的整个程序内容进行校验,否则返回上位机升级错误指令,且mcu重新启动;
27.6)程序整个内容校验成功,将程序内容和相应程序信息写入备份区,返回升级成功指令并mcu重新启动;返回上位机升级错误指令,且mcu重新启动。
28.本发明与现有技术相比的优点在于:1)在基于嵌入式mcu实现的ems设备中,能够进行远程升级或者只用指令升级;
29.2)不需要软件开发经验,实现一键傻瓜式升级,极大增强了产品的后续维护性;
30.3)两个程序区,保有备份程序,防止恶意程序的注入和攻击,双重保证程序能正常运行。
附图说明
31.图1是一种ems嵌入式软件双app的bootloader升级方法及装置的架构示意图。
32.图2是一种ems嵌入式软件双app的bootloader升级方法及装置的工作流程示意图。
具体实施方式
33.下面结合附图对本发明做进一步的详细说明。
34.本发明在具体实施时,如图1所示的实施例中,本方案提出了一种ems嵌入式软件双app的bootloader升级方法,包括以下步骤:
35.步骤1、嵌入式设备正常初始化后,延时等待上位机连接并发送升级指令;
36.步骤2、延时期间收到上位机的升级指令,继续步骤3执行,否则步骤10执行;
37.步骤3、检测需升级程序信息,硬件是否适配,适配继续,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
38.步骤4、检索备份区,并擦除备份区的程序,返回上位机升级响应指令,延时等待上位机发送需升级的程序内容;
39.步骤5、收到上位机的升级程序内容,保存内容,并返回正常响应指令,若未超时未收到,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
40.步骤6、延时等待上位机的升级校验指令,收到指令时进行程序校验,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
41.步骤7、程序校验成功,返回正常响应指令,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
42.步骤8、延时等待上位机的升级成功指令,收到指令时对保存的整个程序内容进行校验,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
43.步骤9、程序整个内容校验成功,将程序内容和相应程序信息写入备份区,返回升级成功指令并mcu重新启动,重新返回步骤1,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;
44.步骤10、检索两个区的信息,找到备份区,并查看备份区中程序是否为新的程序,若是新的程序,继续步骤11执行,否则继续步骤13执行;
45.步骤11、备份区程序校验,校验成功,继续步骤12执行,否则继续步骤13执行;
46.步骤12、切换备份区程序为主程序区,执行主程序区程序,流程结束;
47.步骤13、查看主程序区的程序运行成功标志,之前运行成功过,直接执行主程序区程序,流程结束,否则继续执行下面步骤;
48.步骤备份区程序校验,校验成功,继续步骤12执行,否则程序执行失败,并点亮设备故障灯,流程结束。
49.在本发明的一个实施例中,如图1所示,本发明的工作原理:本发明基于bootloader,采用主程序区和备份区,通过这两个区的程序互相升级的方式,来给嵌入设备进行升级程序,并双重保证程序能正常运行,还能防止恶意程序的注入和攻击。当一个区的程序无法运行时,采用另外一个区的程序继续运行,使ems设备继续工作起来。
50.在本发明的一个实施例中,如图2所示,搭载ems嵌入式软件双app的bootloader升级方法的装置包括:
51.嵌入式设备,为提供ems嵌入式软件双app的bootloader升级方法所搭载的设备媒介,嵌入式设备开机后进入初始化状态,并延时等待上位机连接并发送升级指令;
52.上位机,直接发出操控指令的计算机,配套的屏幕上显示各种信号变化,用于发出升级指令、接收升级错误的反馈指令、发送需升级的程序内容、发送升级校验指令、接收正常响应的反馈指令、发送升级成功指令;
53.mcu,主体为单片微型计算机,将中央处理器的频率与规格做适当缩减,并将内存、
计数器、usb、a/d转换、uart、plc、dma接口整合在单一芯片上,功能包括:1)检测需升级程序信息,硬件是否适配,适配继续,否则返回上位机升级错误指令,且mcu重新启动;
54.2)收到上位机的升级程序内容,保存内容,并返回正常响应指令,若未超时未收到,否则返回上位机升级错误指令,且mcu重新启动;
55.3)延时等待上位机的升级校验指令,收到指令时进行程序校验,否则返回上位机升级错误指令,且mcu重新启动;
56.4)程序校验成功,返回正常响应指令,否则返回上位机升级错误指令,且mcu重新启动;
57.5)延时等待上位机的升级成功指令,收到指令时对保存的整个程序内容进行校验,否则返回上位机升级错误指令,且mcu重新启动;
58.6)程序整个内容校验成功,将程序内容和相应程序信息写入备份区,返回升级成功指令并mcu重新启动;返回上位机升级错误指令,且mcu重新启动。
59.上述设备的工作原理是通过上位机通讯把需升级的程序发送给bootloader,bootloader升级备份区的程序,然后备份区程序无问题时,把备份区升级为主程序区,将主程序区降为备份区,两个区相互切换,至少保证一个区的程序是可正常运行的。
60.以上显示和描述了本发明的基本原理和主要特征以及发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
技术特征:
1.一种ems嵌入式软件双app的bootloader升级方法,其特征在于包括以下步骤:步骤1、嵌入式设备正常初始化后,延时等待上位机连接并发送升级指令;步骤2、延时期间收到上位机的升级指令,继续步骤3执行,否则步骤10执行;步骤3、检测需升级程序信息,硬件是否适配,适配继续,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;步骤4、检索备份区,并擦除备份区的程序,返回上位机升级响应指令,延时等待上位机发送需升级的程序内容;步骤5、收到上位机的升级程序内容,保存内容,并返回正常响应指令,若未超时未收到,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;步骤6、延时等待上位机的升级校验指令,收到指令时进行程序校验,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;步骤7、程序校验成功,返回正常响应指令,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;步骤8、延时等待上位机的升级成功指令,收到指令时对保存的整个程序内容进行校验,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;步骤9、程序整个内容校验成功,将程序内容和相应程序信息写入备份区,返回升级成功指令并mcu重新启动,重新返回步骤1,否则返回上位机升级错误指令,且mcu重新启动,重新返回步骤1;步骤10、检索两个区的信息,找到备份区,并查看备份区中程序是否为新的程序,若是新的程序,继续步骤11执行,否则继续步骤13执行;步骤11、备份区程序校验,校验成功,继续步骤12执行,否则继续步骤13执行;步骤12、切换备份区程序为主程序区,执行主程序区程序,流程结束;步骤13、查看主程序区的程序运行成功标志,之前运行成功过,直接执行主程序区程序,流程结束,否则继续执行下面步骤;步骤备份区程序校验,校验成功,继续步骤12执行,否则程序执行失败,并点亮设备故障灯,流程结束。2.一种ems嵌入式软件双app的bootloader升级装置,其特征在于装置包括:嵌入式设备,为提供ems嵌入式软件双app的bootloader升级方法所搭载的设备媒介,嵌入式设备开机后进入初始化状态,并延时等待上位机连接并发送升级指令;上位机,直接发出操控指令的计算机,配套的屏幕上显示各种信号变化,用于发出升级指令、接收升级错误的反馈指令、发送需升级的程序内容、发送升级校验指令、接收正常响应的反馈指令、发送升级成功指令;mcu,主体为单片微型计算机,将中央处理器的频率与规格做适当缩减,并将内存、计数器、usb、a/d转换、uart、plc、dma接口整合在单一芯片上,功能包括:1)检测需升级程序信息,硬件是否适配,适配继续,否则返回上位机升级错误指令,且mcu重新启动;2)收到上位机的升级程序内容,保存内容,并返回正常响应指令,若未超时未收到,否则返回上位机升级错误指令,且mcu重新启动;3)延时等待上位机的升级校验指令,收到指令时进行程序校验,否则返回上位机升级错误指令,且mcu重新启动;
4)程序校验成功,返回正常响应指令,否则返回上位机升级错误指令,且mcu重新启动;5)延时等待上位机的升级成功指令,收到指令时对保存的整个程序内容进行校验,否则返回上位机升级错误指令,且mcu重新启动;6)程序整个内容校验成功,将程序内容和相应程序信息写入备份区,返回升级成功指令并mcu重新启动;返回上位机升级错误指令,且mcu重新启动。
技术总结
本发明公开了一种EMS嵌入式软件双APP的bootloader升级方法及装置。本发明与现有技术相比的优点在于:1)在基于嵌入式MCU实现的EMS设备中,能够进行远程升级或者只用指令升级;2)不需要软件开发经验,实现一键傻瓜式升级,极大增强了产品的后续维护性;3)两个程序区,保有备份程序,防止恶意程序的注入和攻击,双重保证程序能正常运行。重保证程序能正常运行。重保证程序能正常运行。
技术研发人员:罗杰
受保护的技术使用者:上海卓阳储能科技有限公司
技术研发日:2023.07.24
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
