CN106970810A - 固件烧录方法和*** - Google Patents
固件烧录方法和*** Download PDFInfo
- Publication number
- CN106970810A CN106970810A CN201710114474.2A CN201710114474A CN106970810A CN 106970810 A CN106970810 A CN 106970810A CN 201710114474 A CN201710114474 A CN 201710114474A CN 106970810 A CN106970810 A CN 106970810A
- Authority
- CN
- China
- Prior art keywords
- burning
- veneer
- control veneer
- host computer
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种固件烧录方法,包括:每个控制单板分别获取对应的网络协议IP地址,控制单板的数量至少为两个,每个控制单板包括对应的通讯接口,根据对应的IP地址,控制单板获取上位机发送的工作指令,根据对应的工作指令,控制单板获取对应的待烧录文件,通过对应的通讯接口,控制单板调用对应的安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端。此外还提供了一种固件烧录***。上述固件烧录方法和***,使得每个控制单板能够单独的调用ADB客户端进行终端的烧录,且控制单板的数量可以根据需要进行任意添加和配置,克服了ADB客户端面对一对多个终端应用场景时,多个终端存在资源竞争所导致烧录效率低下的缺点,提高了烧录效率。
Description
技术领域
本发明涉及电子技术领域,特别是涉及一种固件烧录方法和***。
背景技术
在电子技术领域,特别是嵌入式技术领域,常常需要进行固件的烧录。固件(firmware)是指固化在集成电路内部的程序代码,负责控制和协调电子设备的集成电路的功能,一般存储于设备中的电可擦除只读存储器EEPROM(Electrically ErasableProgrammable ROM,电可擦可编程只读存储器)或FLASH芯片中。
一般地,终端如POS(point of sale,销售终端)机的烧录***通常包括PC(personal computer,个人计算机)上位机、PCI(Peripheral Component Interconnect,外设部件互连标准)转USB扩展卡、烧录软件和待烧录终端组成,通常PC上安装有ADB(AndroidDebug Bridge,安卓调试桥)客户端,每个POS终端中均安装有ADB服务端。由于工业化的要求,往往在生产线上需要同时烧录多个POS终端,当直接通过PC上的USB接口连接多个终端烧录进行烧录时,PC需要调用ADB客户端与POS端中的ADB服务端进行连接,由于ADB客户端面对一对多个终端应用场景时,POS终端烧录资源时存在明显的资源竞争,即PC成功连接多台POS烧录时,每一台POS烧录时间明显大于单独一台POS的烧录时间,最终导致整个POS烧录过程效率低下。
发明内容
基于此,有必要针对上述问题,提供一种固件烧录***和方法,能够解决终端固件烧录过程中ADB客户端面对一对多个待烧录终端的应用场景所导致的烧录效率低下的问题。
一种固件烧录方法,所述方法包括:
每个控制单板分别获取对应的网络协议IP地址,所述控制单板的数量至少为两个,每个所述控制单板包括对应的通讯接口;
根据对应的IP地址,所述控制单板获取上位机发送的工作指令;
根据对应的工作指令,所述控制单板获取对应的待烧录文件;
通过对应的通讯接口,所述控制单板调用对应的安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端。
在其中一个实施例中,所述方法还包括:
每隔第一预设时间,所述控制单板将对应的当前工作指令反馈至所述上位机,以使所述上位机判断对应的所述当前工作指令是否需要更新并得到对应的第一判断结果;
所述控制单板接收所述上位机返回的对应的第一判断结果,根据对应的第一判断结果,若所述工作指令需要更新,则进入所述根据对应的IP地址,所述控制单板获取上位机发送的工作指令的步骤。
在其中一个实施例中,所述通过对应的通讯接口,所述控制单板调用对应的安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端的步骤之前还包括:所述控制单板检测对应的待烧录终端是否接入,若是,则进入所述通过对应的通讯接口,所述控制单板调用对应的安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端的步骤,若否,则进入所述控制单板检测对应的待烧录终端是否接入的步骤。
在其中一个实施例中,所述控制单板包括分布式缓存模块以及代理程序组件,所述根据对应的IP地址,所述控制单板获取上位机发送的工作指令的步骤包括:根据对应的IP地址,所述代理程序组件接收对应的工作指令,并将所述工作指令发送到所述分布式缓存模块进行存储。
在其中一个实施例中,所述方法还包括:
每隔第二预设时间,所述控制单板将对应的待烧录文件的烧录状态反馈至所述上位机,以使所述上位机对所述烧录状态进行判断并得到对应的第二判断结果;
所述控制单板接收所述上位机返回的对应的第二判断结果,根据对应的第二判断结果确定所述待烧录文件的烧录过程是否正常,若异常,则结束烧录;若正常,则进一步根据对应的第二判断结果确定所述待烧录文件的烧录进度是否完成,若完成,则断开与所述待烧录终端之间的通信连接;若未完成,则进入所述每隔第二预设时间,所述控制单板将对应的待烧录文件的烧录状态反馈至所述上位机的步骤。
一种固件烧录***,所述***包括:第一通信模块以及第一主控模块,所述第一主控模块同所述第一通信模块相连接,所述第一主控模块包括至少两个独立的控制单板,每个所述控制单板分别同所述第一通信模块连接,每个所述控制单板包括对应的通讯接口,每个所述控制单板分别能够通过对应的所述通讯接口与待烧录终端连接;
在其中一个实施例中,所述第一通信模块用于所述第一主控模块与上位机进行通信,并为所述上位机以及所述第一主控模块中的每个所述控制单板分配对应的网络协议IP地址;
在其中一个实施例中,所述控制单板用于根据对应的IP地址,通过所述第一通信模块接收所述上位机发送的对应的工作指令,根据所述工作指令,获取对应的待烧录文件,并通过对应的通讯接口调用安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端。
在其中一个实施例中,所述***还包括第二主控模块以及第二通讯模块,所述第二主控模块同所述第二通讯模块相连接,所述第二通讯模块能够与所述上位机或所述第一通信模块相连接,所述第二通讯模块用于所述第二主控模块与所述上位机进行通信,并为所述第二主控模块中的每个所述控制单板分配对应的网络协议IP地址。
在其中一个实施例中,所述控制单板还包括分布式缓存模块以及代理程序组件,所述代理程序组件用于接收所述第一通信模块发送的工作指令,并发送到所述分布式缓存模块进行存储。
在其中一个实施例中,所述通信接口包括通用串行总线USB接口、串行通信接口以及以太网接口的至少一种。
在其中一个实施例中,所述分布式缓存模块采用Memcache。
上述烧录方法和***,通过每个控制单板分别获取对应的网络协议IP地址,控制单板的数量至少为两个,每个控制单板包括对应的通讯接口,根据对应的IP地址,控制单板获取上位机发送的工作指令,根据对应的工作指令,控制单板获取对应的待烧录文件,通过对应的通讯接口,控制单板调用对应的安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端,使得每个控制单板能够单独的调用ADB客户端进行终端的烧录,且控制单板的数量可以根据需要进行任意添加和配置,从而能够同时烧录多个终端,克服了ADB客户端面对一对多个终端应用场景时,多个终端存在资源竞争导致烧录过程效率低下的缺点,提高了烧录效率,满足了工业化生产的需求。
附图说明
图1为一个实施例中固件烧录方法的应用环境图;
图2为一个实施例中固件烧录方法的流程图;
图3为另一个实施例中固件烧录方法的流程图;
图4为另一个实施例中固件烧录方法的流程图;
图5为一个实施例中为每个控制单板分配IP地址结构框图;
图6为另一个实施例中固件烧录***的结构框图;
图7为另一个实施例中为每个控制单板分配IP地址的界面示意图;
图8为一个实施例中控制单板烧录过程日志界面示意图;
图9为一个实施例中控制单板的内部结构框图。
具体实施方式
在一个具体地实施例中,上述固件烧录方法的应用环境如图1所示,包括上位机110、控制单板模块120以及待烧录终端模块130,其中控制单板模块120包括至少两个控制单板,待烧录终端模块包括多个待烧录终端,每个待烧录终端分别能够与每个控制单板进行通信,通信方式包括不限于通用串行总线接口USB(Universal Serial Bus,USB)、无线网络通信WiFi、串行通信接口以及以太网通信接口中的至少一种,上位机110能够与控制单板模块120中每个控制单板分别进行通信,通信方式包括但不限于以有线太网通信方式以及无线网络通信方式WiFi等。
其中,在一个具体地实施例中,控制单板的硬件配置如下:
表1
在一个实施例中,提供了一种固件烧录方法,应用于上述应用环境,如图2所示,包括以下步骤:
步骤S210,每个控制单板分别获取对应的网络协议IP地址,控制单板的数量至少为两个,每个控制单板包括对应的通讯接口。
具体地,上位机与控制单板模块通过网络通信设备可以进行网络通信,且上位机与控制单板模块中的每个控制单板均处于同一个局域网络中,通过对应的网络通信设备,可以为每个控制单板分配对应的网络协议IP地址,这样以来,上位机与其中的每个控制单板能够进行通信,控制单板模块中的控制单板数量可以根据需要进行设置,但不少于两个。此外,控制单板模块的数量也可以为多个,新增的控制单板模块可以通过网络通信接口与上一级控制单板模块相连接,以实现同上位机进行网络通信,也可以直接同上位机通过网络接口连接以实现网络通信,同样地,新增的控制单板模块中每个控制单板以及上位机均处于同一个局域网中,上位机与其中的每个控制单板能够进行通信。
另外,每个控制单板均有对应的通信接口,该通信接口包括但不限于USB接口、WiFi接口、串行通信接口以及以太网通信接口,通过该通信接口,每个控制单板可以与待烧录终端进行通信。
在一个具体的实施例中,上位机为PC,控制单板模块的数量为一个,每个控制单板模块包括4个控制单板,网络通信设备为以太网交换机,每个控制单板均与以太网交换机相连接,通过以太网交换机为上位机以及每个控制单板分配IP地址,这里将上位机的IP地址设置为192.168.100.10,按照控制单板的先后顺序依次为其分配IP地址,即为192.168.100.20、192.168.100.21、192.168.100.22以及192.168.100.23,这样以来,每个控制单板和上位机均处于同一个局域网中,上位机可以与每个控制单板独立的进行通信,即当每个控制单板***启动后,可独立的访问每个控制单板。若新增一个相同的控制单板模块,通过以太网接口同交换机或者上一级控制单板模块相连接,则通过以太网交换机为其分配对应的IP地址,即为192.168.100.24、192.168.100.25、192.168.100.26以及192.168.100.27,以此类推,余皆相同。
步骤S220,根据对应的IP地址,控制单板获取上位机发送的工作指令。
具体地,可以根据需要,通过网络通信设备对上位机的IP地址进行设置,使得上位机与每个控制单板均处于同一个局域网之中,这样以来,当每个控制单板启动完成之后,每个控制单板作为服务端与上位机进行通信,上位机可以将对应的工作指令发送到控制单板,该工作指令由上位机根据获取的输入参数所确定的。
步骤S230,根据对应的工作指令,控制单板获取对应的待烧录文件。
具体地,工作指令包括对应的待安装文件、校验码以及文件对应的烧录顺序,其中校验码可采用MD5校验码,控制单板通过解析对应的工作指令,接收上位机发送对应的待烧录文件并进行存储。
在一个实施例中,待烧录文件包括:待烧录终端初始运行软件bootloader、配置文件、开机logo文件、操作***内核OS(Operation system,OS)以及终端应用程序。
步骤S240,通过对应的通讯接口,控制单板调用对应的烧录工具和安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端。
具体地,每个控制单板均有对应的通信接口与待烧录终端相连接,获取对应的待烧录文件之后,控制单板通过首先调用对应的烧录工具完成待烧录终端基础文件的烧录,由于控制单板安装有ADB客户端,待烧录终端安装有ADB服务端,控制单板通过调用ADB客户端,与待烧录终端进行通信,能够进一步将对应的应用程序写入待烧录终端。
在一个实施例中,控制单板与待烧录终端通过USB方式相连接,待烧录文件包括基础文件如初始运行软件bootloader、配置文件、开机logo文件、操作***内核OS,其中bootloader是指嵌入式***启动过程中最先运行的软件,用于初始化硬件和加载操作***内核,控制单板通过首先调用对应的烧录工具如Flashwrite工具完成上述基础文件的烧录,进一步的,通过调用ADB客户端与待烧录终端进行通信,将待烧录文件中对应的应用软件进行写入待烧录终端。
上述烧录方法,通过每个控制单板分别获取对应的网络协议IP地址,控制单板的数量至少为两个,每个控制单板包括对应的通讯接口,根据对应的IP地址,控制单板获取上位机发送的工作指令,根据对应的工作指令,控制单板获取对应的待烧录文件,通过对应的通讯接口,控制单板调用对应的烧录工具和安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端,使得每个控制单板能够单独的调用ADB客户端进行文件的烧录,且控制单板的数量可以根据需要进行任意添加和配置,从而能够同时烧录多个终端,克服了在ADB客户端面对一对多个终端应用场景中多个终端存在资源竞争所导致烧录过程效率低下的缺点,提高了烧录效率,满足了工业化生产的需求。
在一个实施例中,上述方法还包括:每隔第一预设时间,控制单板将对应的当前工作指令反馈至上位机,以使上位机判断对应的当前工作指令是否需要更新并得到对应的第一判断结果,控制单板接收上位机返回的对应的第一判断结果,根据对应的第一判断结果,若工作指令需要更新,则进入步骤S220,否则进入每隔第一预设时间,控制单板将对应的当前工作指令反馈至上位机的步骤。
具体地,控制单板***启动之后,上位机每隔预设时间间隔,读取控制单板对应的当前指令,控制单板即将对应的当前工作指令反馈至上位机,以使上位机检查当前工作指令是否需要更新,得到对应的第一判断结果,控制单板接收上位机返回的对应的第一判断结果,根据第一判断结果,如果是,则进入步骤S220,以获取最新工作指令,如果不是,则进入步骤S250。
在一个具体的实施例中,每个控制单板模块包括4个控制单板,将上位机的IP地址设置为192.168.100.10,按照控制单板的先后顺序依次为其分配IP地址,即为1#:192.168.100.20、2#:192.168.100.21、3#:192.168.100.22以及4#:192.168.100.23,这样以来,上位机通过运行为名为“controller.exe”控制台软件,通过使用CURL访问控制单板对应的RESTFUL API通信接口读取工作指令,“controller.exe”对应的控制命令格式为:
Controller.exe ID=1,File_n=filename_n,File_n_type=type_1等。
其中,ID表示单板编号每个***中的单板编号,与单板的IP地址一一对应。ID=1的单板对应IP地址为192.168.100.20,ID=2的单板对应IP地址为192.168.100.21由此类推到ID=6的单板IP地址为192.168.100.27;File_n表示编号为n,且需要上传到控制单板中待安装或烧录的文件路径,n为正整数;File_n_type表示第n个待烧录文件的类型。
如读取标号为1#的控制单板工作指令的过程如下,其中CURL是利用URL语法在命令行方式下工作的开源文件传输工具。
上位机读取控制单板1#工作指令的访问命令为:
CURL http://192.168.100.20/api/instruction。
单板返回数据如下。
其中,“app_name”表示当前烧录应用软件文件名,“app_md5_value”表示当前烧录文件名的一致性验证码(采用MD5算法),“configuration_file_name”表示当前烧录文件中的配置文件,“configuration_md5_value”表示对应的一致性校验码(采用MD5算法),“OS_file_name”表示当前烧录文件的操作***内核,“os_md5_value”表示当前烧录文件的操作***对应的一致性校验码(采用MD5算法),“logo_file_name”表示开机logo文件名,
即当前工作指令包含需要烧录配置文件、开机logo图片、操作***和应用软件的文件名称和MD5码值。由于初始运行软件bootloader和pubso(应用软件依赖动态库)不需要安装,值全为no。
同理,访问2#控制单板的命令为:CURL http://192.168.100.30/api/instruction,以此类推,即上位机可根据每个控制单板的IP地址查询控制单板的当前的工作指令。
在一个实施例中,如图3所示,步骤S240之前还包括:
步骤S250,控制单板检测对应的待烧录终端是否接入,若是,则进入步骤240,若否,则进入步骤S250。
在一个实施例中,控制单板包括分布式缓存模块以及代理程序组件,步骤S220包括:根据对应的IP地址,代理程序组件接收对应的工作指令,并将工作指令发送到分布式缓存模块进行存储。
具体地,控制单板采用分布式缓存模块以及代理程序组件,根据对应的IP地址,控制单板处理器接收到上位机发送的工作指令请求后们首先将工作指令请求发送至代理程序组件,然后通过代理程序组件将工作指令请求更新到分布式缓存模块中进行存储。
其中,采用代理程序组件减少了控制单板各个软件模块之间的耦合,采用分布式缓存模块则提高了控制单板整个***的响应速度和运行效率。
在一个具体地实施例中,代理程序组件采用broker组件,分布式缓存模块采用分布式高速缓存***。控制单板中的代理程序组件采用broke模式组件,控制单板和上位机之间通信协议采用HTTP协议,其中控制单板中的处理器作为HTTP服务器为上位机提供访问接入服务,控制单板通过HTTP服务器收到上位机发送的请求后,将该数据请求传递给broke模式组件,broke模式组件根据请求的内容分别将其中的工作指令更新到分布式缓存模块中,将控制单板根据工作指令所获得的待烧录文件复制到指定的文件路径。
在一个实施例中,上述方法还包括:每隔第二预设时间,控制单板将对应的待烧录文件的烧录状态反馈至上位机,以使上位机对烧录状态进行判断并得到对应的第二判断结果,控制单板接收上位机返回的对应的第二判断结果,根据对应的第二判断结果确定待烧录文件的烧录过程是否正常,若异常,则结束烧录;若正常,则进一步根据对应的第二判断结果确定待烧录文件的烧录进度是否完成,若完成,则断开与待烧录终端之间的通信连接;若未完成,则进入每隔第二预设时间,控制单板将对应的待烧录文件的烧录状态反馈至上位机的步骤。
具体地,每隔第二预设时间,上位机即读取控制单板对应的待烧录文件的烧录状态,并进行判断并得到对应的第二判断结果,发送至控制单板,其中烧录状态包括了待烧录文件的烧录过程是否正常以及烧录的进度等信息,根据第二判断结果,若异常,则结束烧录;若烧录过程正常,则进一步判断对应的烧录进度是否完成,如果完成,则断开与待烧录终端的通信连接,如果未完成,则继续获取控制单板对应的待烧录文件的烧录状态,并进行判断。
在一个具体地实施例中,每个控制单板模块包括4个控制单板,将上位机的IP地址设置为192.168.100.10,按照控制单板的先后顺序依次为其分配IP地址,即为1#:192.168.100.20、2#:192.168.100.21、3#:192.168.100.22以及4#:192.168.100.23,这样以来,上位机通过运行为名为“controller.exe”控制台软件,通过上位机这里使用CURL访问控制单板对应的RESTFUL API通信接口读取控制单板对应的烧录状态,如读取标号为1#—4#的控制单板烧录状态的过程如下:
CURL http://192.168.100.20/api/status;
CURL http://192.168.100.21/api/status;
CURL http://192.168.100.22/api/status;
CURL http://192.168.100.23/api/status。
参照1#控制单板为例,1#控制单板返回的数据如下:
其中,action表示当前烧录的状态,运行时为“start”,“stop”表示处于停止状态。
此外,还提供了一种固件烧录***,如图4所示,包括:第一通信模块310以及第一主控模块320,第一主控模块320与第一通信模块310相连接,第一主控模块320包括至少两个独立的控制单板,每个控制单板分别同第一通信模块310连接,每个控制单板包括对应的通讯接口,每个控制单板分别能够通过对应的通讯接口与待烧录终端连接;
第一通信模块310用于第一主控模块320与上位机进行通信,并为上位机330以及第一主控模块320中的每个控制单板分配对应的网络协议IP地址;
控制单板用于根据对应的IP地址,通过第一通信模块310接收上位机发送的对应的工作指令,根据工作指令,获取对应的待烧录文件,并通过对应的通讯接口调用烧录工具和安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端。
在一个实施例中,如图5所示,第一主控模块320包括四个对应的控制单板,即控制单板322、324、326以及328,第一通信模块310为以太网交换机,控制单板322、324、326以及328分别同第一通信模块310相连接,第一主控模块320通过第一通信模块310与上位机330相连接,通过第一通信模块310为上位机分配IP地址为192.168.100.10,按照上述控制单板的先后顺序依次为其分配IP地址,即为192.168.100.20、192.168.100.21、192.168.100.22以及192.168.100.23,每个控制单板和上位机330均处于同一个局域网中,上位机330可以与上述每个控制单板独立的进行通信。上述控制单板322、324、326以及328同待烧录终端322a、324a、326a以及328a进行连接,以控制单板322a为例,用于根据对应的IP地址,通过第一通信模块310接收上位机330发送的对应的工作指令,根据工作指令,获取对应的待烧录文件,并通过对应的通讯接口322a1调用烧录工具和安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端322a。
上述固件烧录***,通过为每个待烧录终端配置一个单独的控制单板,并将多个控制单板与上位机通过第一通信模块设置在同一个局域网络通信中,使得每个控制单板能够单独的调用ADB客户端进行终端的烧录,且控制单板的数量可以根据需要进行任意添加和配置,从而能够同时烧录多个终端,克服了ADB客户端面对一对多个终端应用场景时,每个待烧录终端独享对应的控制单板资源,多个终端存在资源竞争导致烧录过程效率低下的缺点,提高了烧录效率,满足了工业化生产的需求。
在一个实施例中,如图6所示,上述固件烧录***还包括第二主控模块420以及第二通信模块430,,第二主控模块420同第二通讯模块430相连接,第二主控模块420包括至少两个控制单板,第二通讯模块430能够与上位机330或第一通信模块310相连接,第二通讯模块410用于第二主控模块420与上位机330进行通信,并为第二主控模块420中的每个控制单板分配对应的网络协议IP地址。
具体地,在一个实施例中,如图7所示,第一通信模块410为以太网交换机,第二控制模块中的控制单板数目为4个,则第二主控模块420中包括4个控制单板422、424、426以及428,分别第二通信模块410相连接,第二主控模块420通过第二通信模块310与第一通信模块310相连接,若上位机IP地址为192.168.100.10,控制单板422、424、426以及428对应的IP地址分别为192.168.100.24、192.168.100.25、192.168.100.26以及192.168.100.27,这样当第二主控模块中的每个控制单板均可独立的与上位机进行通信,上述控制单板422、424、426以及428同待烧录终端422a、424a、426a以及428a进行连接,以控制单板422为例,用于根据对应的IP地址,通过第二通信模块410接收上位机330发送的对应的工作指令,根据工作指令,获取对应的待烧录文件,并通过对应的通讯接口422a1调用烧录工具和安卓调试桥ADB将待烧录文件烧录写入对应的待烧录终端422a。
以此类推,上述固件烧录***可根据需要,按照同样的模式进行扩充,可成倍的提高固件烧录***的效率,进一步的适应了工业化大生产的需要,降低了经济成本,提高了经济效益。
在一个实施例中,采用图7所示的固件烧录***,经过实际生产线的批量测试,一个班次(12个小时)可以完成800台POS端的烧录,若采用现有的烧录***,即使用PC连接USB进行POS端的烧录,在采用成本基本相同的情况下,采用两台上位机,如一台PC连接4个(最优情况下达到),一个班次(12个小时)只能完成500台的烧录,因此,采用图7所示的固件烧录***,单个工序的效率提升50%以上。
其中,单个控制单板烧录包括以下文件,如表2所示:
固件安装顺序 | 大小 |
配置文件 | 1000字节 |
开机图片 | 230740字节 |
操作*** | 10509145字节 |
密钥 | 550字节 |
APP | 137709字节 |
表2
以单个控制单板322为例,整个过程中,需要首先烧录操作***内核OS,整个烧录过程日志如图8所示,显然从实际的工作日志中可以看到,从1:45:57开始烧录到1:47:24到烧录结束,整个持续时间为87秒(包括中间约20秒的重启过程),若多台同时进行,单机的烧录时间并不受影响,从而成倍的提高烧录的效率。
在一个实施例中,如图9所示,以控制单板322为例,包括处理器322b、存储器322c,还包括分布式缓存模块322d以及代理程序组件322e,代理程序组件322e用于接收第一通信模块发送的工作指令,并发送到分布式缓存模块322d进行存储。
在一个实施例中,通信接口包括通用串行总线USB接口、串行通信接口以及以太网接口的至少一种。
在一个实施例中,分布式缓存模块322d采用Memcache。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机***的存储介质中,并被该计算机***中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种固件烧录方法,所述方法包括:
每个控制单板分别获取对应的网络协议IP地址,所述控制单板的数量至少为两个,每个所述控制单板包括对应的通讯接口;
根据对应的IP地址,所述控制单板获取上位机发送的工作指令;
根据对应的工作指令,所述控制单板获取对应的待烧录文件;
通过对应的通讯接口,所述控制单板调用对应的烧录工具和安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每隔第一预设时间,所述控制单板将对应的当前工作指令反馈至所述上位机,以使所述上位机判断对应的所述当前工作指令是否需要更新并得到对应的第一判断结果;
所述控制单板接收所述上位机返回的对应的第一判断结果,根据对应的第一判断结果,若所述工作指令需要更新,则进入所述根据对应的IP地址,所述控制单板获取上位机发送的工作指令的步骤。
3.根据权利要求1所述的方法,其特征在于,所述通过对应的通讯接口,所述控制单板调用对应的烧录工具和安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端的步骤之前还包括:所述控制单板检测对应的待烧录终端是否接入,若是,则进入所述通过对应的通讯接口,所述控制单板调用对应的烧录工具和安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端的步骤,若否,则进入所述控制单板检测对应的待烧录终端是否接入的步骤。
4.根据权利要求1所述的方法,其特征在于,所述控制单板包括分布式缓存模块以及代理程序组件,所述根据对应的IP地址,所述控制单板获取上位机发送的工作指令的步骤包括:
根据对应的IP地址,所述代理程序组件接收对应的工作指令,并将所述工作指令发送到所述分布式缓存模块进行存储。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每隔第二预设时间,所述控制单板将对应的待烧录文件的烧录状态反馈至所述上位机,以使所述上位机对所述烧录状态进行判断并得到对应的第二判断结果;
所述控制单板接收所述上位机返回的对应的第二判断结果,根据对应的第二判断结果确定所述待烧录文件的烧录过程是否正常,若异常,则结束烧录;若正常,则进一步根据对应的第二判断结果确定所述待烧录文件的烧录进度是否完成,若完成,则断开与所述待烧录终端之间的通信连接;若未完成,则进入所述每隔第二预设时间,所述控制单板将对应的待烧录文件的烧录状态反馈至所述上位机的步骤。
6.一种固件烧录***,其特征在于,所述***包括:第一通信模块以及第一主控模块,所述第一主控模块同所述第一通信模块相连接,所述第一主控模块包括至少两个独立的控制单板,每个所述控制单板分别同所述第一通信模块连接,每个所述控制单板包括对应的通讯接口,每个所述控制单板分别能够通过对应的所述通讯接口与待烧录终端连接;
所述第一通信模块用于所述第一主控模块与上位机进行通信,并为所述上位机以及所述第一主控模块中的每个所述控制单板分配对应的网络协议IP地址;
所述控制单板用于根据对应的IP地址,通过所述第一通信模块接收所述上位机发送的对应的工作指令,根据所述工作指令,获取对应的待烧录文件,并通过对应的通讯接口调用烧录工具和安卓调试桥ADB将所述待烧录文件烧录写入对应的待烧录终端。
7.根据权利要求6所述的***,其特征在于,所述***还包括第二主控模块以及第二通讯模块,所述第二主控模块同所述第二通讯模块相连接,所述第二主控模块包括至少两个控制单板,所述第二通讯模块能够与所述上位机或所述第一通信模块相连接,所述第二通讯模块用于所述第二主控模块与所述上位机进行通信,并为所述第二主控模块中的每个所述控制单板分配对应的网络协议IP地址。
8.根据权利要求6所述的***,其特征在于,所述控制单板还包括分布式缓存模块以及代理程序组件,所述代理程序组件用于接收所述第一通信模块发送的工作指令,并发送到所述分布式缓存模块进行存储。
9.根据权利要求6所述的***,其特征在于,所述通信接口包括通用串行总线USB接口、串行通信接口以及以太网接口的至少一种。
10.根据权利要求8所述的***,其特征在于,所述分布式缓存模块采用Memcache。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710114474.2A CN106970810B (zh) | 2017-02-28 | 2017-02-28 | 固件烧录方法和*** |
PCT/CN2017/102979 WO2018157588A1 (zh) | 2017-02-28 | 2017-09-22 | 固件烧录方法、***、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710114474.2A CN106970810B (zh) | 2017-02-28 | 2017-02-28 | 固件烧录方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106970810A true CN106970810A (zh) | 2017-07-21 |
CN106970810B CN106970810B (zh) | 2020-04-03 |
Family
ID=59329025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710114474.2A Active CN106970810B (zh) | 2017-02-28 | 2017-02-28 | 固件烧录方法和*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106970810B (zh) |
WO (1) | WO2018157588A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170463A (zh) * | 2017-12-26 | 2018-06-15 | 深圳市奇虎智能科技有限公司 | 一种安卓设备的出厂设置方法和装置 |
CN108491212A (zh) * | 2018-03-19 | 2018-09-04 | 广东美的暖通设备有限公司 | 文件烧录方法、设备及计算机可读存储介质 |
WO2018157588A1 (zh) * | 2017-02-28 | 2018-09-07 | 百富计算机技术(深圳)有限公司 | 固件烧录方法、***、计算机设备和存储介质 |
CN108710494A (zh) * | 2018-03-21 | 2018-10-26 | 昆山龙腾光电有限公司 | 一种更新测试设备数据的装置、***及控制方法 |
CN108829403A (zh) * | 2018-05-28 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种固态硬盘烧写的方法、装置、设备以及存储介质 |
CN109901848A (zh) * | 2019-01-22 | 2019-06-18 | 深圳市元征科技股份有限公司 | 一种设备参数烧录方法以及装置 |
CN111782247A (zh) * | 2020-07-08 | 2020-10-16 | 深圳宝龙达信创科技股份有限公司 | 烧录器供电的升级*** |
CN111813421A (zh) * | 2020-07-10 | 2020-10-23 | 卡斯柯信号(北京)有限公司 | 一种计算机联锁板卡芯片烧录方法和装置 |
CN112764769A (zh) * | 2021-01-19 | 2021-05-07 | 北京华辉智惠科技合伙企业(有限合伙) | 一种阵列式密钥烧录装置、***以及方法 |
CN115495373A (zh) * | 2022-10-08 | 2022-12-20 | 深圳市华曦达科技股份有限公司 | 基于Android***的自动化升级测试方法及装置 |
CN117762438A (zh) * | 2024-01-12 | 2024-03-26 | 荣耀终端有限公司 | 一种无线烧录印制电路板的***、方法及相关装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515633B (zh) * | 2019-08-30 | 2023-06-20 | 深圳市汇顶科技股份有限公司 | 烧录装置及*** |
TWI776676B (zh) * | 2021-09-15 | 2022-09-01 | 英業達股份有限公司 | 伺服器系統之韌體燒錄檢核方法及其系統 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630495A (zh) * | 2015-12-23 | 2016-06-01 | 深圳市科陆电子科技股份有限公司 | 烧录芯片方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281477A (zh) * | 2008-05-14 | 2008-10-08 | 北京泰得思达科技发展有限公司 | 一种采用多路复用技术进行并行烧录的*** |
CN104425001A (zh) * | 2013-08-22 | 2015-03-18 | 北京卓越信通电子股份有限公司 | 一种同时对多台交换机烧录的***、方法及相应交换机 |
CN106970810B (zh) * | 2017-02-28 | 2020-04-03 | 百富计算机技术(深圳)有限公司 | 固件烧录方法和*** |
-
2017
- 2017-02-28 CN CN201710114474.2A patent/CN106970810B/zh active Active
- 2017-09-22 WO PCT/CN2017/102979 patent/WO2018157588A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630495A (zh) * | 2015-12-23 | 2016-06-01 | 深圳市科陆电子科技股份有限公司 | 烧录芯片方法及*** |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018157588A1 (zh) * | 2017-02-28 | 2018-09-07 | 百富计算机技术(深圳)有限公司 | 固件烧录方法、***、计算机设备和存储介质 |
CN108170463B (zh) * | 2017-12-26 | 2021-08-20 | 深圳市奇虎智能科技有限公司 | 一种安卓设备的出厂设置方法和装置 |
CN108170463A (zh) * | 2017-12-26 | 2018-06-15 | 深圳市奇虎智能科技有限公司 | 一种安卓设备的出厂设置方法和装置 |
CN108491212A (zh) * | 2018-03-19 | 2018-09-04 | 广东美的暖通设备有限公司 | 文件烧录方法、设备及计算机可读存储介质 |
CN108710494A (zh) * | 2018-03-21 | 2018-10-26 | 昆山龙腾光电有限公司 | 一种更新测试设备数据的装置、***及控制方法 |
CN108829403A (zh) * | 2018-05-28 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种固态硬盘烧写的方法、装置、设备以及存储介质 |
CN109901848A (zh) * | 2019-01-22 | 2019-06-18 | 深圳市元征科技股份有限公司 | 一种设备参数烧录方法以及装置 |
CN109901848B (zh) * | 2019-01-22 | 2022-09-16 | 深圳市元征科技股份有限公司 | 一种设备参数烧录方法以及装置 |
CN111782247A (zh) * | 2020-07-08 | 2020-10-16 | 深圳宝龙达信创科技股份有限公司 | 烧录器供电的升级*** |
CN111782247B (zh) * | 2020-07-08 | 2024-06-21 | 深圳宝新创信息技术有限公司 | 烧录器供电的升级*** |
CN111813421A (zh) * | 2020-07-10 | 2020-10-23 | 卡斯柯信号(北京)有限公司 | 一种计算机联锁板卡芯片烧录方法和装置 |
CN112764769A (zh) * | 2021-01-19 | 2021-05-07 | 北京华辉智惠科技合伙企业(有限合伙) | 一种阵列式密钥烧录装置、***以及方法 |
CN112764769B (zh) * | 2021-01-19 | 2024-03-29 | 北京华辉智惠科技合伙企业(有限合伙) | 一种阵列式密钥烧录装置、***以及方法 |
CN115495373A (zh) * | 2022-10-08 | 2022-12-20 | 深圳市华曦达科技股份有限公司 | 基于Android***的自动化升级测试方法及装置 |
CN117762438A (zh) * | 2024-01-12 | 2024-03-26 | 荣耀终端有限公司 | 一种无线烧录印制电路板的***、方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106970810B (zh) | 2020-04-03 |
WO2018157588A1 (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970810A (zh) | 固件烧录方法和*** | |
US20050223210A1 (en) | Machine and method for deployment of OS image | |
CN113127177B (zh) | 处理装置及分布式处理*** | |
CN112014726A (zh) | Dsp芯片测试装置及方法 | |
CN112737836B (zh) | PCIe外插卡的带宽分配方法、装置、设备及存储介质 | |
CN111756858B (zh) | 嵌入式设备的远程开发处理***、方法及装置 | |
CN105488000A (zh) | 实现usb设备快速访问的方法和*** | |
CN115904520A (zh) | 基于pcie拓扑状态变更的配置保存方法及相关设备 | |
CN113051102B (zh) | 文件备份方法、装置、***、存储介质和计算机设备 | |
CN116028455A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN114020340B (zh) | 一种服务器***及其数据处理方法 | |
CN105607940A (zh) | 一种arm平台中bdk向uefi bios传递信息的方法 | |
CN115080479A (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN108259895A (zh) | 机顶盒测试方法、***及终端设备 | |
CN111107120B (zh) | 一种Redis集群的构建方法及*** | |
CN117077221A (zh) | 一种硬盘丝印分配方法、装置、计算机设备及介质 | |
CN116302006A (zh) | 模拟器的热升级方法及相关装置 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
CN115454896A (zh) | 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 | |
CN111124890B (zh) | 一种分布式数据库性能测试方法、***、终端及存储介质 | |
JP2004021523A (ja) | ネットワークサーバへの負荷テストシステム | |
CN103812893A (zh) | 虚拟桌面外部设备传输方法及*** | |
CN113626295A (zh) | 压测数据的处理方法、***及计算机可读存储介质 | |
CN115361327B (zh) | 一种自动化测试网卡ncsi命令的方法、装置、终端及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |