一种固件烧录系统和方法与流程

文档序号:17948516发布日期:2019-06-18 23:51阅读:586来源:国知局
一种固件烧录系统和方法与流程

本发明涉及固件烧录技术领域,尤其是一种固件烧录系统和方法。



背景技术:

安全芯片越来越广泛地应用在具有车联网功能的汽车和手机等产品上,在生产这类芯片过程中,需要将相关的固件和数字证书烧录到芯片中。安全芯片一般在安全验证等环节起着鉴权等的作用,对于信息安全具有很大的重要性。但是,现有烧录技术都是预先生成好固件和数字证书等数据并保存在烧录设备中,这使得固件和数字证书等数据面临着极大的泄露风险。一旦固件和数字证书等数据泄露出去,可能被不法分子复制出相同的安全芯片,使得信息安全面临重大威胁。



技术实现要素:

为了解决上述技术问题,本发明的目在于提供一种固件烧录系统和方法。

一方面,本发明实施例包括一种固件烧录系统,包括烧录底板、烧录电脑和服务器,所述烧录底板通过烧录电脑与服务器连接,所述烧录底板上设有人机交互模块;

所述烧录底板用于安装并连接待烧录芯片,以及通过人机交互模块显示对待烧录芯片的烧录状态;

所述服务器用于在接收到烧录电脑发出的烧录请求信号之后,读取与待烧录芯片相应的原始固件,生成与原始固件相应的数字证书,然后将所述原始固件和数字证书发送到烧录电脑;

所述烧录电脑用于将所述原始固件和数字证书合并为待烧录文件,并将所述待烧录文件发送到烧录底板,驱动所述烧录底板将接收到的待烧录文件烧录至待烧录芯片。

进一步地,所述服务器是在执行认证程序并认证通过后将所述原始固件和数字证书发送到烧录电脑的。

进一步地,所述认证程序具体包括以下步骤:

读取所述烧录底板的id和烧录电脑的id;

识别所述烧录请求信号的发出时间;

识别所述烧录底板和烧录电脑所在的位置;

当所述烧录底板的id、烧录电脑的id、烧录请求信号的发出时间以及烧录底板和烧录电脑所在的位置均与相应的预先设定的任务参数核对一致时,判断认证通过。

进一步地,所述烧录电脑还用于在开机后执行以下初始化步骤:

读取设定的任务参数;所述任务参数包括所要使用的烧录底板的id、所要烧录的待烧录芯片的序列号、所要进行烧录的时间段;

根据所述任务参数对烧录底板及其安装的待烧录芯片进行检测和校验,当检测和校验通过时将烧录底板设定为就绪状态;

请求服务器发送烧录许可信息,在接收到烧录许可信息时进入就绪状态。

进一步地,所述烧录底板还通过人机交互模块实时检测烧录开始信号、烧录中止信号和烧录复位信号;当检测到烧录开始信号时启动将接收到的待烧录文件烧录至待烧录芯片的过程;当检测到烧录中止信号时中止将接收到的待烧录文件烧录至待烧录芯片的过程;当检测到烧录复位信号时中止将接收到的待烧录文件烧录至待烧录芯片的过程并进行复位。

进一步地,所述原始固件是以数据流的形式发送到烧录电脑的。

进一步地,所述原始固件和数字证书是通过不同信道发送到烧录电脑的。

进一步地,在所述烧录底板将接收到的待烧录文件烧录至待烧录芯片的过程中,所述烧录电脑还实时生成烧录情况信息,并将所述烧录情况信息反馈至服务器。

进一步地,所述烧录情况信息包括烧录进度和烧录失败率。

另一方面,本发明实施例包括还一种固件烧录方法,包括以下步骤:

在接收到烧录请求信号之后,读取与待烧录芯片相应的原始固件,生成与原始固件相应的数字证书;

将所述原始固件和数字证书合并为待烧录文件;

将待烧录文件烧录至待烧录芯片;

实时显示对待烧录芯片的烧录状态。

本发明的有益效果是:通过设置烧录底板、烧录电脑和服务器,所述烧录底板执行烧录功能,所述烧录电脑执行本地控制功能,所述服务器执行远程控制、认证以及原始固件和数字证书生成的功能,由于原始固件和数字证书是在对待烧录芯片的烧录过程中实时生成的,避免了预先生成原始固件和数字证书面临的泄露风险;由于烧录底板和烧录电脑并不保存原始固件和数字证书,即使烧录底板和烧录电脑被盗也不会造成原始固件和数字证书泄露,用户可以使用其他设备替代工作;由于服务器执行对烧录底板和烧录电脑的认证程序,避免了烧录底板和烧录电脑被非法替换和篡改等造成的泄露风险;由于烧录底板、烧录电脑和服务器之间使用互联网连接,用户可以使用不同的烧录底板和烧录电脑接入服务器,使得用户可以灵活地选择生产场地。

附图说明

图1为本发明固件烧录系统实施例的结构框图;

图2为本发明固件烧录方法实施例的流程图;

图3为本发明固件烧录系统实施例的工作流程图。

具体实施方式

本实施例包括一种固件烧录系统,参照图1,包括烧录底板、烧录电脑和服务器,所述烧录底板通过烧录电脑与服务器连接,所述烧录底板上设有人机交互模块;

所述烧录底板用于安装并连接待烧录芯片,以及通过人机交互模块显示对待烧录芯片的烧录状态;

所述服务器用于在接收到烧录电脑发出的烧录请求信号之后,读取与待烧录芯片相应的原始固件,生成与原始固件相应的数字证书,然后将所述原始固件和数字证书发送到烧录电脑;

所述烧录电脑用于将所述原始固件和数字证书合并为待烧录文件,并将所述待烧录文件发送到烧录底板,驱动所述烧录底板将接收到的待烧录文件烧录至待烧录芯片。

本实施例中,所要烧录的芯片是stm32系列单片机,该系列单片机被广泛应用于车联网安全芯片等芯片产品。

所述烧录底板上包括有通信电路、烧写电路和驱动电路。所述通信电路连接到烧录电脑,使得烧录底板可以与烧录电脑进行通信,优选地所述通信电路可以运行usb协议,即通信电路通过usb接口与烧录电脑连接。所述烧写电路包括多个用于安装stm32单片机的芯片座以及相应的转码电路,烧写电路可以将通信电路所接收到的数据转换成相应的时序脉冲,从而将数据烧写到stm32单片机中,优选地烧写电路是通过swd接口与stm32单片机连接的。驱动电路包括必要的供电电路和时钟电路等,使得stm32单片机可以正常运行。烧录底板上还包括用于至少一个固定stm32单片机的夹具,使得一个烧录底板可以安装并连接至少一个stm32单片机。

优选地,烧录底板还可以安装按钮、显示屏和指示灯等人机交互模块,使得用户可以通过人机交互模块操作烧录底板,以及通过人机交互模块获取烧录状态。例如,通过显示屏来显示文字信息,以告知工作人员当前的烧录进度和正常状态;通过红色指示灯常亮表示烧录错误,通过蓝色指示灯常亮表示正在烧录,通过绿色指示灯常亮表示就绪。

所述烧录电脑可以是个人计算机,也可以是具有控制功能的最小模块。当烧录电脑是最小模块时,烧录电脑可能与烧录底板集成在一起成为一体的设备,此时,本实施例中的烧录底板是指这个一体的设备中具有烧录功能的部分,本实施例中的烧录电脑是指这个一体的设备中具有控制功能的部分。优选地,烧录电脑运行st-linkutility程序,该程序使得烧录电脑具有控制烧录底板的功能。

本实施例中,所述烧录底板和烧录电脑安装在本地端,相应地,所述服务器安装在远端,即烧录底板和烧录电脑安装在生产线等环境,所述服务器安装在云端。服务器与烧录电脑可以通过公用互联网连接,也可以通过内部专网连接。

本实施例中,待烧录芯片安装在烧录底板上,用户通过接通电源、按下启动按钮等动作向烧录底板发出烧录指令。烧录电脑检测到烧录底板受到烧录指令触发后,生成烧录请求信号,并通过烧录底板读取固化在待烧录芯片中的序列号,该序列号是在待烧录芯片生产过程中便写入到待烧录芯片中的。烧录电脑将序列号与烧录请求信号发送到服务器,优选地,烧录底板所读取到的序列号本身可以作为烧录请求信号。

