一種新的Android ROM系統(tǒng)打包和燒錄、更新方式的制作方法
【專利摘要】本發(fā)明公開(kāi)一種新的Android?ROM系統(tǒng)打包和燒錄、更新方式提供了一種對(duì)Android?ROM系統(tǒng)整體燒錄和更新的解決方案。能夠有效的提高Android?ROM系統(tǒng)的燒錄效率,降低燒錄過(guò)程中復(fù)雜程度,同時(shí)也能保證燒錄的正確性,從而有力的避免了當(dāng)前Android?ROM系統(tǒng)燒錄的各種問(wèn)題。所述的打包方式將Android?ROM所有需要用到的文件包括分區(qū)表,uboot,uboot環(huán)境變量,Linux內(nèi)核,uramdisk,system,data,recovery等按照特定的文件格式集成到一個(gè)單一的文件內(nèi),并通過(guò)CRC校驗(yàn)碼確保正確性和完整性。實(shí)現(xiàn)了Android平板電腦或Android智能手機(jī)在開(kāi)發(fā)、使用過(guò)程中,Android?ROM快速、高效、安全的發(fā)布、燒錄和更新的目標(biāo)。
【專利說(shuō)明】 一種新的Android ROM系統(tǒng)打包和燒錄、更新方式
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子行業(yè)的軟件領(lǐng)域,特別是Android系統(tǒng)開(kāi)發(fā)領(lǐng)域,涉及到分區(qū)表,uboot, uboot環(huán)境變量,Linux內(nèi)核,uramdisk, Android文件系統(tǒng),具體的說(shuō)就是利用一種新的打包方式把Android ROM版本信息,發(fā)布時(shí)間,分區(qū)表,uboot, uboot環(huán)境變量,Linux內(nèi)核,uramdisk 和 Android 的 system, data, cache,recovery 分區(qū),另外還有 CRC 校驗(yàn)信息等打包到一個(gè)單一的文件,該文件可以被燒錄或者更新到Android平板電腦或智能手機(jī)等移動(dòng)互聯(lián)網(wǎng)設(shè)備。
【背景技術(shù)】
[0002]隨著美國(guó)谷歌公司的Android系統(tǒng)的問(wèn)世,搭載Android系統(tǒng)的各種移動(dòng)互聯(lián)網(wǎng)設(shè)備如雨后春筍般出現(xiàn),市場(chǎng)上隨處都可以看到各種各樣的Android平板電腦和Android智能手機(jī)。而Android的原生系統(tǒng)并沒(méi)有提供非常完善的Android ROM燒錄和系統(tǒng)更新功能,Android ROM的不同組成部分在存儲(chǔ)設(shè)備中是不連續(xù)的,在燒錄或更新時(shí)需要將這些不同的組成部分分批次、分多個(gè)步驟燒錄或更新到指定的存儲(chǔ)設(shè)備地址中,非常繁瑣,燒錄和更新時(shí)必須非常小心、細(xì)致,導(dǎo)致效率低下,并且容易出錯(cuò)。同時(shí)這些步驟(比如分區(qū))等需要人手工參與,無(wú)法自動(dòng)完成。而且發(fā)布ROM的時(shí)候需要分多個(gè)文件發(fā)布,容易造成不便和混亂。在這個(gè)背景下本公司開(kāi)發(fā)了一種新的Android ROM打包方式,解決了上述問(wèn)題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明一種新的Android ROM系統(tǒng)打包和燒錄、更新方式,正如【背景技術(shù)】中所述,能夠解決現(xiàn)存技術(shù)的不足之處,實(shí)現(xiàn)集成式一體化的燒錄與更新。
[0004]為了解決上述的技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是提供一種一體化的集成方法,其特征在于將Android ROM需要的所有文件放置在一個(gè)單一的文件內(nèi),稱為打包文件。然后通過(guò)燒錄程序或更新程序,實(shí)現(xiàn)Android ROM的燒錄或更新。
[0005]所述的一種新的Android ROM系統(tǒng)打包和燒錄、更新方式主要有以下的一些步驟來(lái)實(shí)現(xiàn)。
[0006]步驟一,確定需要打包的原生Android ROM數(shù)據(jù),即打包的原材料或內(nèi)容。這些包括以文件形式存在的uboot、Linux內(nèi)核、system分區(qū)、data分區(qū)、cache分區(qū)、recovery分區(qū)等。通常這些是通過(guò)編譯uboot、Linux內(nèi)核或Android OS源代碼來(lái)得到的。
[0007]步驟二,創(chuàng)建或編輯一個(gè)配置文件。這個(gè)配置文件包含了 Android ROM的版本信息、發(fā)布日期等,更主要的,這個(gè)配置文件指定了 ROM中各個(gè)組成部分在存儲(chǔ)設(shè)備中的位置和燒錄方式,這些信息將被打包進(jìn)打包文件中,以便燒錄和系統(tǒng)更新程序能夠根據(jù)這些信息正確的燒錄和更新ROM。配置文件是純文本文件,用普通的文本編輯器即可以編輯。
[0008]步驟三,運(yùn)行打包程序。打包程序根據(jù)配置文件中的信息,將分散的ROM的不同組成部分,按照特定的格式合并成一個(gè)單一的文件,即打包文件。同時(shí)對(duì)打包文件做CRC校驗(yàn),確保文件的完整、正確性。所生成的打包文件可以用于ROM的發(fā)布,以便后續(xù)的燒錄或系統(tǒng)更新。
[0009]步驟四,燒錄程序按照特定的文件格式解析發(fā)布的Android ROM打包文件,根據(jù)文件中包含的信息,將ROM的各個(gè)組成部分按照指定的位置和方式燒寫(xiě)到Nand flash或SD卡中。
[0010]步驟五,Android平板電腦或手機(jī)的“設(shè)置”功能中,提供了 “系統(tǒng)更新”這一個(gè)功能。用戶運(yùn)行系統(tǒng)更新應(yīng)用程序來(lái)更新ROM時(shí),系統(tǒng)更新程序按照特定的文件格式解析發(fā)布的Android ROM打包文件,根據(jù)文件中包含的信息,將ROM的各個(gè)組成部分按照指定的位置和方式燒寫(xiě)到Nand flash或SD卡中。
[0011]本發(fā)明的有益效果是:再也不用單獨(dú)的燒寫(xiě)uboot、Linux內(nèi)核、system分區(qū)、data分區(qū)等,而是簡(jiǎn)化了 ROM發(fā)布、燒錄和更新的方式,采用完全自動(dòng)化的方法對(duì)各個(gè)數(shù)據(jù)進(jìn)行統(tǒng)一的一次性燒錄,大大降低了燒錄系統(tǒng)的復(fù)雜程度,可以使得非常方便的對(duì)Android移動(dòng)互聯(lián)網(wǎng)設(shè)備的ROM進(jìn)行發(fā)布、燒錄和更新。
【專利附圖】
【附圖說(shuō)明】
[0012]圖1是本發(fā)明一種新的Android ROM系統(tǒng)打包和燒錄、更新方式的示意框圖。圖2是本發(fā)明打包好的單一數(shù)據(jù)包的具體細(xì)節(jié)。
【具體實(shí)施方式】
[0013]下面結(jié)合附圖的最佳實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳盡的描述。
[0014]如圖1所示,本發(fā)明具體實(shí)施于辰漢電子的系列Android平板電腦。
[0015]所述的一種新的Android ROM系統(tǒng)打包和燒錄、更新方式的示意框圖如圖1所示。首先準(zhǔn)備好所有待打包的文件即分散的Android ROM數(shù)據(jù)1,然后根據(jù)配置文件2,進(jìn)行打包3,生成單一的Android ROM打包文件4,文件生成之后就可以通過(guò)ROM燒錄5燒如辰漢電子的系列平板電腦或者通過(guò)設(shè)置界面的更新,進(jìn)行ROM系統(tǒng)更新燒錄6。
[0016]如圖2所示,本發(fā)明具體實(shí)施于辰漢電子的系列Android平板電腦。
[0017]所述的一種新的Android ROM系統(tǒng)打包和燒錄、更新方式最終形成的打包文件中的內(nèi)容分布如圖2所示。
[0018]所述的分區(qū)表1,是分布在存儲(chǔ)設(shè)備最前端的IK地址以內(nèi),其中包含了整個(gè)存儲(chǔ)設(shè)備的各個(gè)分區(qū)的大小和位置。在打包過(guò)程中采取直接將已經(jīng)生成好的分區(qū)表提取到包中即可。在燒錄過(guò)程中,解包程序會(huì)將這IK代碼直接覆蓋到新存儲(chǔ)設(shè)備即可。
[0019]所述的uboot 2,是緊隨IK地址以后的內(nèi)容,用來(lái)初始化各種設(shè)備,打包中直接根據(jù)當(dāng)前的客戶和存儲(chǔ)方式將之前已經(jīng)生成好的Uboot直接打包到分區(qū)表后面即可。
[0020]所述的uboot環(huán)境變量3,是uboot用來(lái)啟動(dòng)內(nèi)核,并傳到內(nèi)核中相關(guān)內(nèi)容的部分,該部分占用特定的位置和大小。打包中直接把生成的Uboot環(huán)境變量打包于uboot之后。
[0021]所述的Linux內(nèi)核4,是系統(tǒng)運(yùn)行中最底層的系統(tǒng),在uboot釋放控制權(quán)之后由內(nèi)核進(jìn)行接管。內(nèi)核同樣放在固定地址占用固定大小空間的位置。打包中也是將不同客戶的內(nèi)核直接打包入包中即可。
[0022]所述的uramdisk 5,是系統(tǒng)的根目錄,運(yùn)行的時(shí)候被掛載在根目錄下。在打包過(guò)程中直接打包于Linux內(nèi)核后面,占用指定的位置和內(nèi)存。[0023]所述的sdcard 6分區(qū),是系統(tǒng)運(yùn)行后進(jìn)行掛載的分區(qū),用于存放各種文件。該分區(qū)打包過(guò)程中只是在分區(qū)表中有它的位置和大小,并沒(méi)有對(duì)應(yīng)的數(shù)據(jù)被打包進(jìn)去。
[0024]所述的system分區(qū)7,是android的系統(tǒng)分區(qū),大量的配置文件,庫(kù)文件,可執(zhí)行程序均在該分區(qū)。在打包過(guò)程中,system分區(qū)會(huì)先被掛載在相關(guān)目錄下,然后根據(jù)不同客戶定制不同的庫(kù)文件,不同的運(yùn)行程序,不同的可執(zhí)行程序,更新完畢會(huì)進(jìn)行卸載并保存。這個(gè)時(shí)候客戶定制的system分區(qū)就完成了,接下來(lái)將其打包到整個(gè)包中即可。
[0025]所述的data分區(qū)8,是android的數(shù)據(jù)分區(qū),運(yùn)行中產(chǎn)生的大量的臨時(shí)文件和一些應(yīng)用程序的配置文件會(huì)放在該分區(qū)。根據(jù)不同的客戶,原始定制的data分區(qū)是不同的,在打包過(guò)程中會(huì)直接把事先準(zhǔn)備好的data分區(qū)進(jìn)行打包。
[0026]所述的cache分區(qū)9,是一個(gè)空分區(qū),在打包過(guò)程中不進(jìn)行打包。
[0027]所述的recovery分區(qū)10,是android的更新和恢復(fù)分區(qū),用于在系統(tǒng)崩潰的恢復(fù)和更新過(guò)程中的文件替換。在打包過(guò)程中將recovery分區(qū)直接打包入整體包中即可。
[0028]所述的CRC校驗(yàn)11,是為了在解析打包文件過(guò)程中發(fā)生錯(cuò)誤而進(jìn)行的必要的校驗(yàn)過(guò)程。在上述所有的步驟之后整體包基本結(jié)束,這時(shí)只要進(jìn)行CRC校驗(yàn),將校驗(yàn)好的CRC數(shù)據(jù)打包在整體數(shù)據(jù)包最后。Android ROM數(shù)據(jù)包最終完成。
【權(quán)利要求】
1.一種新的Android ROM系統(tǒng)打包和燒錄、更新方式,其特征在于所述可以根據(jù)不同客戶需求和存儲(chǔ)條件,在為基于Android OS的平板電腦或智能手機(jī)燒錄或更新AndroidROM前,將所有Android需要的數(shù)據(jù),包括分區(qū)表,Uboot, Uboot環(huán)境變量,Linux內(nèi)核,uramdisk, system 分區(qū),data 分區(qū),cache 分區(qū)和 recovery 分區(qū)等 Android ROM 所包含的數(shù)據(jù)按照一定的格式打包在一個(gè)單一的文件內(nèi),在燒錄和更新Android ROM時(shí)使用相應(yīng)的工具來(lái)處理這個(gè)文件完成燒錄、更新過(guò)程,從而使得在生產(chǎn)時(shí)對(duì)Android ROM的燒錄、在用戶使用時(shí)對(duì)Android ROM的更新升級(jí)更加方便,并且保證數(shù)據(jù)的完整、正確性,不容易出錯(cuò)。
2.如權(quán)利要求1所述,其特征在于將AndroidROM數(shù)據(jù)按照一定的格式打包在一個(gè)單一的文件中,避免發(fā)布多個(gè)文件,從而方便Android ROM的發(fā)布、燒錄和更新。
3.如權(quán)利要求1所述,其特征在于本打包方式使用了一個(gè)配置文件,此配置文件允許定義Android ROM的版本、發(fā)布時(shí)間、ROM中的各個(gè)數(shù)據(jù)組成部分的大小、在存儲(chǔ)設(shè)備中的位置、燒寫(xiě)或更新的方式等信息,并且通過(guò)修改配置可以為多個(gè)產(chǎn)品的ROM打包。
4.如權(quán)利要求1所述,其特征在于本打包方式基于原生的Android操作系統(tǒng)編譯環(huán)境,在Android操作系統(tǒng)編譯完成后,通過(guò)簡(jiǎn)單的執(zhí)行一個(gè)Linux腳本程序來(lái)打包,非常快捷和方便。
5.如權(quán)利要求1所述,其特征在于包含分區(qū)表,Uboot,Linux內(nèi)核,uramdisk,system分區(qū),data分區(qū),cache分區(qū),recovery分區(qū),這些android必須使用到的文件系統(tǒng)和輔助資料。
6.如權(quán)利要求1所述,其特征在于打包文件包含CRC校驗(yàn)信息,使得文件損壞時(shí)能夠正確檢測(cè)到,確保文件的完整性。
7.如權(quán)利要求1所述,其特征在于本打包方式支持Nandflash和SD卡(或SD卡兼容的eMMC)這兩種存儲(chǔ)設(shè)備。
8.如權(quán)利要求1所述,其特征在于燒錄時(shí)使用定制的燒寫(xiě)工具,使用打包后產(chǎn)生的單一文件,通過(guò)一次燒寫(xiě)即可完成整個(gè)Android ROM對(duì)Nand flash或SD卡的燒錄,簡(jiǎn)化了原生燒錄方式的繁瑣過(guò)程。
9.如權(quán)利要求1所述,其特征在于Android用戶通過(guò)“一鍵操作”的方式,在普通的Android應(yīng)用程序環(huán)境中,通過(guò)使用與ROM燒錄時(shí)相同的、單一的打包文件,僅一個(gè)步驟就可完成整個(gè)Android ROM的升級(jí)、更新過(guò)程,簡(jiǎn)化了原生的Android ROM更新的繁瑣過(guò)程。
【文檔編號(hào)】G06F9/445GK103577211SQ201210279457
【公開(kāi)日】2014年2月12日 申請(qǐng)日期:2012年8月8日 優(yōu)先權(quán)日:2012年8月8日
【發(fā)明者】陳志煒 申請(qǐng)人:上海赤炫信息科技有限公司