一种嵌入式设备固件智能升级方法及系统转让专利

申请号 : CN202311047571.6

文献号 : CN116755727B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾涛周永健

申请人 : 湖南博匠信息科技有限公司

摘要 :

本发明公开了一种嵌入式设备固件智能升级方法及系统,首先在上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,生成与二进制形式的预设程序文件对应的固化信息,这里的固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件,通过固化信息即可清楚的了解嵌入式设备的基本信息,以便于管理人员根据这些基本信息来进行后续的的故障处理;后续对嵌入式设备进行检修时,即可通过获取全局唯一标识符来获取嵌入式设备中的二进制形式的预设程序文件对应的固化信息,即本方案能够获取更加完善的嵌入式设备的基础信息,且准确率更高。

权利要求 :

1.一种嵌入式设备固件智能升级方法,其特征在于,应用于嵌入式设备固件智能升级系统;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件;所述方法,包括:当嵌入式设备与上位机通信连接后,上位机获取与嵌入式设备对应的预设程序文件;

上位机将预设程序文件转换为二进制形式;

上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;

上位机生成与二进制形式的预设程序文件对应的固化信息,其中,固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件;

上位机生成与固化信息对应的全局唯一标识符,并将全局唯一标识符和对应的固化信息存储于存储服务器;

上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中;

还包括:

当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文;

若闪存芯片内未存储有配置密文,上位机获取输入的与嵌入式设备对应的配置信息,并将配置信息转换为二进制形式,其中,配置信息包括厂商编号、设备型号和SN编号;

上位机将二进制形式的配置信息通过预设加密算法进行加密后得到配置密文;

上位机将配置密文下载至嵌入式设备的闪存芯片;

上位机同时存储有J‑Link驱动程序和ST‑Link驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:上位机生成测试信息,并将测试信息转换为二进制形式;

将嵌入式设备通过J‑Link烧录器与上位机通信连接后,上位机将J‑Link驱动程序标记为第二目标程序;

上位机将二进制形式的测试信息基于第二目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第一测试时长;

将嵌入式设备通过ST‑Link烧录器与上位机通信连接后,上位机将ST‑Link驱动程序标记为第三目标程序;

上位机将二进制形式的测试信息基于第三目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第二测试时长;

上位机比较第一测试时长和第二测试时长;

若第一测试时长小于第二测试时长,上位机判断此刻起的第一预设时长内,嵌入式设备是否通过J‑Link烧录器与上位机建立通信连接;

若是,上位机基于第二目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;

若否,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;

若第一测试时长不小于第二测试时长,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。

2.根据权利要求1所述的一种嵌入式设备固件智能升级方法,其特征在于,上位机还存储有驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:上位机判断是否满足如下条件:上位机存储有J‑Link驱动程序,且嵌入式设备通过J‑Link烧录器与上位机通信连接;

若是,上位机将J‑Link驱动程序标记为第一目标程序;

若否,上位机检测是否存储有ST‑Link驱动程序;

若上位机存储有ST‑Link驱动程序,上位机判断嵌入式设备连接的烧录器是否为ST‑Link烧录器;

若嵌入式设备连接的烧录器为ST‑Link烧录器,上位机将ST‑Link驱动程序标记为第一目标程序;

上位机基于第一目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。

3.根据权利要求1所述的一种嵌入式设备固件智能升级方法,其特征在于,所述上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中,包括:上位机将二进制形式的全局唯一标识符通过预设加密算法进行加密后形成标识符密文;

上位机将标识符密文下载至嵌入式设备的闪存芯片。

4.根据权利要求3所述的一种嵌入式设备固件智能升级方法,其特征在于,还包括:当嵌入式设备与上位机通信连接后,上位机获取嵌入式设备的闪存芯片内的标识符密文;

上位机获取输入的与预设加密算法对应的密钥;

上位机基于密钥和预设加密算法对标识符密文进行解密,并判断是否解密成功;

若解密成功,上位机将标识符密文解密后得到的全局唯一标识符进行显示,并获取与全局唯一标识符对应的固化信息;

若解密未成功,上位机生成并显示第一告警信息。

5.根据权利要求1所述的一种嵌入式设备固件智能升级方法,其特征在于,所述当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文,之后还包括:若闪存芯片内存储有配置密文,上位机获取配置密文;

上位机获取输入的与预设加密算法对应的密钥;

上位机基于密钥和预设加密算法对配置密文进行解密,并判断是否解密成功;

若解密成功,上位机将配置密文解密后得到的配置信息进行显示;

若解密未成功,上位机生成并显示第二告警信息。

6.根据权利要求1所述的一种嵌入式设备固件智能升级方法,其特征在于,上位机同时存储有J‑Link驱动程序和ST‑Link驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述固化信息还包括烧录时长、预设程序文件大小和烧录对应的驱动程序信息,所述烧录时长为上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中所耗费的时长;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:上位机获取嵌入式设备的闪存芯片中的全局唯一标识符,以基于全局唯一标识符获取对应的固化信息;

上位机获取当前嵌入式设备所通信连接的烧录器所对应的驱动程序,并标记为第四目标程序;

上位机将固化信息中的烧录对应的驱动程序信息所对应的驱动程序标记为第五目标程序,并判断第五目标程序是否与第四目标程序一致;

若不一致,上位机基于固化信息中的烧录时长和预设程序文件大小得到第一传输速度;

上位机生成测试信息,并将测试信息转换为二进制形式;

上位机将二进制形式的测试信息基于第四目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第三测试时长;

上位机基于测试信息的大小和第三测试时长得到第二传输速度,并比较第一传输速度和第二传输速度;

若第二传输速度大于或等于第一传输速度,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;

若第二传输速度小于第一传输速度,上位机判断此刻起的第一预设时长内,嵌入式设备是否通过第五目标程序对应的烧录器与上位机通信连接;

若是,上位机基于第五目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;

若否,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。

7.根据权利要求1所述的一种嵌入式设备固件智能升级方法,其特征在于,所述上位机将预设程序文件转换为二进制形式,之后还包括:上位机随机截取二进制形式的预设程序文件,以得到标本文件,并获取标本文件于二进制形式的预设程序文件中的位置信息;

上位机将标本文件和对应的位置信息存储至存储服务器;

所述方法,还包括:

当嵌入式设备与上位机通信连接后,上位机判断嵌入式设备的闪存芯片中是否存在二进制形式的预设程序文件;

若是,上位机获取闪存芯片中的二进制形式的预设文件对应的标本文件及位置信息;

上位机获取闪存芯片中的二进制形式的预设程序文件,并基于位置信息对二进制形式的预设程序文件进行重新截取,以得到实际文件;

上位机判断实际文件和标本文件是否完全一致;

若不完全一致,上位机生成用于表述固件被篡改的第三告警信息。

8.一种嵌入式设备固件智能升级系统,其特征在于,应用如权利要求1‑7中任一项所述的嵌入式设备固件智能升级方法;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件。

说明书 :

一种嵌入式设备固件智能升级方法及系统

技术领域

[0001] 本发明涉及嵌入式设备技术领域,具体涉及一种嵌入式设备固件智能升级方法及系统。

背景技术

[0002] 微控制单元(Microcontroller Unit,MCU),又称单片微型计算机(Single Chip Microcomputer)或单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口整合在单一芯片上,形成的芯片级计算设备;嵌入式设备则是以MCU为控制单元的微型专用计算设备,广泛应用于工控领域。
[0003] 嵌入式设备在使用时其内部的闪存芯片均会存储预设程序文件以实现功能。上述预设程序文件需要在嵌入式设备出厂时进行烧录;对于已经完成烧录且出厂的嵌入式设备,若出现故障需要进行问题回溯或重新烧录预设程序文件时,需要先了解嵌入式设备的基本信息,例如上一次预设程序文件的烧录日期、操作人员或烧录地点等;以便于管理人员根据这些基本信息来进行后续的故障处理。但现有的获取已经完成预设程序文件烧录的嵌入式设备的基础信息的方法比较传统,以直接人工查阅嵌入式设备的铭牌或电路板印刷信息为主,导致能够获取的嵌入式设备的基础信息较少,且准确率低下。

发明内容

[0004] 本发明的主要目的是提供一种嵌入式设备固件智能升级方法及系统,旨在解决现有的获取已经完成预设程序文件烧录的嵌入式设备的基础信息的方法比较传统,能够获取的嵌入设备的基础信息较少,且准确率低下的问题。
[0005] 本发明提出的技术方案为:
[0006] 一种嵌入式设备固件智能升级方法,应用于嵌入式设备固件智能升级系统;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件;所述方法,包括:
[0007] 当嵌入式设备与上位机通信连接后,上位机获取与嵌入式设备对应的预设程序文件;
[0008] 上位机将预设程序文件转换为二进制形式;
[0009] 上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
[0010] 上位机生成与二进制形式的预设程序文件对应的固化信息,其中,固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件;
[0011] 上位机生成与固化信息对应的全局唯一标识符,并将全局唯一标识符和对应的固化信息存储于存储服务器;
[0012] 上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中。
[0013] 优选的,上位机还存储有驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:
[0014] 上位机判断是否满足如下条件:上位机存储有J‑Link驱动程序,且嵌入式设备通过J‑Link烧录器与上位机通信连接;
[0015] 若是,上位机将J‑Link驱动程序标记为第一目标程序;
[0016] 若否,上位机检测是否存储有ST‑Link驱动程序;
[0017] 若上位机存储有ST‑Link驱动程序,上位机判断嵌入式设备连接的烧录器是否为ST‑Link烧录器;
[0018] 若嵌入式设备连接的烧录器为ST‑Link烧录器,上位机将ST‑Link驱动程序标记为第一目标程序;
[0019] 上位机基于第一目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0020] 优选的,所述上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中,包括:
[0021] 上位机将二进制形式的全局唯一标识符通过预设加密算法进行加密后形成标识符密文;
[0022] 上位机将标识符密文下载至嵌入式设备的闪存芯片。
[0023] 优选的,还包括:
[0024] 当嵌入式设备与上位机通信连接后,上位机获取嵌入式设备的闪存芯片内的标识符密文;
[0025] 上位机获取输入的与预设加密算法对应的密钥;
[0026] 上位机基于密钥和预设加密算法对标识符密文进行解密,并判断是否解密成功;
[0027] 若解密成功,上位机将标识符密文解密后得到的全局唯一标识符进行显示,并获取与全局唯一标识符对应的固化信息;
[0028] 若解密未成功,上位机生成并显示第一告警信息。
[0029] 优选的,还包括:
[0030] 当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文;
[0031] 若闪存芯片内未存储有配置密文,上位机获取输入的与嵌入式设备对应的配置信息,并将配置信息转换为二进制形式,其中,配置信息包括厂商编号、设备型号和SN编号;
[0032] 上位机将二进制形式的配置信息通过预设加密算法进行加密后得到配置密文;
[0033] 上位机将配置密文下载至嵌入式设备的闪存芯片。
[0034] 优选的,所述当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文,之后还包括:
[0035] 若闪存芯片内存储有配置密文,上位机获取配置密文;
[0036] 上位机获取输入的与预设加密算法对应的密钥;
[0037] 上位机基于密钥和预设加密算法对配置密文进行解密,并判断是否解密成功;
[0038] 若解密成功,上位机将配置密文解密后得到的配置信息进行显示;
[0039] 若解密未成功,上位机生成并显示第二告警信息。
[0040] 优选的,上位机同时存储有J‑Link驱动程序和ST‑Link驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:
[0041] 上位机生成测试信息,并将测试信息转换为二进制形式;
[0042] 将嵌入式设备通过J‑Link烧录器与上位机通信连接后,上位机将J‑Link驱动程序标记为第二目标程序;
[0043] 上位机将二进制形式的测试信息基于第二目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第一测试时长;
[0044] 将嵌入式设备通过ST‑Link烧录器与上位机通信连接后,上位机将ST‑Link驱动程序标记为第三目标程序;
[0045] 上位机将二进制形式的测试信息基于第三目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第二测试时长;
[0046] 上位机比较第一测试时长和第二测试时长;
[0047] 若第一测试时长小于第二测试时长,上位机判断此刻起的第一预设时长内,嵌入式设备是否通过J‑Link烧录器与上位机建立通信连接;
[0048] 若是,上位机基于第二目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
[0049] 若否,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
[0050] 若第一测试时长不小于第二测试时长,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0051] 优选的,上位机同时存储有J‑Link驱动程序和ST‑Link驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述固化信息还包括烧录时长、预设程序文件大小和烧录对应的驱动程序信息,所述烧录时长为上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中所耗费的时长;所述上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻,包括:
[0052] 上位机获取嵌入式设备的闪存芯片中的全局唯一标识符,以基于全局唯一标识符获取对应的固化信息;
[0053] 上位机获取当前嵌入式设备所通信连接的烧录器所对应的驱动程序,并标记为第四目标程序;
[0054] 上位机将固化信息中的烧录对应的驱动程序信息所对应的驱动程序标记为第五目标程序,并判断第五目标程序是否与第四目标程序一致;
[0055] 若不一致,上位机基于固化信息中的烧录时长和预设程序文件大小得到第一传输速度;
[0056] 上位机生成测试信息,并将测试信息转换为二进制形式;
[0057] 上位机将二进制形式的测试信息基于第四目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第三测试时长;
[0058] 上位机基于测试信息的大小和第三测试时长得到第二传输速度,并比较第一传输速度和第二传输速度;
[0059] 若第二传输速度大于或等于第一传输速度,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
[0060] 若第二传输速度小于第一传输速度,上位机判断此刻起的第一预设时长内,嵌入式设备是否通过第五目标程序对应的烧录器与上位机通信连接;
[0061] 若是,上位机基于第五目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻;
[0062] 若否,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0063] 优选的,所述上位机将预设程序文件转换为二进制形式,之后还包括:
[0064] 上位机随机截取二进制形式的预设程序文件,以得到标本文件,并获取标本文件于二进制形式的预设程序文件中的位置信息;
[0065] 上位机将标本文件和对应的位置信息存储至存储服务器;
[0066] 所述方法,还包括:
[0067] 当嵌入式设备与上位机通信连接后,上位机判断嵌入式设备的闪存芯片中是否存在二进制形式的预设程序文件;
[0068] 若是,上位机获取闪存芯片中的二进制形式的预设文件对应的标本文件及位置信息;
[0069] 上位机获取闪存芯片中的二进制形式的预设程序文件,并基于位置信息对二进制形式的预设程序文件进行重新截取,以得到实际文件;
[0070] 上位机判断实际文件和标本文件是否完全一致;
[0071] 若不完全一致,上位机生成用于表述固件被篡改的第三告警信息。
[0072] 本发明还提出一种嵌入式设备固件智能升级系统,应用所述的嵌入式设备固件智能升级方法;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件。
[0073] 通过上述技术方案,能实现以下有益效果:
[0074] 本发明提出的嵌入式设备固件智能升级方法能够获取更多的嵌入式设备的基础信息,且准确率更高;首先在上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,然后生成与二进制形式的预设程序文件对应的固化信息,这里的固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件,通过固化信息即可清楚的了解嵌入式设备的基本信息,以便于管理人员根据这些基本信息来进行后续的的故障处理;然后通过将全局唯一标识符和固化信息建立对应关系,并将全局唯一标识符下载至嵌入式设备的闪存芯片中;后续对嵌入式设备进行检修时,即可通过获取全局唯一标识符来获取嵌入式设备中的二进制形式的预设程序文件对应的固化信息,相比传统的通过人工查阅嵌入式设备的铭牌或电路板印刷信息来获取嵌入式设备的基础信息的方案,本方案能够获取更加完善的嵌入式设备的基础信息,且准确率更高。

附图说明

[0075] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0076] 图1为本发明提出的一种嵌入式设备固件智能升级方法第一实施例的流程图。

具体实施方式

[0077] 应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0078] 本发明提出一种嵌入式设备固件智能升级方法及系统。
[0079] 如附图1所示,在本发明提出的一种嵌入式设备固件智能升级方法的第一实施例中,本方法应用于嵌入式设备固件智能升级系统;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备(即以MCU为处理器的计算设备);上位机内存储有预设程序文件;本实施例包括如下步骤:
[0080] 步骤S110:当嵌入式设备与上位机通信连接后,上位机获取与嵌入式设备对应的预设程序文件。
[0081] 具体的,即将嵌入式设备通过烧录器与上位机建立通信连接,因不同的嵌入式设备会对应有不同的预设程序文件(这里的预设程序文件即是嵌入式设备在日常运行过程中的固化程序),则上位机获取与嵌入式设备对应的预设程序文件。
[0082] 步骤S120:上位机将预设程序文件转换为二进制形式。
[0083] 步骤S130:上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0084] 具体的,这里的操作即是将预设程序文件通过烧录器烧录至嵌入式设备中。
[0085] 步骤S140:上位机生成与二进制形式的预设程序文件对应的固化信息,其中,固化信息包括下载操作对应的烧录时刻、操作人员信息(即进行本次烧录操作的人员的信息)、地点信息(进行烧录的地点位置)、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件。
[0086] 步骤S150:上位机生成与固化信息对应的全局唯一标识符(即GUID编号),并将全局唯一标识符和对应的固化信息存储于存储服务器。
[0087] 具体的,即将全局唯一标识符和固化信息建立对应关系后,存储至存储服务器中。
[0088] 步骤S160:上位机将全局唯一标识符下载至嵌入式设备的闪存芯片中。
[0089] 具体的,通过将全局唯一标识符下载至嵌入式设备的闪存芯片中,以便于后续能够基于全局唯一标识符能够得到固化信息。
[0090] 本发明提出的嵌入式设备固件智能升级方法能够获取更多的嵌入式设备的基础信息,且准确率更高;首先在上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,然后生成与二进制形式的预设程序文件对应的固化信息,这里的固化信息包括下载操作对应的烧录时刻、操作人员信息、地点信息、嵌入式设备的生产批次信息,以及预设程序文件对应的说明文件(这里的固化信息也就是嵌入式设备的基础信息),通过固化信息即可清楚的了解嵌入式设备的基本信息,以便于管理人员根据这些基本信息来进行后续的的故障处理;然后通过将全局唯一标识符和固化信息建立对应关系,全局唯一标识符保证了唯一性,然后将全局唯一标识符下载至嵌入式设备的闪存芯片中,以保证可追溯性;后续对嵌入式设备进行检修时,即可通过获取全局唯一标识符来获取嵌入式设备中的二进制形式的预设程序文件对应的固化信息,相比传统的通过人工查阅嵌入式设备的铭牌或电路板印刷信息来获取嵌入式设备的基础信息的方案,本方案能够获取更加完善的嵌入式设备的基础信息,且准确率更高。
[0091] 在本发明提出的一种嵌入式设备固件智能升级方法的第二实施例中,基于第一实施例,上位机还存储有驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;步骤S130,包括如下步骤:
[0092] 步骤S210:上位机判断是否满足如下条件:上位机存储有J‑Link驱动程序,且嵌入式设备通过J‑Link烧录器与上位机通信连接。
[0093] 若是,执行步骤S220:上位机将J‑Link驱动程序标记为第一目标程序。
[0094] 具体的,若上位机存储有J‑Link驱动程序,且嵌入式设备通过J‑Link烧录器与上位机通信连接,则直接将J‑Link驱动程序标记为第一目标程序,以便于后续直接采用J‑Link驱动程序来进行预设程序文件的烧录。
[0095] 若否,执行步骤S230:上位机检测是否存储有ST‑Link驱动程序。
[0096] 步骤S240:若上位机存储有ST‑Link驱动程序,上位机判断嵌入式设备连接的烧录器是否为ST‑Link烧录器。
[0097] 步骤S250:若嵌入式设备连接的烧录器为ST‑Link烧录器,上位机将ST‑Link驱动程序标记为第一目标程序。
[0098] 具体的,若上位机存储有ST‑Link驱动程序,且嵌入式设备连接的烧录器为ST‑Link烧录器,则上位机将ST‑Link驱动程序标记为第一目标程序。
[0099] 步骤S260:上位机基于第一目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0100] 对于一线操作人员而言,可能会存在由于专业知识有限,不能识别烧录器的类型并正确安装对应的烧录器驱动,从而导致不能正确进行预设程序文件下载的问题。对此,本方案能够自动识别嵌入式设备连接的烧录器型号,并基于上位机存储的驱动程序来自动选择对应的驱动程序,不再需要人工识别烧录器的型号,以及选择对应的驱动程序,更加高效智能。
[0101] 在本发明提出的一种嵌入式设备固件智能升级方法的第三实施例中,基于第一实施例,步骤S160,包括如下步骤:
[0102] 步骤S310:上位机将二进制形式的全局唯一标识符通过预设加密算法进行加密后形成标识符密文。
[0103] 具体的,这里的预设加密算法优选为RSA加密算法,通过该算法,只有知晓了解密密钥才能对加密的内容进行还原。
[0104] 步骤S320:上位机将标识符密文下载至嵌入式设备的闪存芯片。
[0105] 通过预设加密算法能够对全局唯一标识符进行保护,防止嵌入式设备的相关信息被泄漏。
[0106] 在本发明提出的一种嵌入式设备固件智能升级方法的第四实施例中,基于第三实施例,本实施例还包括如下步骤:
[0107] 步骤S410:当嵌入式设备与上位机通信连接后,上位机获取嵌入式设备的闪存芯片内的标识符密文。
[0108] 步骤S420:上位机获取输入的与预设加密算法对应的密钥。
[0109] 具体的,即上位机获取操作人员输入的密钥。
[0110] 步骤S430:上位机基于密钥和预设加密算法对标识符密文进行解密,并判断是否解密成功。
[0111] 具体的,只有密钥正确,才能成功对标识符密文进行解密。
[0112] 步骤S440:若解密成功,上位机将标识符密文解密后得到的全局唯一标识符进行显示,并获取与全局唯一标识符对应的固化信息。
[0113] 步骤S450:若解密未成功,上位机生成并显示第一告警信息。
[0114] 通过设置解密步骤,能够保证只有知晓了密钥的操作人员才能查看全局唯一标识符,安全性更高。
[0115] 在本发明提出的一种嵌入式设备固件智能升级方法的第五实施例中,基于第一实施例,本实施例还包括如下步骤:
[0116] 步骤S510:当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内是否存储有配置密文。
[0117] 具体的,这里的配置密文即是后续的配置信息进行加密后得到的密文,因配置信息只有在第一次对嵌入式设备进行预设程序文件写入时才会进行设置,故如果当嵌入式设备与上位机通信连接后,上位机检测嵌入式设备的闪存芯片内存储有配置密文,说明该嵌入式设备并不是首次进行预设程序文件的写入。
[0118] 步骤S520:若闪存芯片内未存储有配置密文,上位机获取输入的与嵌入式设备对应的配置信息,并将配置信息转换为二进制形式,其中,配置信息包括厂商编号、设备型号和SN编号。
[0119] 具体的,这里的厂商编号为嵌入式设备的生产厂商自行确定的编号,设备型号为生产厂商自行确定的嵌入式设备的型号,SN(Serial Number)编号,即产品序列号,每个嵌入式设备均对应设置唯一的SN编号;配置信息能够反映嵌入式设备的基本信息(相当于嵌入式设备的身份信息),以便于操作人员识别该嵌入式设备,以帮助操作人员选择嵌入式设备对应的预设程序文件。
[0120] 步骤S530:上位机将二进制形式的配置信息通过预设加密算法进行加密后得到配置密文。
[0121] 步骤S540:上位机将配置密文下载至嵌入式设备的闪存芯片。
[0122] 具体的,首次对嵌入式设备进行预设程序文件的写入时,管理人员将设置配置信息,并将配置信息进行加密,以防止配置信息被泄露,安全性更佳。
[0123] 在本发明提出的一种嵌入式设备固件智能升级方法的第六实施例中,基于第五实施例,步骤S510,之后还包括如下步骤:
[0124] 步骤S610:若闪存芯片内存储有配置密文,上位机获取配置密文。
[0125] 步骤S620:上位机获取输入的与预设加密算法对应的密钥。
[0126] 步骤S630:上位机基于密钥和预设加密算法对配置密文进行解密,并判断是否解密成功。
[0127] 步骤S640:若解密成功,上位机将配置密文解密后得到的配置信息进行显示。
[0128] 步骤S650:若解密未成功,上位机生成并显示第二告警信息。
[0129] 本实施例的目的在于对配置信息进行加密保存,从而保证只有知晓了密钥的操作人员才能查看嵌入式设备的配置信息,安全性更高。
[0130] 在本发明提出的一种嵌入式设备固件智能升级方法的第七实施例中,基于第一实施例,上位机同时存储有J‑Link驱动程序和ST‑Link驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;步骤S130,包括如下步骤:
[0131] 步骤S701:上位机生成测试信息,并将测试信息转换为二进制形式。
[0132] 步骤S702:将嵌入式设备通过J‑Link烧录器与上位机通信连接后,上位机将J‑Link驱动程序标记为第二目标程序。
[0133] 步骤S703:上位机将二进制形式的测试信息基于第二目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第一测试时长。
[0134] 具体的,这里的第一测试时长即是通过J‑Link驱动程序和J‑Link烧录器将测试信息下载至嵌入式设备所耗费的时长。
[0135] 步骤S704:将嵌入式设备通过ST‑Link烧录器与上位机通信连接后,上位机将ST‑Link驱动程序标记为第三目标程序。
[0136] 步骤S705:上位机将二进制形式的测试信息基于第三目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第二测试时长。
[0137] 具体的,这里的第二测试时长即是通过ST‑Link驱动程序和ST‑Link烧录器将测试信息下载至嵌入式设备所耗费的时长。
[0138] 步骤S706:上位机比较第一测试时长和第二测试时长。
[0139] 步骤S707:若第一测试时长小于第二测试时长,上位机判断此刻起的第一预设时长(例如30s)内,嵌入式设备是否通过J‑Link烧录器与上位机建立通信连接。
[0140] 若是,执行步骤S708:上位机基于第二目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0141] 若否,执行步骤S709:上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0142] 具体的,若第一测试时长小于第二测试时长,说明对本嵌入式设备而言,通过J‑Link驱动程序和J‑Link烧录器进行预设程序文件的下载会更快,因此优先建议采用J‑Link烧录器进行下载。
[0143] 但因此时与嵌入式设备通信连接的是ST‑Link烧录器,故给予操作人员第一预设时长以进行烧录器的更换,在经过第一预设时长后,上位机再次检测嵌入式设备是否通过J‑Link烧录器与上位机建立通信连接(即是否进行了烧录器的更换),若是,则直接通过J‑Link驱动程序和J‑Link烧录器进行预设程序文件的下载。若否,说明操作人员没有进行烧录器的更换,则直接通过ST‑Link驱动程序和ST‑Link烧录器进行预设程序文件的下载。
[0144] 步骤S710:若第一测试时长不小于第二测试时长,上位机基于第三目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0145] 具体的,若第一测试时长不小于第二测试时长,说明说明对本嵌入式设备而言,通过ST‑Link驱动程序和ST‑Link烧录器进行预设程序文件的下载会更快,因此直接通过ST‑Link驱动程序和ST‑Link烧录器进行预设程序文件的下载。
[0146] 在本发明提出的一种嵌入式设备固件智能升级方法的第八实施例中,基于第一实施例,上位机同时存储有J‑Link驱动程序和ST‑Link驱动程序;烧录器为J‑Link烧录器或ST‑Link烧录器,且不同种类的烧录器对应不同的驱动程序;所述固化信息还包括烧录时长、预设程序文件大小和烧录对应的驱动程序信息(驱动程序信息能够反映驱动程序的类型,即驱动程序是J‑Link驱动程序还是ST‑Link驱动程序),所述烧录时长为上位机将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中所耗费的时长;步骤S130,包括如下步骤:
[0147] 步骤S801:上位机获取嵌入式设备的闪存芯片中的全局唯一标识符,以基于全局唯一标识符获取对应的固化信息。
[0148] 具体的,本实施例针对的是之前已经进行了预设程序文件写入的嵌入式设备,当嵌入式设备通过烧录器与上位机建立通信连接后,上位机获取嵌入式设备的闪存芯片中的全局唯一标识符,以基于全局唯一标识符获取对应的固化信息(这里的固化信息即是该嵌入式设备在上次进行预设程序文件写入操作时所对应的操作信息)。
[0149] 步骤S802:上位机获取当前嵌入式设备所通信连接的烧录器所对应的驱动程序,并标记为第四目标程序。
[0150] 具体的,例如当前嵌入式设备所通信连接的烧录器所对应的驱动程序为J‑LInk驱动程序(第四驱动程序),则当前嵌入式设备通信连接的烧录器为J‑Link烧录器。
[0151] 步骤S803:上位机将固化信息中的烧录对应的驱动程序信息所对应的驱动程序标记为第五目标程序,并判断第五目标程序是否与第四目标程序一致。
[0152] 具体的,这里的第五目标程序即是嵌入式设备上次进行预设程序文件写入时所采用的驱动程序。
[0153] 步骤S804:若不一致,上位机基于固化信息中的烧录时长和预设程序文件大小得到第一传输速度(第一传输速度等于预设程序文件大小除以烧录时长)。
[0154] 具体的,例如,第五目标程序为ST‑Link驱动程序,则不一致。这里的第一传输速度即是嵌入式设备上次进行预设程序文件写入(采用ST‑Link驱动程序)时的写入速度。
[0155] 步骤S805:上位机生成测试信息,并将测试信息转换为二进制形式。
[0156] 步骤S806:上位机将二进制形式的测试信息基于第四目标程序通过烧录器下载至嵌入式设备的闪存芯片中,并将下载所耗费的时长标记为第三测试时长。
[0157] 步骤S807:上位机基于测试信息的大小和第三测试时长得到第二传输速度,并比较第一传输速度和第二传输速度。
[0158] 具体的,第二传输速度等于测试信息的大小除以第三测试时长,这里的第二传输速度即是嵌入式设备本次进行测试写入的速度(采用J‑Link驱动程序)。
[0159] 步骤S808:若第二传输速度大于或等于第一传输速度,上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0160] 具体的,若第二传输速度大于或等于第一传输速度,说明采用当前连接的烧录器即可更快的进行预设程序文件的写入,故直接基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中。
[0161] 步骤S809:若第二传输速度小于第一传输速度,上位机判断此刻起的第一预设时长(例如30s)内,嵌入式设备是否通过第五目标程序对应的烧录器与上位机通信连接。
[0162] 若是,执行步骤S810:上位机基于第五目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0163] 若否,执行步骤S811:上位机基于第四目标程序将二进制形式的预设程序文件通过烧录器下载至嵌入式设备的闪存芯片中,并将下载完成的时刻标记为烧录时刻。
[0164] 具体的,若第二传输速度小于第一传输速度,说明对本嵌入式设备而言,通过第五目标程序进行预设程序文件的下载会更快,因此优先建议采用第五目标程序对应的烧录器进行下载。
[0165] 但因此时与嵌入式设备通信连接的是第四目标程序对应的烧录器,故给予操作人员第一预设时长以进行烧录器的更换,在经过第一预设时长后,上位机再次检测嵌入式设备是否通过第五目标程序对应的烧录器与上位机建立通信连接(即是否进行了烧录器的更换),若是,则直接通过第五目标程序,以及对应的烧录器进行预设程序文件的下载。若否,说明操作人员没有进行烧录器的更换,则直接通过第四驱动程序,以及对应的烧录器进行预设程序文件的下载。
[0166] 在本发明提出的一种嵌入式设备固件智能升级方法的第九实施例中,基于第一实施例,步骤S120,之后还包括如下步骤:
[0167] 步骤S910:上位机随机截取二进制形式的预设程序文件,以得到标本文件,并获取标本文件于二进制形式的预设程序文件中的位置信息。
[0168] 具体的,这里的位置信息包括截取的开始位置和结束位置,基于位置信息和预设程序文件,能够截取到标本文件。
[0169] 步骤S920:上位机将标本文件和对应的位置信息存储至存储服务器。
[0170] 本实施例还包括如下步骤:
[0171] 步骤S930:当嵌入式设备与上位机通信连接后,上位机判断嵌入式设备的闪存芯片中是否存在二进制形式的预设程序文件。
[0172] 具体的,若存在预设程序文件,说明嵌入式设备不是首次进行预设程序文件的写入,即之前已经写入过预设程序文件。
[0173] 若是,执行步骤S940:上位机获取闪存芯片中的二进制形式的预设文件对应的标本文件及位置信息。
[0174] 步骤S950:上位机获取闪存芯片中的二进制形式的预设程序文件,并基于位置信息对二进制形式的预设程序文件进行重新截取,以得到实际文件。
[0175] 具体的,这里的实际文件是基于位置信息和嵌入式设备当前存储的预设程序文件得到的。
[0176] 步骤S960:上位机判断实际文件和标本文件是否完全一致。
[0177] 步骤S970:若不完全一致,上位机生成用于表述固件被篡改的第三告警信息。
[0178] 具体的,本实施例能够检测嵌入式设备中的预设程序文件是否被篡改,从而帮助操作人员对嵌入式设备进行故障排除。
[0179] 在本发明提出的一种嵌入式设备固件智能升级方法的第十实施例中,基于第四实施例,步骤S450,之后还包括如下步骤:
[0180] 步骤S1010:上位机读取嵌入式设备的闪存芯片中的数据,以判断嵌入式设备的闪存芯片中是否存在用户数据。
[0181] 步骤S1020:若存在用户数据,上位机将用户数据删除。
[0182] 具体的,若解密错误,说明存在安全风险,为了保障用户数据不被泄露,上位机删除用户数据。
[0183] 本发明还提出一种嵌入式设备固件智能升级系统,本系统应用所述的嵌入式设备固件智能升级方法;所述系统包括上位机,以及与上位机通信连接的存储服务器;上位机用于通信连接烧录器,烧录器用于通信连接嵌入式设备;上位机内存储有预设程序文件。
[0184] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0185] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0186] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。