本实施例中,所述服务器是在执行认证程序并认证通过后将所述原始固件和数字证书发送到烧录电脑的。即服务器在读取与待烧录芯片相应的原始固件,生成与原始固件相应的数字证书以及将所述原始固件和数字证书发送到烧录电脑之前,先执行认证程序,该认证程序的执行结果包括认证通过和认证不通过。当认证程序的执行结果为认证通过时,再执行读取与待烧录芯片相应的原始固件,生成与原始固件相应的数字证书以及将所述原始固件和数字证书发送到烧录电脑等步骤。

所述认证程序是一个鉴权过程,即判断烧录底板和烧录电脑是否合法设备。当烧录底板和烧录电脑均通过认证时,服务器才执行后续步骤,否则,服务器拒绝执行后续步骤。还可以对服务器进行进一步设置,使得当烧录底板和烧录电脑均通过认证且处于合法的生产时段时,服务器才执行后续步骤,否则,服务器拒绝执行后续步骤。

当烧录底板和烧录电脑均通过认证时,根据接收到的序列号通过查表等方法判断所要烧录的待烧录芯片的型号,然后查找到相应的原始固件,该原始固件是要烧录到待烧录芯片中的二进制文件。服务器根据所述序列号,查找得到相应的数据并生成相应的数字证书,该过程与所使用的数字证书算法及厂商的设定有关,本实施例不涉及对数字证书生成方法的改进。

由于烧录底板上可以安装多个待烧录芯片,即烧录底板可以同时进行对多个待烧录芯片的烧录过程,因此服务器所发送的原始固件和数字证书有一一对应的关系。服务器将原始固件和相应的数字证书发送到烧录电脑,使得烧录电脑可以控制烧录底板上相应的芯片座对安装在该芯片座上的待烧录芯片进行烧录。

烧录电脑执行对原始固件和相应的数字证书的合并过程,该合并过程可以通过二进制数据的拼接实现,从而将拼接后的数据作为待烧录文件;也可以对原始固件和相应的数字证书的二进制数据进行相应的算法处理,得到的处理结果作为待烧录文件。

本实施例中,烧录系统中的服务器可以连接多个烧录电脑,每个烧录电脑可以连接多个烧录底板,这些烧录底板可以分别连接不同的待烧录芯片,此时,烧录系统支持同时多路烧写不同的固件,提高产线产能。

本发明系统设置烧录底板、烧录电脑和服务器,所述烧录底板执行烧录功能,所述烧录电脑执行本地控制功能,所述服务器执行远程控制、认证以及原始固件和数字证书生成的功能,由于原始固件和数字证书是在对待烧录芯片的烧录过程中实时生成的,避免了预先生成原始固件和数字证书面临的泄露风险;由于烧录底板和烧录电脑并不保存原始固件和数字证书,即使烧录底板和烧录电脑被盗也不会造成原始固件和数字证书泄露,用户可以使用其他设备替代工作;由于服务器执行对烧录底板和烧录电脑的认证程序,避免了烧录底板和烧录电脑被非法替换和篡改等造成的泄露风险;由于烧录底板、烧录电脑和服务器之间使用互联网连接,用户可以使用不同的烧录底板和烧录电脑接入服务器,使得用户可以灵活地选择生产场地。

进一步作为优选的实施方式,所述认证程序具体包括以下步骤:

读取所述烧录底板的id和烧录电脑的id;

识别所述烧录请求信号的发出时间;

识别所述烧录底板和烧录电脑所在的位置;

当所述烧录底板的id、烧录电脑的id、烧录请求信号的发出时间以及烧录底板和烧录电脑所在的位置均与相应的预先设定的任务参数核对一致时,判断认证通过。

本实施例中,服务器通过硬件识别算法从与烧录底板的通信数据中识别烧录底板的id,以及从与烧录电脑的通信数据中识别烧录电脑的id;服务器通过时钟比对识别所述烧录请求信号的发出时间;服务器通过ip地址识别算法识别所述烧录底板和烧录电脑所在的地理位置或网络位置。

