CN104133706B - 固件修改方法及固件修改装置 - Google Patents

固件修改方法及固件修改装置 Download PDF

Info

Publication number
CN104133706B
CN104133706B CN201410376578.7A CN201410376578A CN104133706B CN 104133706 B CN104133706 B CN 104133706B CN 201410376578 A CN201410376578 A CN 201410376578A CN 104133706 B CN104133706 B CN 104133706B
Authority
CN
China
Prior art keywords
file
firmware
modification
image file
new
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.)
Active
Application number
CN201410376578.7A
Other languages
English (en)
Other versions
CN104133706A (zh
Inventor
马国群
刘惠深
曾舒钏
熊锐
竺焕鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN201410376578.7A priority Critical patent/CN104133706B/zh
Publication of CN104133706A publication Critical patent/CN104133706A/zh
Application granted granted Critical
Publication of CN104133706B publication Critical patent/CN104133706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种固件修改方法及固件修改装置,该方法包括对中性固件进行解析,解析出中性固件中的启动镜像分区文件及系统分区镜像文件,并将启动分区镜像文件解析形成的启动分区文件存储在固件修改设备,将系统分区镜像文件解析形成的系统分区文件存储在固件修改设备,对启动分区文件和/或系统分区文件进行修改,并生成新的启动分区镜像文件和/或新的系统分区镜像文件,应用新的启动分区镜像文件与新的系统分区镜像文件生成新的固件。该装置是应用上述的方法对嵌入式设备的固件进行修改。本发明实现在没有固件源代码的情况下对固件的修改,固件修改简单、方便,提高固件修改的工作效率,也提高嵌入式设备的生产效率。

Description

固件修改方法及固件修改装置
技术领域
本发明涉及平板电子设备领域,具体地,是一种对平板电子设备的固件修改的方法以及应用这种方法对固件进行修改的装置。
背景技术
随着电子产品的技术发展,平板电子设备已经广泛应用,并为人们的生活、工作带来极大的便利。现在的平板电子设备,如平板电脑、平板手机等均是嵌入式设备,其设有嵌入式芯片,嵌入式芯片设有控制器以及存储器,存储器内存储有嵌入式设备的固件,嵌入式设备运行时,需要运行存储在存储器内的固件。
现有的平板电子设有所应用的操作系统大多是安卓操作系统或者视窗操作系统、IOS系统等,平板电子设备的嵌入式设备开发商通常在开放的操作系统的基础上进行修改形成不同的固件,嵌入式设备开发商通常委托加工工厂将这些固件烧写到嵌入式设备中。
随着平板电子设备智能化的发展,嵌入式设备的开发商提供越来越多的服务,这些服务通常是通过在固件内增加由嵌入式设备开发商所开发的应用程序实现。因此,嵌入式设备开发商写入到嵌入式设备存储介质的固件中通常包含有多个应用程序。
但是,随着嵌入式设备开发商提供的应用程序越来越多,且这些应用程序往往不断升级或者需要修改,且嵌入式设备开发商往往希望在嵌入式设备出厂前能够将更新后的应用程序写入到嵌入式设备中。然而,由于加工工厂通常没有固件的源代码,也就无法对固件进行修改,一旦嵌入式设备开发商要去对应用程序进行修改,往往是就要嵌入式设备开发商返工。一旦有多个应用程序需要修改,嵌入式设备的固件往往需要修改多次,而且每一次修改均是需要对固件的源代码进行大量的修改,导致嵌入式设备出厂时间较长。
此外,现在不少嵌入式设备开发商也为不同的客户提供定制的应用程序,这些定制的应用程序也需要在嵌入式设备出厂前写入到嵌入式设备内,因此,如嵌入式设备开发商需要为不同的客户提供定制的应用程序的服务,也会出现上述的问题。
发明内容
本发明的主要目的是提供一种对固件修改灵活、方便的固件修改方法。
本发明的另一目的是提供一种提高固件修改效率且提高嵌入式设备生产效率的固件修改装置。
为了实现上述的主要目的,本发明提供的固件修改方法包括对中性固件进行解析,解析出中性固件中的启动分区镜像文件及系统分区镜像文件,并将启动分区镜像文件解析形成的启动分区文件存储在固件修改设备,将系统分区镜像文件解析形成的系统分区文件存储在固件修改设备,对启动分区文件和/或系统分区文件进行修改,并生成新的启动分区镜像文件和/或新的系统分区镜像文件,应用新的启动分区镜像文件与新的系统分区镜像文件生成新的固件。
由上述方案可见,对嵌入式设备的固件进行修改时,无需重新开发固件的源代码,而只是将固件解析出来,从对解析出来的固件中启动分区文件、系统分区文件等进行修改,并由修改后的文件重新生成的镜像文件生成新的固件。这样,在固件修改的过程中,无需获得原先固件的源代码,加工工厂只需要对固件进行解析即可以方便地对固件进行修改,可以大大减小固件修改的工作量,提高嵌入式设备生产的效率,降低嵌入式设备的生产成本。
一个优选的方案是,生成新的固件前,将中性固件烧写到嵌入式设备,在嵌入式设备上修改设置文件,并生成数据分区文件,应用数据分区文件生成数据分区镜像文件,并将数据分区镜像文件读取到固件修改设备,生成新的固件时,应用新的启动分区镜像文件、新的系统分区镜像文件以及数据分区镜像文件生成新的固件。
由此可见,通过上述的方法还可以对固件中的数据分区文件进行修改,并且对数据分区文件的修改并不是通过对固件进行解析并对解析后的数据分区文件直接修改,而是将固件烧写到嵌入式设备后,在嵌入式设备运行的过程中对数据分区文件进行修改,这样可以降低数据分区文件修改的工作量,并且数据分区文件的修改更为直观,有利于数据分区文件修改的操作。
进一步的方案是,对启动分区文件修改的步骤包括增加或修改或删除或替换标志文件或系统内核文件或系统驱动文件或启动标志文件。
可见,对启动分区文件的修改可以通过各种编辑方式实现,并且能够对标志文件、系统内核文件等进行增加、替换等操作,这些操作往往较为简单,且易于实现。
为实现上述的另一目的,本发明提供的固件修改装置包括固件解析模块、定制修改模块以及固件生成模块,固件解析模块用于对中性固件进行解析,解析出中性固件中的启动分区镜像文件及系统分区镜像文件,并将启动分区镜像文件解析形成的启动分区文件存储在固件修改设备,将系统分区镜像文件解析形成的系统分区文件存储在固件修改设备中,定制修改模块用于对启动分区文件和/或系统分区文件进行修改,并生成新的启动分区镜像文件和/或新的系统分区镜像文件,固件生成模块应用新的启动分区镜像文件与新的系统分区镜像文件生成新的固件。
由上述方案可见,应用固件修改装置对固件进行修改时,利用固件解析模块将固件解析后,分别对解析出来的启动分区文件、系统分区文件进行修改,然后将修改后的分区文件生成新的启动分区镜像文件、系统分区镜像文件,并由新的启动分区镜像文件、系统分区镜像文件生成新的固件,在没有固件源代码的情况下也能够方便地对固件中的启动分区文件、系统分区文件进行修改。这样,即使加工工厂没有固件的源代码,只要利用固件修改装置将固件进行解析后即可以方便地修改固件,无需嵌入式设备开发商多次修改固件,提高固件的修改效率以及嵌入式设备的生产效率。
附图说明
图1是应用本发明固件修改装置实施例与嵌入式设备的结构框图。
图2是本发明固件修改方法实施例的流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的固件修改方法主要用于对平板电子设备的固件进行修改,尤其是对智能电子设备的嵌入式设备所使用的固件进行修改,以提高固件修改效率。本发明的固件修改装置是应用上述的固件修改方法对固件进行修改。
参见图1,本发明的固件修改方法用于通过固件修改设备10对嵌入式设备30的固件进行修改,嵌入式设备30为智能平板电子设备,如平板电脑、平板手机等,并且嵌入式设备30设有嵌入式芯片,嵌入式芯片设有控制器以及存储器,存储器存储有嵌入式设备30运行的操作系统,通常以固件的形式存储在存储器内。嵌入式设备30运行时,控制器运行存储在存储器内固件。
固件修改设备10用于对嵌入式设备30内的固件进行修改,因此固件修改设备10可以为计算机等电子设备,并且可以通过有线或无线方式与嵌入式设备30进行数据交换,包括向嵌入式设备30写入数据,并且从嵌入式设备30读取数据。
固件修改设备10存储有中性固件18,并设有固件解析模块11、定制修改模块12、固件生成模块13以及数据分区修改模块14,固件解析模块11用于对中性固件18进行解析,将中性固件18中的启动分区镜像文件21以及系统分区镜像文件22解析出来,并对启动分区镜像文件21以及系统分区镜像文件22进行解析,形成启动分区文件、系统分区文件。定制修改模块12对启动分区文件、系统分区文件进行修改,并将修改后的启动分区文件23、系统分区文件24生成新的启动分区镜像文件、系统分区镜像文件,再由固件生成模块13生成新的固件。
数据分区修改模块14用于将中性固件18烧写到嵌入式设备30内,并且在嵌入式设备30运行中性固件18,中性固件18运行的过程中可以修改嵌入式设备30的设置文件31,由此对固件中的数据分区文件进行修改。数据分区修改模块14还将修改后的数据分区镜像文件读取到固件修改设备10内。
固件生成模块13生成新的固件时,不单应用修改后的启动分区镜像文件、系统分区镜像文件生成新的固件,还将数据分区镜像文件25与新生成的启动分区镜像文件、新生成的系统分区镜像文件一并生成新的固件,因此生成的新的固件包含修改后的启动分区镜像文件、修改后的系统分区镜像文件以及数据分区镜像文件25的内容。
下面结合图2说明本发明的固件修改方法的工作过程。首先,固件修改设备10执行步骤S1,对中性固件18进行解析。中性固件18是没有嵌入式设备开发商标识的固件,也就是从固件中无法获知其开发商的固件。如嵌入式设备10使用安卓操作系统,则中性固件18是基于开放的安卓操作系统开发的不带有嵌入式设备开发商的固件。
固件解析模块11对中性固件18解析后,获取中性固件18的启动分区镜像文件21以及系统分区镜像文件22,同时将启动分区镜像文件21解析形成启动分区文件,将系统分区镜像文件22解析形成系统分区文件。解析出来的启动分区文件与启动分区镜像文件21的内容相同,系统分区文件与系统分区镜像文件22的内容也是相同的。
然后,固件修改设备10将解析获得的启动分区文件以及系统分区文件分别存储到本地设备,即固件修改设备10的存储器,也就是执行步骤S2。
接着,定制修改模块12对启动分区文件进行修改,如执行增加、修改、删除、替换等操作,例如替换启动分区文件中的启动标志文件、操作系统的内核文件、操作系统的驱动文件、系统启动标志文件,如启动logo等等。同时,定制修改模块12还对系统分区文件进行修改,如进行增加、修改、删除、替换的操作,例如替换系统的应用程序文件、添加预装的应用程序文件、添加修改启动文件、修改配置文件、系统驱动文件或安卓动画文件等,启动文件包括启动的动画、音乐、视频等文件,对系统分区文件的修改还可以包括修改操作系统的注册表文件,如安卓操作系统的build.prop文件等。至此,完成步骤S3的操作。
定制修改模块12根据嵌入式设备开发商对不同客户的要求对不同的应用程序进行修改,也可以是因应固件的升级、更新等原因对固件进行修改,因此定制修改模块12并不是对固件进行全面的修改,仅仅是修改固件的一部分文件,因此固件的修改工作量较小。
此外,由于固件的修改是在中性固件18的基础上进行的,且中性固件18是不带有嵌入式设备开发商的标识,因此对中性固件18的修改非常方便。
接着,执行步骤S4,将修改后的启动分区文件生成新的启动分区镜像文件,并且将修改后的系统分区文件生成新的系统分区镜像文件。新的启动分区镜像文件以及新的系统分区镜像文件均存储在固件修改设备10的存储器中。
对启动分区文件23与系统分区文件24修改的同时,还需要对数据分区文件进行修改,因此,执行步骤S1至步骤S4的同时,还执行步骤S6至步骤S8。步骤S6中,数据分区修改模块14将中性固件18烧写到嵌入式设备30,嵌入式设备30运行时将运行中性固件18。在嵌入式设备30运行后,对嵌入式设备30进行设置的修改操作,即执行步骤S7。对嵌入式设备30的设置的修改操作包括修改桌面启动器中主界面各个应用程序的图标的列表布局、应用程序的图标的快捷方式列表布局等,并且修改默认的字体大小、修改默认的语言种类、设置闹钟,还可以是设置新的壁纸或安装新应用等。对嵌入式设备30进行设置修改的同时,嵌入式设备30的设置文件31也相应地被修改,并由此生成中性固件18的数据分区文件32。
然后,数据分区修改模块14向嵌入式设备30发送指令,嵌入式设备30应用数据分区文件32生成数据分区镜像文件,数据分区镜像文件与数据分区文件32的内容相同。
接着,数据分区修改模块14执行步骤S8,将数据分区镜像文件读取到固件修改设备10,也就是在固件修改设备10内存储数据分区镜像文件25。
最后,固件生成模块13生成新的固件,即执行步骤S9,固件生成模块13应用新生成的启动分区镜像文件、系统分区镜像文件以及数据分区镜像文件25生成新的固件,即按照固件文件的格式对启动分区镜像文件、系统分区镜像文件以及数据分区镜像文件25进行封装。固件生成模块13生成的新的固件存储在固件修改设备10内,至此完成固件的修改。需要将新的固件写入到嵌入式设备30时,将存储在固件修改设备10内的新的固件烧写到嵌入式设备30中即可。
可见,在固件修改的过程中,并不需要获知中性固件的源代码,只需要使用固件解析模块11将中性固件的系统分区镜像文件、启动分区镜像文件解析出来,并根据需要对启动分区文件、系统分区文件进行相应的修改。如对数据分区文件进行修改,则只需要将中性固件烧写到嵌入式设备30,并在嵌入式设备30上将设置文件修改后,将数据分区镜像文件读取到固件修改设备10,最终由固件修改设备10生成新的固件。这样,在没有固件源代码的情况下也能实现固件的修改,固件修改十分方便。
需要说明的是,如只需要对固件的启动分区文件或系统分区文件进行单独的修改,则将中性固件解析后,只修改启动分区文件或者只修改系统分区文件,无需对另一部分的分区文件进行修改。生成新的固件时,如系统分区文件或启动分区文件不需要修改,则使用原始的系统分区镜像文件或者启动分区镜像文件与新生成的启动分区镜像文件或系统分区镜像文件生成新的固件,也能实现本发明的目的。
当然,上述实施例仅是本发明较佳的实施方式,实际应用时,还可以有更多的改变,例如,对系统分区文件、启动分区文件的修改可以是对其他系统分区内的文件或启动分区内的文件进行修改;或者,对数据分区文件的修改也可以是通过从中性固件中解析出数据分区文件,并生成数据分区文件后对数据分区文件进行修改来实现,上述的改变也可以实现本发明的目的。
最后需要强调的是,本发明不限于上述实施方式,如对系统分区文件、数据分区文件、启动分区文件具体修改文件的改变、文件修改方式的改变等变化也应该包括在本发明权利要求的保护范围内。

Claims (8)

1.固件修改方法,其特征在于:包括
对中性固件进行解析,解析出所述中性固件中的启动分区镜像文件及系统分区镜像文件,并将所述启动分区镜像文件解析形成的启动分区文件存储在固件修改设备,将所述系统分区镜像文件解析形成的系统分区文件存储在所述固件修改设备;
对所述启动分区文件和/或所述系统分区文件进行修改,并生成新的启动分区镜像文件和/或新的系统分区镜像文件;
应用所述新的启动分区镜像文件与所述新的系统分区镜像文件生成新的固件;
生成所述新的固件前,将所述中性固件烧写到嵌入式设备,在所述嵌入式设备上修改设置文件,并生成数据分区文件,生成所述数据分区文件包括在嵌入式设备运行的过程中对数据分区文件进行修改;
应用所述数据分区文件生成数据分区镜像文件,并将所述数据分区镜像文件读取到所述固件修改设备;
生成所述新的固件时,应用所述新的启动分区镜像文件、所述新的系统分区镜像文件以及所述数据分区镜像文件生成新的固件。
2.根据权利要求1所述的固件修改方法,其特征在于:
对所述启动分区文件修改的步骤包括增加或修改或删除或替换标志文件或系统内核文件或系统驱动文件或启动标志文件。
3.根据权利要求1所述的固件修改方法,其特征在于:
对所述系统分区文件修改的步骤包括增加或修改或删除或替换系统应用程序文件或配置文件或系统驱动文件或安卓动画文件。
4.根据权利要求1所述的固件修改方法,其特征在于:
对所述数据分区文件修改的步骤包括修改桌面启动器中图标的布局或字体设置或默认语言或壁纸或安装新应用。
5.固件修改装置,其特征在于:包括
固件解析模块,对中性固件进行解析,解析出所述中性固件中的启动分区镜像文件及系统分区镜像文件,并将所述启动分区镜像文件解析形成的启动分区文件存储在固件修改设备,将所述系统分区镜像文件解析形成的系统分区文件存储在所述固件修改设备;
定制修改模块,对所述启动分区文件和/或所述系统分区文件进行修改,并生成新的启动分区镜像文件和/或新的系统分区镜像文件;
固件生成模块,应用所述新的启动分区镜像文件与所述新的系统分区镜像文件生成新的固件;
数据分区修改模块,将所述中性固件烧写到嵌入式设备,在所述嵌入式设备上修改设置文件后生成数据分区文件,生成所述数据分区文件包括在嵌入式设备运行的过程中对数据分区文件进行修改,应用所述数据分区文件生成数据分区镜像文件,并将所述数据分区镜像文件读取到所述固件修改设备;
所述固件生成模块应用所述新的启动分区镜像文件、所述新的系统分区镜像文件以及所述数据分区镜像文件生成新的固件。
6.根据权利要求5所述的固件修改装置,其特征在于:
所述定制修改模块对所述启动分区文件的修改包括增加或修改或删除或替换标志文件或系统内核文件或系统驱动文件或启动标志文件。
7.根据权利要求5所述的固件修改装置,其特征在于:
所述定制修改模块对所述系统分区文件的修改包括增加或修改或删除或替换系统应用程序文件或配置文件或驱动文件或安卓动画文件。
8.根据权利要求5所述的固件修改装置,其特征在于:
所述数据分区修改模块对所述数据分区文件的修改包括修改桌面启动器中图标的布局或字体设置文件或默认语言或壁纸或安装新应用。
CN201410376578.7A 2014-08-01 2014-08-01 固件修改方法及固件修改装置 Active CN104133706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410376578.7A CN104133706B (zh) 2014-08-01 2014-08-01 固件修改方法及固件修改装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410376578.7A CN104133706B (zh) 2014-08-01 2014-08-01 固件修改方法及固件修改装置

Publications (2)

Publication Number Publication Date
CN104133706A CN104133706A (zh) 2014-11-05
CN104133706B true CN104133706B (zh) 2017-07-11

Family

ID=51806392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410376578.7A Active CN104133706B (zh) 2014-08-01 2014-08-01 固件修改方法及固件修改装置

Country Status (1)

Country Link
CN (1) CN104133706B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293799A (zh) * 2015-06-23 2017-01-04 中兴通讯股份有限公司 Android终端ROM包生成方法及装置
CN105740095B (zh) * 2016-01-01 2019-07-02 百势软件(北京)有限公司 一种恢复出厂设置的方法及装置
CN106569854B (zh) * 2016-11-02 2020-05-19 捷开通讯(深圳)有限公司 一种设置设备固件和实现厂测的方法及系统
CN106775723B (zh) * 2016-12-16 2021-01-29 深圳市优博讯科技股份有限公司 基于Android平台的系统固件定制的方法和Android设备
CN114090090B (zh) * 2021-11-25 2024-03-22 抖音视界有限公司 终端固件的启动方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216771A (zh) * 2007-12-29 2008-07-09 宇龙计算机通信科技(深圳)有限公司 一种通过个人电脑实现手机软件升级的方法、系统及装置
CN103473097A (zh) * 2013-09-09 2013-12-25 福州瑞芯微电子有限公司 Android系统固件升级系统、装置及升级方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007148900A1 (en) * 2006-06-19 2007-12-27 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable portable device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216771A (zh) * 2007-12-29 2008-07-09 宇龙计算机通信科技(深圳)有限公司 一种通过个人电脑实现手机软件升级的方法、系统及装置
CN103473097A (zh) * 2013-09-09 2013-12-25 福州瑞芯微电子有限公司 Android系统固件升级系统、装置及升级方法

Also Published As

Publication number Publication date
CN104133706A (zh) 2014-11-05

Similar Documents

Publication Publication Date Title
CN104133706B (zh) 固件修改方法及固件修改装置
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
TWI581188B (zh) The way to load the driver and the embedded device
CN109739600B (zh) 数据处理方法、介质、装置和计算设备
WO2017185606A1 (zh) 基于overlay机制的APK开发方法及系统
CN106250104B (zh) 一种针对服务器的远程操作系统、方法及装置
CN103309659A (zh) 基于富客户端的用户界面动态生成方法及其生成装置
CN106502725A (zh) 应用程序的升级方法、设备及电子设备
US20140298318A1 (en) Computer-executable application packaging method, computer-executable device and storage media performing the same
CN112558980A (zh) 多软件包管理方法及装置
CN104267981B (zh) 一种加载桌面上的应用布局的方法及装置
CN104281478B (zh) 更新应用程序的方法及装置
CN103365644A (zh) 一种扩展软件功能的方法及装置
CN103995696B (zh) 移动终端的程序包定制系统及定制方法
CN103809983A (zh) 一种修改bios setup界面的方法
CN104156221A (zh) 芯片、修改芯片配置的方法及装置
CN105577813A (zh) 一种web混合应用的更新方法和系统
CN105554577A (zh) 一种智能电视ota升级的方法、装置及智能电视
CN111338925A (zh) 小程序测试方法及装置、系统、电子设备和存储介质
CN104461621A (zh) 一种更新属性信息的方法及装置
CN107153563B (zh) 一种软件版本生成方法及装置
CN109933410B (zh) 一种基于虚拟化技术的虚拟指令下发方法及系统
JP2020071834A (ja) エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム
CN105159673A (zh) 一种设置控件样式的方法和装置
CN105224295A (zh) 软件运行方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant