本发明涉及嵌入式设备,具体涉及一种嵌入式设备固件智能升级方法及系统。
背景技术:
1、微控制单元(microcontroller unit,mcu),又称单片微型计算机(single chipmicrocomputer)或单片机,是把中央处理器(central process unit;cpu)的频率与规格做缩减,并将内存(memory)、计数器(timer)、usb、a/d转换、uart、plc、dma等周边接口整合在单一芯片上,形成的芯片级计算设备;嵌入式设备则是以mcu为控制单元的微型专用计算设备,广泛应用于工控领域。
2、嵌入式设备在使用时其内部的闪存芯片均会存储预设程序文件以实现功能。上述预设程序文件需要在嵌入式设备出厂时进行烧录;对于已经完成烧录且出厂的嵌入式设备,若出现故障需要进行问题回溯或重新烧录预设程序文件时,需要先了解嵌入式设备的基本信息,例如上一次预设程序文件的烧录日期、操作人员或烧录地点等;以便于管理人员根据这些基本信息来进行后续的故障处理。但现有的获取已经完成预设程序文件烧录的嵌入式设备的基础信息的方法比较传统,以直接人工查阅嵌入式设备的铭牌或电路板印刷信息为主,导致能够获取的嵌入式设备的基础信息较少,且准确率低下。
技术实现思路
1、本发明的主要目的是提供一种嵌入式设备固件智能升级方法及系统,旨在解决现有的获取已经完成预设程序文件烧录的嵌入式设备的基础信息的方法比较传统,能够获取的嵌入设备的基础信息较少,且准确率低下的问题。
2、本发明提出的技术方案为:
3、一种嵌入式设备固件智能升级方法,应用于嵌入式设备固件智能升级系统;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件;所述方法,包括:
4、当嵌入式设备与上位机通信连接后,上位机获取与嵌入式设备对应的预设程序文件;
5、上位机将预设程序文件转换为二进制形式;
6、上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
7、上位机生成与二进制形式的预设程序文件对应的固化信息,其中,固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件;
8、上位机生成与固化信息对应的全局唯一标识符,并将全局唯一标识符和对应的固化信息存储于存储服务器;
9、上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中。
10、优选的,上位机还存储有驱动程序;烧录器为j-link烧录器或st-link烧录器,且不同种类的烧录器对应不同的驱动程序;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:
11、上位机判断是否满足如下条件:上位机存储有j-link驱动程序,且嵌入式设备通过j-link烧录器与上位机通信连接;
12、若是,上位机将j-link驱动程序标记为第一目标程序;
13、若否,上位机检测是否存储有st-link驱动程序;
14、若上位机存储有st-link驱动程序,上位机判断嵌入式设备连接的烧录器是否为st-link烧录器;
15、若嵌入式设备连接的烧录器为st-link烧录器,上位机将st-link驱动程序标记为第一目标程序;
16、上位机基于第一目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
17、优选的,所述上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中,包括:
18、上位机将二进制形式的全局唯一标识符通过预设加密算法进行加密后形成标识符密文;
19、上位机将标识符密文下载至嵌入式设备的闪存芯片。
20、优选的,还包括:
21、当嵌入式设备与上位机通信连接后,上位机获取嵌入式设备的闪存芯片内的标识符密文;
22、上位机获取输入的与预设加密算法对应的密钥;
23、上位机基于密钥和预设加密算法对标识符密文进行解密,并判断是否解密成功;
24、若解密成功,上位机将标识符密文解密后得到的全局唯一标识符进行显示,并获取与全局唯一标识符对应的固化信息;
25、若解密未成功,上位机生成并显示第一告警信息。
26、优选的,还包括:
27、当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文;
28、若闪存芯片内未存储有配置密文,上位机获取输入的与嵌入式设备对应的配置信息,并将配置信息转换为二进制形式,其中,配置信息包括厂商编号、设备型号和sn编号;
29、上位机将二进制形式的配置信息通过预设加密算法进行加密后得到配置密文;
30、上位机将配置密文下载至嵌入式设备的闪存芯片。
31、优选的,所述当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文,之后还包括:
32、若闪存芯片内存储有配置密文,上位机获取配置密文;
33、上位机获取输入的与预设加密算法对应的密钥;
34、上位机基于密钥和预设加密算法对配置密文进行解密,并判断是否解密成功;
35、若解密成功,上位机将配置密文解密后得到的配置信息进行显示;
36、若解密未成功,上位机生成并显示第二告警信息。
37、优选的,上位机同时存储有j-link驱动程序和st-link驱动程序;烧录器为j-link烧录器或st-link烧录器,且不同种类的烧录器对应不同的驱动程序;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:
38、上位机生成测试信息,并将测试信息转换为二进制形式;
39、将嵌入式设备通过j-link烧录器与上位机通信连接后,上位机将j-link驱动程序标记为第二目标程序;
40、上位机将二进制形式的测试信息基于第二目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第一测试时长;
41、将嵌入式设备通过st-link烧录器与上位机通信连接后,上位机将st-link驱动程序标记为第三目标程序;
42、上位机将二进制形式的测试信息基于第三目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第二测试时长;
43、上位机比较第一测试时长和第二测试时长;
44、若第一测试时长小于第二测试时长,上位机判断此刻起的第一预设时长内,嵌入式设备是否通过j-link烧录器与上位机建立通信连接;
45、若是,上位机基于第二目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
46、若否,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
47、若第一测试时长不小于第二测试时长,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
48、优选的,上位机同时存储有j-link驱动程序和st-link驱动程序;烧录器为j-link烧录器或st-link烧录器,且不同种类的烧录器对应不同的驱动程序;所述固化信息还包括烧录时长、预设程序文件大小和烧录对应的驱动程序信息,所述烧录时长为上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中所耗费的时长;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:
49、上位机获取嵌入式设备的闪存芯片中的全局唯一标识符,以基于全局唯一标识符获取对应的固化信息;
50、上位机获取当前嵌入式设备所通信连接的烧录器所对应的驱动程序,并标记为第四目标程序;
51、上位机将固化信息中的烧录对应的驱动程序信息所对应的驱动程序标记为第五目标程序,并判断第五目标程序是否与第四目标程序一致;
52、若不一致,上位机基于固化信息中的烧录时长和预设程序文件大小得到第一传输速度;
53、上位机生成测试信息,并将测试信息转换为二进制形式;
54、上位机将二进制形式的测试信息基于第四目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第三测试时长;
55、上位机基于测试信息的大小和第三测试时长得到第二传输速度,并比较第一传输速度和第二传输速度;
56、若第二传输速度大于或等于第一传输速度,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
57、若第二传输速度小于第一传输速度,上位机判断此刻起的第一预设时长内,嵌入式设备是否通过第五目标程序对应的烧录器与上位机通信连接;
58、若是,上位机基于第五目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
59、若否,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
60、优选的,所述上位机将预设程序文件转换为二进制形式,之后还包括:
61、上位机随机截取二进制形式的预设程序文件,以得到标本文件,并获取标本文件于二进制形式的预设程序文件中的位置信息;
62、上位机将标本文件和对应的位置信息存储至存储服务器;
63、所述方法,还包括:
64、当嵌入式设备与上位机通信连接后,上位机判断嵌入式设备的闪存芯片中是否存在二进制形式的预设程序文件;
65、若是,上位机获取闪存芯片中的二进制形式的预设文件对应的标本文件及位置信息;
66、上位机获取闪存芯片中的二进制形式的预设程序文件,并基于位置信息对二进制形式的预设程序文件进行重新截取,以得到实际文件;
67、上位机判断实际文件和标本文件是否完全一致;
68、若不完全一致,上位机生成用于表述固件被篡改的第三告警信息。
69、本发明还提出一种嵌入式设备固件智能升级系统,应用所述的嵌入式设备固件智能升级方法;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件。
70、通过上述技术方案,能实现以下有益效果:
71、本发明提出的嵌入式设备固件智能升级方法能够获取更多的嵌入式设备的基础信息,且准确率更高;首先在上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,然后生成与二进制形式的预设程序文件对应的固化信息,这里的固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件,通过固化信息即可清楚的了解嵌入式设备的基本信息,以便于管理人员根据这些基本信息来进行后续的的故障处理;然后通过将全局唯一标识符和固化信息建立对应关系,并将全局唯一标识符下载至嵌入式设备的闪存芯片中;后续对嵌入式设备进行检修时,即可通过获取全局唯一标识符来获取嵌入式设备中的二进制形式的预设程序文件对应的固化信息,相比传统的通过人工查阅嵌入式设备的铭牌或电路板印刷信息来获取嵌入式设备的基础信息的方案,本方案能够获取更加完善的嵌入式设备的基础信息,且准确率更高。