本实施例中,服务器存储了预先设定的任务参数,所述任务参数记录了所要执行的烧录任务允许使用的烧录底板、允许使用的烧录电脑、允许的烧录时间段和允许的产地等信息。其中允许使用的烧录底板具体包括一系列烧录底板id白名单,即只有白名单上存在与读取到的烧录底板id一致的id时,才判断认证通过;允许使用的烧录电脑具体包括一系列烧录电脑id白名单,即只有白名单上存在与读取到的烧录电脑id一致的id时,才判断认证通过;允许的烧录时间段包括一系列时间段白名单,即识别所述烧录请求信号的发出时间处于白名单上所列的时间段内时,才判断认证通过;允许的产地包括一系列地理位置白名单,即只有白名单上存在与识别到的烧录底板和烧录电脑所在的位置一致的地理位置时,才判断认证通过。

进一步作为优选的实施方式,所述烧录电脑还用于在开机后执行以下初始化步骤:

读取设定的任务参数;所述任务参数包括所要使用的烧录底板的id、所要烧录的待烧录芯片的序列号、所要进行烧录的时间段;

根据所述任务参数对烧录底板及其安装的待烧录芯片进行检测和校验,当检测和校验通过时将烧录底板设定为就绪状态;

请求服务器发送烧录许可信息,在接收到烧录许可信息时进入就绪状态。

其中,任务参数是由负责烧录工作的工作人员设定的,任务参数可以储存在烧录底板、烧录电脑或者服务器上,当任务参数存储在烧录底板或服务器上时,烧录电脑与烧录底板或服务器进行通信以将任务参数读取指烧录电脑。任务参数是与本次烧录任务有关的指标,包括本次任务所要使用的烧录底板的id、所要烧录的待烧录芯片的序列号、所要进行烧录的时间段等。

所要使用的烧录底板的id用来区分烧录底板的型号和序号,使得当烧录电脑连接多个烧录底板进行流水线生产时,可以准确地区分多个烧录底板,并驱动指定的烧录底板进行烧录;待烧录芯片的序列号是固化在待烧录芯片中的不可篡改的信息,序列号可以用来区分多个不同的芯片。所要进行烧录的时间段可以指本次烧录任务开始时间所在的时间段、本次烧录任务结束时间所在的时间段、本次烧录任务整个过程所在的时间段等。

根据所述任务参数对烧录底板及其安装的待烧录芯片烧录底板及其安装的待烧录芯片进行检测和校验,具体可以包括以下步骤:

①.检测是否存在与任务参数中所要使用的烧录底板的id对应的烧录底板;

②.当存在对应的烧录底板时,检测该烧录底板是否安装了待烧录芯片,并驱动烧录底板对待烧录芯片进行校验;

③.当安装有待烧录芯片时且待烧录芯片校验正常时,检测该待烧录芯片的序列号是否与任务参数中所要烧录的待烧录芯片的序列号对应;

④.当该待烧录芯片的序列号与任务参数中所要烧录的待烧录芯片的序列号对应时,检测该烧录底板在任务参数中设定的所要进行烧录的时间段是否处于空闲状态;

⑤.当烧录底板在所要进行烧录的时间段是否处于空闲状态时,将烧录底板设定为就绪状态,使得烧录底板随时可以接收待烧录文件并进行烧录。

如果烧录底板及其安装的待烧录芯片未通过检测和校验,那么烧录底板就不会被设定为就绪状态,即烧录底板无法被操作和使用,不能对待烧录芯片进行烧录,保障烧录工作的安全。

烧录电脑还与服务器进行通信,请求服务器发送烧录许可信息,所述烧录许可信息可以是一个确认指令。烧录电脑接收到烧录许可信息后,烧录电脑进入就绪状态。

如果服务器未向烧录电脑发送烧录许可信息,那么烧录电脑就不会被设定为就绪状态,即烧录电脑无法被操作和使用,不能驱动烧录底板对待烧录芯片进行烧录,保障烧录工作的安全。

