一种固件烧写组件及固件烧写方法、系统和存储介质与流程

文档序号:17089385发布日期:2019-03-13 23:16阅读:194来源:国知局
一种固件烧写组件及固件烧写方法、系统和存储介质与流程

本申请涉及计算机技术领域,更具体地说,涉及一种固件烧写组件及固件烧写方法、系统和一种计算机可读存储介质。



背景技术:

现今无论是小型的嵌入式设备还是大型的服务器设备都采用大量的嵌入式控制芯片用来处理各种信息,而大多数的嵌入式控制器均需要烧写uboot、操作系统、配置文件等固件程序,微控制器有了这些固件才能在上电后正常启动程序完成相应的控制命令。

目前烧写固件方法第一种为采用固件通用的烧写器对空的存储芯片进行烧写编译完成的二进制固件,烧写完成后再把存储芯片焊接或者是装到电路板的测试座里。这种烧写固件的方式操作简单易行,但是只适合需要烧写的固件数量较少时,当需要烧写的芯片数量很大时,需要耗费大量的人力和时间来完成这一任务,并且随着烧写数量的增加还容易造成由于人工操作失误带来的烧写不良的产生。

第二种为采用jtag烧写器连接微控制器的jtag接口对微控制器的固件存储芯片进行烧写,这种烧写方式只需要一个jtag烧写器连接微控制器的jtag接口即可,操作简单。但是在装完整机后再次更新固件时,不容易连接jtag接口,在批量烧写时需要连接每一微控制器的jtag接口,增加大量的人工和时间成本。

因此,如何实现固件程序的批量烧写是本领域技术人员需要解决的问题。



技术实现要素:

本申请的目的在于提供一种固件烧写方法、系统及一种电子设备和一种计算机可读存储介质,实现了固件程序的批量烧写。

为实现上述目的,本申请提供了一种固件烧写组件,包括烧写器、数据选择器;

所述烧写器存储有烧写文件,并通过所述数据选择器与待烧写设备中的固件存储芯片相连;

所述数据选择器,用于在所述待烧写设备处于烧写状态时控制所述烧写器与所述固件存储芯片连接,以便所述烧写器利用所述烧写文件对所述固件存储芯片进行烧写操作,在所述待烧写设备处于非烧写状态时控制所述固件存储芯片与所述待烧写设备中的控制器连接。

其中,在所述待烧写设备处于非烧写状态时所述固件存储芯片通过spi接口与所述控制器连接。

其中,所述数据选择器设置于所述控制器的jtag接口。

其中,所述数据选择器设置于所述固件存储芯片的通信接口。

为实现上述目的,本申请提供了一种固件烧写方法,应用于上述固件烧写组件,包括:

当接收到待烧写设备的烧写命令时,通过数据选择器控制烧写器与所述待烧写设备中的固件存储芯片连接;

根据所述存储芯片的地址选择目标烧写文件,并利用所述烧写器将所述目标烧写文件烧写至所述固件存储芯片。

其中,还包括:

在通用烧写器对芯片的烧写过程中,记录所述通用烧写器的输出引脚的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中;

在jtag烧写器对芯片的烧写过程中,记录所述jtag烧写器的jtag接口的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中。

其中,还包括:

当接收到烧写文件的更新命令时,根据所述更新命令更新所述烧写器中的烧写文件。

为实现上述目的,本申请提供了一种固件烧写系统,应用于上述固件烧写组件,包括:

控制模块,用于当接收到待烧写设备的烧写命令时,通过数据选择器控制烧写器与所述待烧写设备中的固件存储芯片连接;

烧写模块,用于根据所述存储芯片的地址选择目标烧写文件,并利用所述烧写器将所述目标烧写文件烧写至所述固件存储芯片。

其中,还包括:

第一记录模块,用于在通用烧写器对芯片的烧写过程中,记录所述通用烧写器的输出引脚的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中;

第二记录模块,用于在jtag烧写器对芯片的烧写过程中,记录所述jtag烧写器的jtag接口的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述固件烧写方法的步骤。

通过以上方案可知,本申请提供的一种固件烧写组件,包括烧写器、数据选择器;所述烧写器存储有烧写文件,并通过所述数据选择器与待烧写设备中的固件存储芯片相连;所述数据选择器,用于在所述待烧写设备处于烧写状态时控制所述烧写器与所述固件存储芯片连接,以便所述烧写器利用所述烧写文件对所述固件存储芯片进行烧写操作,在所述待烧写设备处于非烧写状态时控制所述固件存储芯片与所述待烧写设备中的控制器连接。

