一种固件分区处理方法和装置制造方法

文档序号:6631437阅读:154来源:国知局
一种固件分区处理方法和装置制造方法
【专利摘要】本发明公开一种固件分区处理方法及装置,具体步骤如下:首先,读取待烧录的各个固件的大小和顺序;接着,根据所读取的待烧录的各个固件的大小和顺序生成分区表信息文件;接着,将所述分区表信息文件和各个固件依次烧录至待烧录设备的对应存储位置;其次,获取待烧录设备的设备ID,并发送设备ID和待烧录的各个固件的信息到固件监控服务器。再次,当分区表信息文件和各个固件都烧录完成后,重启待烧录设备系统。上述技术方案可以解决对于同一款机型,由于定制化的固件不尽相同,人工成本高的问题。
【专利说明】—种固件分区处理方法和装置

【技术领域】
[0001]本发明涉及嵌入式【技术领域】,尤其涉及一种固件分区处理方法和装置。

【背景技术】
[0002]目前,在嵌入式设备的生产过程中,通常存在如下问题:对于同一款机型,需要根据不同客户的需求,烧录不同的系统固件。如果客户定制化的应用数量不等,那么系统固件所占用的各分区大小也不相同。基于此,在将固件烧录至待烧录设备的主存储器中时,需要配置烧录不同的分区表信息文件,对于同一款机型,由于定制化的固件不尽相同,在生产工程中就需要针对性的生成许多不同的分区表信息文件,且这些分区表信息文件是由人工计算获得,不仅容易出错,也大大增加了人工成本。而分区表信息文件在计算过程中一旦出错,固件将按照错误的分区表信息文件进行烧录和加载,从而导致产品工作异常。不仅如此,如果需要对固件进行升级,则需要携带一个与固件相适配的特定的分区信息文件,从而导致升级难度加大。
[0003]综上所述,如何取代人工,自动实现对同一款机型相同主存储容量下不同大小系统固件的处理是一个亟需解决的问题。


【发明内容】

[0004]为此,需要提供一种固件分区处理方案,用于解决对于同一款机型,由于定制化的固件不尽相同,人工成本高的问题。
[0005]为实现上述目的,发明人提供了一种固件分区处理方法,包括步骤:
[0006]读取待烧录的各个固件的大小和顺序;
[0007]根据读取的待烧录的各个固件的大小和顺序生成分区表信息文件。
[0008]作为一种固件分区处理方法的可实施方式,所述方法还包括步骤:
[0009]将所述分区表信息文件烧录至待烧录设备分区表对应的存储位置;
[0010]根据各个固件的顺序,依次将各个固件烧录至待烧录设备中。
[0011]作为一种固件分区处理方法的可实施方式,所述“分区表信息文件”具体包括分区名,起始地址及固件大小,所述分区名为待烧录的固件的固件名,所述起始地址为待烧录固件开始烧录的存储地址。
[0012]作为一种固件分区处理方法的可实施方式,所述方法还包括步骤:
[0013]获取待烧录设备的设备ID ;
[0014]发送设备ID和待烧录的各个固件的信息到固件监控服务器。
[0015]作为一种固件分区处理方法的可实施方式,所述方法还包括步骤:
[0016]在依次烧录各个固件到待烧录设备后执行待烧录设备重启操作。
[0017]基于同一发明构思的一种固件分区处理装置,包括读取模块和生成模块;
[0018]所述读取模块用于读取待烧录的各个固件的大小和顺序;
[0019]所述生成模块用于将所读取的待烧录的各个固件的大小和顺序生成分区表信息文件;
[0020]作为一种固件分区处理装置的可实施方式,其还包括烧录模块,所述烧录模块包括分区表烧录模块和固件烧录模块,所述分区表烧录模块用于将分区表信息文件烧录至待烧录设备分区表对应的存储位置,所述固件烧录模块用于根据分区表信息文件中各个固件的顺序,依次将各个固件烧录至待烧录设备固件对应的存储位置。
[0021]作为一种固件分区处理装置的可实施方式,所述“分区表信息文件”具体包括分区名,起始地址及固件大小,所述分区名为待烧录的固件的固件名,所述起始地址为待烧录固件开始烧录的地址。
[0022]作为一种固件分区处理装置的可实施方式,其还包括信息发送模块,所述信息发送模块包括获取ID模块和发送模块,所述获取ID模块用于获取待烧录设备的设备ID,所述发送模块用于发送设备ID和待烧录的各个固件的信息到固件监控服务器。
[0023]作为一种固件分区处理装置的可实施方式,其还包括重启模块,所述重启模块用于在依次烧录各个固件到待烧录设备后执行待烧录设备重启操作。
[0024]区别于现有技术,上述技术方案可读取待烧录的各个固件的大小和顺序,并将固件大小和顺序生成对应的分区表信息文件,技术人员可以将生成的分区表信息文件直接烧录至待烧录设备分区表对应的存储位置,从而大大降低了人工计算分区表信息文件的错误率,不仅节约了人工成本,而且简化了生产流程,使得烧录固件变得快速、准确、高效,在嵌入式设备生产领域具有很高的商用价值。

【专利附图】

【附图说明】
[0025]图1为本发明一实施方式所述固件分区处理方法的流程图;
[0026]图2为本发明一实施方式所述固件分区处理方法的示意图;
[0027]图3为本发明一实施方式所述固件分区装置的结构示意图。
[0028]附图标记说明:
[0029]1、读取模块;11、地址读取模块;12、大小读取模块;
[0030]2、生成模块;21、分区表信息文件;
[0031]3、烧录模块;31、分区表烧录模块;32、固件烧录模块。
[0032]41、引导固件;42、内核固件;43、安卓固件。
[0033]5、信息发送模块;51、获取ID模块;52、发送模块;
[0034]6、重启模块;
[0035]7、固件监控服务器。

【具体实施方式】
[0036]为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0037]请参阅图1,为本发明的一实施方式的固件分区处理方法的流程图;所述方法可以运行于有计算和处理功能的电子设备上,所述电子设备可以是一台上位机,如电脑或图2所示的PC。上位机在处理固件分区时具体包括下列步骤:
[0038]首先为步骤SI读取待烧录的各个固件的大小及顺序。待烧录的各个固件可以存储于上位机的硬盘上,以便于后续操作。读取待烧录的各个固件的大小及顺序可以为依次扫描各个固件的大小,并获取各个固件的大小,顺序可以通过固件的命名区分,如第一个固件命名为“ 1”,第二固件命名为“2”等,或者通过选择的顺序来确定固件顺序,第一个选择的为第一个固件,第二个选择的为第二个固件等。在某些实施方式中,待烧录的固件可以是安卓系统的,则如图2所示,待烧录的各个固件可以包括引导固件、内核固件以及安卓固件,此时读取固件顺序为先读取引导固件,再读取内核固件,之后再读取安卓固件。在其他实施方式中,待烧录的固件还可以包括除以上三者外的其他固件。
[0039]而后进入步骤S2根据所读取的待烧录的各个固件的大小及顺序生成为分区表信息文件。生成分区表信息文件的规则可以为:指定首个固件的烧录起始地址,其他待烧录固件的烧录起始地址为上一个待烧录的固件的烧录起始地址和固件大小之和,并将所有固件的烧录起始地址信息记录到分区表文件中。如图2所示,结合安卓系统的固件实施例,指定首个固件(引导固件)的起始地址为A,引导固件的大小为a,那么在其后待烧录的内核固件的起始地址为A+a ;又如内核固件的烧录起始地址为A+a,内核固件大小为b,那么在其后待烧录的安卓固件的起始地址即为A+a+b,而后将这些起始地址信息记录到分区表文件中,并生成分区表文件。这样,可以保证当分区表信息文件中记录多个固件信息时,各个固件间的位置信息是不间断的,也即在一个固件的地址后面,随即会跟随有下一个固件。
[0040]由于上述SI和S2步骤均由上位机自动完成,因而对于同一款机型,如果所定制化的固件不同,上位机会将所读取到的所有不同固件信息生成为不同的分区表信息文件,这就不需要再由人工逐个计算每个固件的分区表信息文件,从而大大降低了人工计算分区表信息文件的错误率,节约了人工成本。此外,技术人员可以将生成的分区表信息文件直接烧录至待烧录设备分区表对应的存储位置,使得烧录固件变得快速、准确、高效。
[0041]为了提高固件的写入速度,上位机在生成完分区表后,可以进入步骤S3烧录分区表信息文件至待烧录设备分区表对应的存储位置。其中,待烧录设备分区表对应的存储位置即为分区表信息文件烧录完成后在待烧录设备中的存储位置。烧录过程是通过烧录工具来完成的,烧录工具可以存储于上位机的硬盘中,也可以通过互联网上的在线烧录工具进行在线烧录。如图2所示,在本实施方式中,分区表信息文件烧录完成后的存储位置为待烧录设备主存储器的最前端位置,这样可以保证待烧录设备重启时,系统将最先读取到存储于待烧录设备中的分区表信息文件,进而解析中分析表信息文件中的固件大小和顺序信息,以便于待烧录设备的对固件的加载和运行。
[0042]分区表烧录后,上位机可以进入步骤S4根据各个固件的顺序,依次烧录各个固件至待烧录设备各个固件对应的存储位置。其中,烧录各个固件的顺序与分区表信息文件中记录的各个固件的顺序一一对应,上位机根据分区表信息文件中记录的各个固件的顺序,依次烧录各个固件。例如在上述固件为安卓系统的实施方式中,分区表信息文件中记录的固件顺序依次为引导固件,内核固件以及安卓固件,则各个固件对应的烧录顺序为先烧录引导固件,再烧录内核固件,之后再烧录安卓固件。固件和分区表烧录完成后,待烧录设备即可以进行启动测试。通过上位机的自动完成,提高了效率,也降低了失误的可能。
[0043]分区表信息文件中可以包含有多种信息,在某些实施例中,分区表信息文件包括分区名,起始地址以及固件大小,所述分区名即为对应的固件名,所述起始地址为待烧录固件开始烧录的存储地址。如图2所示,例如在本实施方式中,引导固件的分区名即为“引导”,引导固件的起始地址为引导固件开始烧录的起始位置对应的内存地址。这样,技术人员通过观察分区表信息文件的信息,就可以清楚知道待烧录设备上存在的固件名称、固件的烧录起始地址和大小,便于进一步管理。
[0044]各个固件烧录后,还可以进入步骤S5获取待烧录设备的设备ID,并发送设备ID和待烧录固件信息到固件监控服务器。其中,待烧录设备ID即待烧录设备序列号,用于识别电子设备,可以是有一串字符组成。如图3所示,固件监控服务器可以是一台上位机,如电脑。服务器与运行本方法的电子设备的连接可以是有线连接,如USB连接,或是无线连接,如无线网络连接、移动通信连接等。固件监控服务器接收到电子设备ID和固件信息后会存储起来,维护人员可以根据这些信息对待烧录设备上对应的各个固件进行跟踪,可以确认不同待烧录设备上的各个固件的大小和顺序,方面了解不同待烧录设备上的固件情况,便于进一步管理,也可以知道固件升级的需求,从而可以对固件升级需求做出评估。
[0045]各个固件烧录后,还可以进入步骤S6在依次烧录各个固件到待烧录设备后执行待烧录设备重启操作。当分区表信息文件和各个固件全部烧录完毕后,向待烧录设备操作系统发送重启指令,操作系统接收到重启指令后完成重启,在操作系统重启的时候,首先从待烧录设备主存储的最前端位置解析出分区表信息文件,之后按照分区表信息文件中所记录的各个固件的大小和顺序,依次解压出各个固件,并将之挂载至对应的磁盘分区。维护人员通过观察待烧录设备是否完成正常重启操作,可以及时判断固件烧录过程是否出现异常,如果重启操作出现异常,则维护人员可以对出现异常的待烧录设备进行重新烧录固件,从而保证广品的合格率。
[0046]以及本发明还提供一种固件分区处理的装置。请参阅图3,为本发明一实施方式固件分区处理装置的结构示意图。所述装置包括读取模块I和生成模块2 ;
[0047]所述读取模块I用于读取待烧录的各个固件的大小和顺序;
[0048]所述生成模块2用于根据读取的待烧录的各个固件的大小和顺序生成分区表信息文件21。
[0049]为了使读取更加快速,在某些实施例中,读取模块I还可以包括地址读取模块11和大小读取模块12,所述地址读取模块11用于读取待烧录固件开始烧录的起始地址,所述大小读取模块12用于读取固件的大小。读取模块I扫描读取各个待烧录的固件的大小和顺序。其中,所述待烧录的固件存储于上位机的硬盘中,上位机依次扫描各个固件大小,并获取各个固件的大小,顺序可以通过固件的命名区分,如第一个固件命名为“1”,第二固件命名为“2”等,或者通过选择的顺序来确定固件顺序,第一个选择的为第一个固件,第二个选择的为第二个固件等。待烧录的固件可以是安卓系统的。则本实施方式中,所述待烧录的各个固件包括引导固件,内核固件以及安卓固件,所述读取固件顺序为先读取引导固件,再读取内核固件,之后再读取安卓固件。在其他实施方式中,所读取的固件还可能包括除以上三者外的其他固件。
[0050]生成模块2根据读取的各个待烧录的固件的大小和顺序生成为分区表信息文件21。分区表信息文件中可以包含有多种信息,在某些实施例中,分区表信息文件21具体包括分区名,起始地址及固件大小,所述分区名为待烧录的固件的固件名,所述起始地址为待烧录固件开始烧录的地址。例如本实施方式中,分区表信息文件中记录的固件顺序依次为引导固件,内核固件以及安卓固件,烧录工具依次烧录的顺序为先烧录引导固件41,再烧录内核固件42,再次烧录安卓固件43。
[0051]分区表信息文件生成后,可以在烧录前存储于上位机的硬盘中,也可以直接放入烧录工具进行烧录。在某些实施例中,固件分区处理装置还包括烧录模块3,所述烧录模块3用于将所述分区表信息文件和各个固件烧录至待烧录设备对应的存储位置。烧录过程是通过烧录工具来完成的,所述烧录工具可以存储于上位机的硬盘中,也可以通过互联网上的在线烧录工具进行在线烧录。
[0052]进一步地,烧录模块3包括分区表烧录模块31和固件烧录模块32,分区表烧录模块31用于烧录分区表信息文件21,固件烧录模块32用于根据分区表信息文件中各个固件的大小和顺序烧录各个固件。
[0053]烧录模块3响应技术人员的请求,将分区表信息文件自动烧录21到待烧录设备分区表对应的存储位置。“烧录模块3响应技术人员的请求”具体为技术人员点击烧录工具开始烧录操作。本实施方式中,所述分区表信息文件对应的存储位置为待烧录设备主存储器的最前端位置。
[0054]当分区表信息文件烧录完成后,烧录模块3根据分区信息文件表中所记录的各个固件的顺序,依次将各个固件烧录至待烧录设备各个固件对应的存储位置。这样,各个固件的烧录均是根据分区表信息文件中所记录的固件的大小和顺序自动完成的,就省去了人工计算各个固件大小的麻烦,也无需再人工一个个地点击烧录不同固件,不仅简化了生产流程,也大大降低了人工成本。固件和分区表烧录完成后,待烧录设备即可以进行启动测试。通过上位机的自动完成,提高了效率,也降低了失误的可能。
[0055]为了让固件提供厂商可以对烧录了固件的设备进行统计和分析,在某些实施例中,在烧录模块3使能后还包括使能信息发送模块5,信息发送模块5包括获取ID模块51和发送模块52,所述获取ID模块用于获取待烧录设备的设备ID,所述发送模块用于发送设备ID和待烧录的各个固件的信息到固件监控服务器7。所述待烧录设备ID即待烧录设备序列号,用于识别电子设备,可以是有一串字符组成。如图3所示,所述固件监控服务器可以是一台上位机,如电脑。服务器与运行本方法的电子设备的连接可以是有线连接,如USB连接,或是无线连接,如无线网络连接、移动通信连接等。固件监控服务器7接收到设备ID (如图3中的设备ID下方的“ I”)和固件信息(如图2的固件名称“引导”,固件起始地址“A”,固件大小“a”),会将这些信息存储起来,以便于厂家的分析。
[0056]各个固件烧录完成后,此时待烧录设备并未启动,因而无法验证各个固件是否在待烧录设备上正确烧录完成,为了验证固件正确烧录,烧录模块3使能后还包括重启模块6,重启模块6用于在烧录模块3使能后执行重启操作。重启模块6向待烧录设备的操作系统发送重启指令,操作系统接收到重启指令后完成重启,在操作系统重启的时候,首先从待烧录设备主存储的最前端位置解析出分区表信息文件,之后按照分区表信息文件中所记录的各个固件的大小和顺序,依次解压出各个固件,并将之挂载至对应的磁盘分区。当然,在没有固件烧录至待烧录设备的情况下,即固件没有烧录,则不需要使能重启模块6。
[0057]上述技术方案所述的固件分区处理方法或装置,可根据不同固件大小自动生成对应的分区表信息文件,技术人员无需再根据不同的固件逐个来计算和编写分区表信息文件,烧录过程也无需再事先准备与待烧录固件相适配的分区表信息文件来进行烧录,不仅大大降低了人工计算分区表信息文件的错误率,节约了人工成本,同时还简化了生产流程,使得烧录固件变得快速、准确、高效。同时,还可以将待烧录设备ID和待烧录固件信息发送至固件监控服务器,方便厂家对产品的的固件进行实时监控。固件烧录完成后,对待烧录设备的系统进行重启,方便技术人员监测判断各个固件是否正确烧录完成。因而在嵌入式设备生产领域具有很高的商用价值。
[0058]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0059]本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
[0060]上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0061]这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0062]这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0063]尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的【技术领域】,均同理包括在本发明的专利保护范围之内。
【权利要求】
1.一种固件分区处理方法,其特征在于,包括步骤: 读取待烧录的各个固件的大小和顺序; 根据读取的待烧录的各个固件的大小和顺序生成分区表信息文件。
2.根据权利要求1所述的固件分区处理方法,其特征在于,所述方法还包括步骤: 将所述分区表信息文件烧录至待烧录设备分区表对应的存储位置; 根据各个固件的顺序,依次将各个固件烧录至待烧录设备中。
3.根据权利要求1或2所述的固件分区处理方法,其特征在于,所述“分区表信息文件”具体包括分区名,起始地址及固件大小,所述分区名为待烧录的固件的固件名,所述起始地址为待烧录固件开始烧录的存储地址。
4.根据权利要求2所述的固件分区处理方法,其特征在于,所述方法还包括步骤: 获取待烧录设备的设备ID ; 发送设备ID和待烧录的各个固件的信息到固件监控服务器。
5.根据权利要求2所述的固件分区处理方法,其特征在于,所述方法还包括步骤: 在依次烧录各个固件到待烧录设备后执行待烧录设备重启操作。
6.一种固件分区处理装置,其特征在于,包括读取模块和生成模块; 所述读取模块用于读取待烧录的各个固件的大小和顺序; 所述生成模块用于将所读取的待烧录的各个固件的大小和顺序生成分区表信息文件。
7.根据权利要求6所述的固件分区处理装置,其特征在于,还包括烧录模块,所述烧录模块包括分区表烧录模块和固件烧录模块,所述分区表烧录模块用于将分区表信息文件烧录至待烧录设备分区表对应的存储位置,所述固件烧录模块用于根据分区表信息文件中各个固件的顺序,依次将各个固件烧录至待烧录设备固件对应的存储位置。
8.根据权利要求6或7所述的固件分区处理装置,其特征在于,所述“分区表信息文件”具体包括分区名,起始地址及固件大小,所述分区名为待烧录的固件的固件名,所述起始地址为待烧录固件开始烧录的地址。
9.根据权利要求7所述的固件分区处理装置,其特征在于,还包括信息发送模块,所述信息发送模块包括获取ID模块和发送模块,所述获取ID模块用于获取待烧录设备的设备ID,所述发送模块用于发送设备ID和待烧录的各个固件的信息到固件监控服务器。
10.根据权利要求7所述的固件分区处理装置,其特征在于,还包括重启模块,所述重启模块用于在依次烧录各个固件到待烧录设备后执行待烧录烧录重启操作。
【文档编号】G06F9/445GK104317618SQ201410573392
【公开日】2015年1月28日 申请日期:2014年10月24日 优先权日:2014年10月24日
【发明者】林涛 申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1