进一步作为优选的实施方式,所述烧录底板还通过人机交互模块实时检测烧录开始信号、烧录中止信号和烧录复位信号;当检测到烧录开始信号时启动将接收到的待烧录文件烧录至待烧录芯片的过程;当检测到烧录中止信号时中止将接收到的待烧录文件烧录至待烧录芯片的过程;当检测到烧录复位信号时中止将接收到的待烧录文件烧录至待烧录芯片的过程并进行复位。

人机交互模块中可以设置“开始”、“中止”和“复位”按钮,烧录底板实时检测“开始”、“中止”和“复位”按钮的触发。当工作人员未按下“开始”按钮时,暂不启动将接收到的待烧录文件烧录至待烧录芯片的过程,也就是即使烧录底板接收到了待烧录文件,也不将待烧录文件烧录至待烧录芯片;工作人员按下“开始”按钮后,烧录底板启动将接收到的待烧录文件烧录至待烧录芯片的过程,也就是将待烧录文件烧录至待烧录芯片。工作人员按下“中止”按钮后,中止将接收到的待烧录文件烧录至待烧录芯片的过程,也就是如果烧录底板正在进行将接收到的待烧录文件烧录至待烧录芯片的过程,则停止执行这个过程。工作人员按下“复位”按钮后,中止将接收到的待烧录文件烧录至待烧录芯片的过程并进行复位,也就是停止执行将接收到的待烧录文件烧录至待烧录芯片的过程,然后对烧录底板的工作状态进行复位,重新进入就绪状态。

进一步作为优选的实施方式,所述原始固件是以数据流的形式发送到烧录电脑的。

服务器通过数据流的形式,将原始固件所包含的二进制数据发送到烧录电脑,这可以避免原始固件传输过程中被窃听或篡改。

进一步作为优选的实施方式,所述原始固件和数字证书是通过不同信道发送到烧录电脑的。本实施例中,服务器与烧录电脑之间可以通过多条不同的互联网专线连接,也可以同时使用有线和无线的方式连接。服务器可以将原始固件通过其中一条互联网专线发送到烧录电脑,将数字证书通过另一条互联网专线发送到烧录电脑。服务器也可以将原始固件通过有线方式发送到烧录电脑,将数字证书通过无线方式发送到烧录电脑。通过使用不同信道分别发送原始固件和数字证书,可以降低原始固件和数字证书被同时窃听或篡改的风险。由于在本实施例中,原始固件和数字证书不能单独地烧录到待烧录芯片中,必须经过烧录电脑合并得到待烧录文件之后,才能执行对待烧录芯片的烧写过程,因此通过使用不同信道分别发送原始固件和数字证书,可以阻止不法分子非法复制芯片。

进一步作为优选的实施方式,在所述烧录底板将接收到的待烧录文件烧录至待烧录芯片的过程中,所述烧录电脑还实时生成烧录情况信息,并将所述烧录情况信息反馈至服务器。所述烧录情况信息的生成过程和反馈过程可以使用烧录电脑的st-linkutility程序来执行。

本实施例中,所述烧录情况信息包括烧录进度和烧录失败率。所述烧录进度是指在所述烧录底板将接收到的待烧录文件烧录至待烧录芯片的过程中,已烧写到待烧录芯片中的数据量与待烧录文件的总数据量的比值。所述烧录失败率是指在一次烧录任务中,烧录失败的待烧录芯片数量与待烧录芯片总数的比值。可以对服务器或烧录电脑进行设置,使得当某一烧录底板对应的烧录进度长时间未达到预定值时进行报错,以及使得当某一烧录底板对应的烧录失败率达到预定值时进行报错,提醒工作人员对烧录系统进行检修。

本实施例还包括一种固件烧录方法,参照图2,包括以下步骤:

s1.在接收到烧录请求信号之后,读取与待烧录芯片相应的原始固件,生成与原始固件相应的数字证书;

s2.将所述原始固件和数字证书合并为待烧录文件;

s3.将待烧录文件烧录至待烧录芯片;

s4.实时显示对待烧录芯片的烧录状态。

本实施例中的固件烧录方法可以由如图1所示的固件烧录系统来执行。具体地,步骤s1中,服务器根据所述序列号读取相应的原始固件,根据所述序列号生成相应的数字证书,然后将所述原始固件和数字证书发送到烧录电脑;步骤s2.中,烧录电脑将所述原始固件和数字证书合并为待烧录文件,并将所述待烧录文件发送到烧录底板;步骤s3.中,在烧录电脑的驱动下,烧录底板将接收到的待烧录文件烧录至待烧录芯片;步骤s4中,烧录底板通过人机交互模块实时显示对待烧录芯片的烧录状态。

进一步作为优选的实施方式,在执行步骤s1之前,服务器还执行认证程序。所述认证程序是针对烧录底板和烧录电脑执行的,所述认证程序具体包括以下步骤:

s201.读取所述烧录底板的id和烧录电脑的id;

s202.识别所述烧录请求信号的发出时间;

s203.识别所述烧录底板和烧录电脑所在的位置;

s204.当所述烧录底板的id、烧录电脑的id、烧录请求信号的发出时间以及烧录底板和烧录电脑所在的位置均与相应的预先设定的任务参数核对一致时,判断认证通过。

上述步骤s201-s204是在服务器中执行的。

进一步作为优选的实施方式,所述方法还包括以下步骤:

s5.在将接收到的待烧录文件烧录至待烧录芯片的过程中实时生成烧录情况信息;

s6.将所述烧录情况信息进行反馈。

本实施例的步骤s5中,烧录电脑实时生成烧录情况信息,所述烧录情况信息包括烧录进度和烧录失败率。执行步骤s6,将所述烧录情况信息反馈至服务器。

本实施例中的固件烧录方法中的各步骤,可以分别使用本实施例中固件烧录系统中的烧录底板、烧录电脑和服务器来执行。本实施例中的固件烧录方法,具备与固件烧录系统相应的功能和有益效果。

本发明固件烧录系统的一个工作流程原理参照图3。整个工作流程可以分为准备阶段和烧录阶段两部分,准备阶段和烧录阶段都由烧录底板、烧录电脑和服务器按照一定的时序分别执行相应的步骤组成。

在准备阶段,烧录电脑接收到开机指令后与烧录底板进行通讯,执行以下步骤对烧录底板进行初始化以及自身进行初始化:

读取设定的任务参数;所述任务参数包括所要使用的烧录底板的id、所要烧录的待烧录芯片的序列号、所要进行烧录的时间段;

根据所述任务参数对烧录底板及其安装的待烧录芯片进行检测和校验,当检测和校验通过时将烧录底板设定为就绪状态;

请求服务器发送烧录许可信息,在接收到烧录许可信息时进入就绪状态。

烧录底板初始化后,通过人机交互模块实时检测工作人员发出的触发信号,在检测到触发信号后发出烧录指令,烧录电脑根据烧录指令生成烧录请求信号。服务器接收到烧录请求信号后,对烧录底板和烧录电脑执行以下认证程序:

读取所述烧录底板的id和烧录电脑的id;

识别所述烧录请求信号的发出时间;

识别所述烧录底板和烧录电脑所在的位置;

当所述烧录底板的id、烧录电脑的id、烧录请求信号的发出时间以及烧录底板和烧录电脑所在的位置均与相应的预先设定的任务参数核对一致时,判断认证通过。

当认证程序通过后,启动烧录阶段。

在烧录阶段,服务器在接收到烧录电脑发出的烧录请求信号之后,服务器生成并向烧录电脑发送原始固件和数字证书,烧录电脑将接收到的原始固件和数字证书合并成为待烧录文件,由烧录底板将待烧录文件烧录至待烧录芯片中。在烧录底板将待烧录文件烧录至待烧录芯片的过程中,烧录电脑生成烧录情况信息并反馈至服务器和烧录底板。服务器对烧录情况进行监控,例如当某一烧录底板对应的烧录进度长时间未达到预定值时进行报错,以及当某一烧录底板对应的烧录失败率达到预定值时进行报错,提醒工作人员对烧录系统进行检修;烧录底板通过人机交互模块展现烧录情况,例如当某一烧录底板对应的烧录进度长时间未达到预定值时,驱动红色指示灯闪烁,当某一烧录底板对应的烧录失败率达到预定值时,驱动红色指示灯常亮,提醒工作人员对烧录系统进行检修。

以上是对本发明的较佳实施进行了具体说明,但对本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1