本申请提供的固件烧写组件,将烧写文件存储至其中的烧写器中,该烧写器通过数据选择器与待烧写设备中的固件存储芯片相连,数据选择器能够在待烧写设备处于烧写状态时控制固件存储芯片与烧写器连接,处于非烧写状态时与系统的控制器连接,完成系统的正常功能。所有的待烧写设备只要连接到了该烧写组件都可以利用其中的烧写文件批量完成烧写,固件烧写摆脱手工对板上固件的逐个烧写。本申请还公开了一种固件烧写方法、系统和一种计算机可读存储介质,同样能实现上述技术效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种固件烧写组件的结构图;

图2为本申请实施例公开的另一种固件烧写组件的结构图;

图3为本申请实施例公开的又一种固件烧写组件的结构图;

图4为本申请实施例公开的一种固件烧写方法的流程图;

图5为本申请实施例公开的一种固件烧写系统的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种固件烧写组件,实现了固件程序的批量烧写。

参见图1,本申请实施例公开的一种固件烧写组件的结构图,如图1所示,包括烧写器100、数据选择器200;

所述烧写器100存储有烧写文件,并通过所述数据选择器200与待烧写设备中的固件存储芯片300相连;

所述数据选择器200,用于在所述待烧写设备处于烧写状态时控制所述烧写器100与所述固件存储芯片300连接,以便所述烧写器100利用所述烧写文件对所述固件存储芯片300进行烧写操作,在所述待烧写设备处于非烧写状态时控制所述固件存储芯片300与所述待烧写设备中的控制器400连接。

本实施例中的烧写文件可以为固件烧写文件,当然也可以为任何需要烧写到待烧写设备中的内容,在此不作具体限定。

烧写器100具体为一个可以输出通用烧写器或jtag烧写器的烧写波形(即烧写文件)的微控制器,可以以一个可以学习并模拟其他信号源输出信号的芯片来替代,在此不作具体限定。

数据选择器(multiplexer,mux),在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,也称为多路选择器或多路开关。在本实施例中,数据选择器200在待烧写设备处于烧写状态时控制烧写器100与固件存储芯片300连接,在待烧写设备处于非烧写状态时控制固件存储芯片300与待烧写设备中的控制器400连接,完成自身的系统功能。控制器与固件存储芯片之间的可以通过spi接口进行连接,当然也可以采用其他连接方式,在此不作具体限定。

在具体实施中,数据选择器200可以设置于上述控制器400的jtag接口,也可以设置于固件存储芯片300的通信接口。当设置于控制器400的jtag接口时,如图2所示,控制器400(即图中的嵌入式控制器)通过jtag接口与数据选择器相连,数据选择器通过jtag接口与烧写器相连,固件烧写方式采用现有技术中的第一种烧写方法,烧写文件具体为通用烧写器输出引脚的输出信号。

当设置于固件存储芯片的通信接口时,如图3所示,控制器400(即图中的嵌入式控制器)通过spi等总线接口与数据选择器相连,数据选择器通过spi等总线接口与烧写器相连,固件烧写方式采用现有技术中的第二种烧写方法,烧写文件具体为通用烧写器的输出信号。

本申请实施例提供的固件烧写组件,将烧写文件存储至其中的烧写器中,该烧写器通过数据选择器与待烧写设备中的固件存储芯片相连,数据选择器能够在待烧写设备处于烧写状态时控制固件存储芯片与烧写器连接,处于非烧写状态时与系统的控制器连接,完成系统的正常功能。所有的待烧写设备只要连接到了该烧写组件都可以利用其中的烧写文件批量完成烧写,固件烧写摆脱手工对板上固件的逐个烧写。

本申请实施例公开了一种固件烧写方法,实现了固件程序的批量烧写。

参见图4,本申请实施例公开的一种固件烧写方法的流程图,如图4所示,包括:

s101:当接收到待烧写设备的烧写命令时,通过数据选择器控制烧写器与所述待烧写设备中的固件存储芯片连接;

可以理解的是,在本步骤之前默认存在烧写器的制作步骤,具体的,在通用烧写器对芯片的烧写过程中,记录所述通用烧写器的输出引脚的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中;在jtag烧写器对芯片的烧写过程中,记录所述jtag烧写器的jtag接口的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中。

在具体实施中,将编译过的正确的固件二进制代码导入电脑主机,启动通用烧写器的烧写软件,选择需要存储固件的芯片的地址,放置芯片并选择需要烧写的文件对芯片进行烧写,在此过程中对通用烧写器的输出引脚信号进行抓取记录。若采用jtag口烧写固件,以同样的方式对jtag接口输出的信号进行抓取记录。对抓取记录的信号以二进制数值文件的形式保存下来。选取一种低成本微控制器,将上一过程中抓取记录的二进制文件导入低成本微控制器,并保证低成本微控制器在启动输出时能将通用烧写器或jtag烧写器输出的波形得以还原。

作为一种优选实施方式,还包括:当接收到烧写文件的更新命令时,根据所述更新命令更新所述烧写器中的烧写文件。

在具体实施中,当接收到更新内部存储固件库(即烧写文件库)的更新命令时时,用连接上层的串口或者其他通信接口完成本地固件库的更新操作。

s102:根据所述存储芯片的地址选择目标烧写文件,并利用所述烧写器将所述目标烧写文件烧写至所述固件存储芯片。

在具体实施中,烧写器通过串口或者是其他通信接口接受烧写及其他动作的命令,当接到烧写命令时,根据存储芯片的地址选择目标烧写文件,启动烧写程序,接管待烧写设备的通信接口,并模拟通用烧写器或jtag烧写器输出的固件烧写波形完成固件的烧写。

可以理解是,上述为完成一个待烧写设备的微控制器的操作,板上其他需要烧写及更新固件的芯片同样可以连接到烧写器上进行烧写,只需在烧写器的固件库里增加需要烧写的固件内容以及程序控制选择特定的通路即可。即使在原有存储固件芯片内的固件损坏或者是没有固件的情况下,同样可以对待烧写设备芯片进行批量烧写。

本申请实施例提供的固件烧写方法,将烧写文件存储至其中的烧写器中,该烧写器通过数据选择器与待烧写设备中的固件存储芯片相连,数据选择器能够在待烧写设备处于烧写状态时控制固件存储芯片与烧写器连接,处于非烧写状态时与系统的控制器连接,完成系统的正常功能。所有的待烧写设备只要连接到了该烧写组件都可以利用其中的烧写文件批量完成烧写,固件烧写摆脱手工对板上固件的逐个烧写。

下面对本申请实施例提供的一种固件烧写系统进行介绍,下文描述的一种固件烧写系统与上文描述的一种固件烧写方法可以相互参照。

参见图5,本申请实施例提供的一种固件烧写系统的结构图,如图5所示,包括:

控制模块501,用于当接收到待烧写设备的烧写命令时,通过数据选择器控制烧写器与所述待烧写设备中的固件存储芯片连接;

烧写模块502,用于根据所述存储芯片的地址选择目标烧写文件,并利用所述烧写器将所述目标烧写文件烧写至所述固件存储芯片。

本申请实施例提供的固件烧写系统,将烧写文件存储至其中的烧写器中,该烧写器通过数据选择器与待烧写设备中的固件存储芯片相连,数据选择器能够在待烧写设备处于烧写状态时控制固件存储芯片与烧写器连接,处于非烧写状态时与系统的控制器连接,完成系统的正常功能。所有的待烧写设备只要连接到了该烧写组件都可以利用其中的烧写文件批量完成烧写,固件烧写摆脱手工对板上固件的逐个烧写。

在上述实施例的基础上,作为一种优选实施方式,还包括:

第一记录模块,用于在通用烧写器对芯片的烧写过程中,记录所述通用烧写器的输出引脚的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中;

第二记录模块,用于在jtag烧写器对芯片的烧写过程中,记录所述jtag烧写器的jtag接口的输出信号,并将所述输出信号以二进制数值文件存储至所述烧写器中。

在上述实施例的基础上,作为一种优选实施方式,还包括:

更新模块,用于当接收到烧写文件的更新命令时,根据所述更新命令更新所述烧写器中的烧写文件。

本申请还提供了一种计算机可读存储介质,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的固件烧写方法的步骤。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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