[發(fā)明專(zhuān)利]一種基于安卓系統(tǒng)的FOTA固件升級(jí)方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202110460412.3 | 申請(qǐng)日: | 2021-04-27 |
| 公開(kāi)(公告)號(hào): | CN113238771B | 公開(kāi)(公告)日: | 2022-06-21 |
| 發(fā)明(設(shè)計(jì))人: | 紀(jì)大峣 | 申請(qǐng)(專(zhuān)利權(quán))人: | 瑞芯微電子股份有限公司 |
| 主分類(lèi)號(hào): | G06F8/65 | 分類(lèi)號(hào): | G06F8/65;G06F8/61;G06F8/71 |
| 代理公司: | 福州市景弘專(zhuān)利代理事務(wù)所(普通合伙) 35219 | 代理人: | 郭鵬飛;徐劍兵 |
| 地址: | 350003 福建省*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 系統(tǒng) fota 升級(jí) 方法 裝置 | ||
本發(fā)明公開(kāi)了一種基于安卓系統(tǒng)的FOTA固件升級(jí)方法和裝置,所述方法包括:制定升級(jí)數(shù)據(jù)包,并將所述升級(jí)數(shù)據(jù)包存儲(chǔ)于預(yù)設(shè)存儲(chǔ)介質(zhì)中;向待升級(jí)設(shè)備的固件分區(qū)中的第一位置寫(xiě)入第一升級(jí)信息;控制待升級(jí)設(shè)備進(jìn)入升級(jí)模式,解析所述第一升級(jí)信息,獲取所述升級(jí)程序,根據(jù)所述第一升級(jí)函數(shù)對(duì)所述依賴(lài)配置信息中所記載的所有分區(qū)鏡像的固件進(jìn)行升級(jí),以及根據(jù)所述第二升級(jí)函數(shù)對(duì)所述系統(tǒng)鏡像配置信息中所記載的所有分區(qū)鏡像的固件進(jìn)行升級(jí)。通過(guò)本發(fā)明的基于安卓系統(tǒng)的FOTA固件升級(jí)方法可以將待升級(jí)設(shè)備中的舊平臺(tái)固件完整升級(jí)為新平臺(tái)固件,支持對(duì)待升級(jí)設(shè)備的物理分區(qū)表進(jìn)行任意變更,有效滿足了不同應(yīng)用場(chǎng)景下的需求。
技術(shù)領(lǐng)域
本發(fā)明涉及一種固件升級(jí)領(lǐng)域,尤其涉及一種基于安卓系統(tǒng)的FOTA固件升級(jí)方法和裝置。
背景技術(shù)
FOTA(Firmware Over-the-Air)固件空中下載技術(shù),即固件在線升級(jí)技術(shù),是通過(guò)FOTA固件升級(jí)引擎以升級(jí)數(shù)據(jù)包作為輸入完成固件的升級(jí)。
在現(xiàn)有技術(shù)中,對(duì)于不同大版本的Android系統(tǒng),其基礎(chǔ)平臺(tái)架構(gòu)會(huì)有非常巨大的變化和不同,主要有兩個(gè)方面的原因:
一方面是由于基于不同Android大版本適配的底層芯片平臺(tái)技術(shù)的升級(jí)躍遷導(dǎo)致,這種技術(shù)躍遷往往是不兼容的。比如某廠商系列芯片Android 7.1平臺(tái)和Android 9.0之后的平臺(tái),其分區(qū)表格式從MBR變更為了GPT,這是底層技術(shù)的不兼容變更。
另外一方面是因?yàn)锳ndroid操作系統(tǒng)本身不同的大版本之間的技術(shù)躍遷通常也是不兼容的。比如Android 7.1,Android 9.0,Android 10.0和Android 11這四個(gè)操作系統(tǒng)平臺(tái),在操作系統(tǒng)本身的層面,Android 7.1的系統(tǒng)部分基本只有一個(gè)system.img鏡像文件,對(duì)應(yīng)一個(gè)system物理分區(qū);而Android 9.0則有system.img,vendor.img,odm.img等多個(gè)Android系統(tǒng)鏡像文件對(duì)應(yīng)system、vendor、odm等多個(gè)物理分區(qū);Android 10.0則進(jìn)一步引入動(dòng)態(tài)分區(qū)super;Android 11為了支持通用內(nèi)核,引入GKI,增加vendor_boot,導(dǎo)致整個(gè)啟動(dòng)引導(dǎo)過(guò)程發(fā)生質(zhì)的變化。
基于上述兩方面的原因,為了實(shí)現(xiàn)Android系統(tǒng)平臺(tái)跨越大版本的升級(jí),比如從Android 7.1升級(jí)到Android 10.0,國(guó)內(nèi)外廠商的通常做法是將使用舊Android操作系統(tǒng)平臺(tái)的設(shè)備稱(chēng)為legacy設(shè)備,為了支持將legacy設(shè)備升級(jí)到新Android操作系統(tǒng),通常采用的做法是在新Android操作系統(tǒng)平臺(tái)中,按照l(shuí)egacy設(shè)備的方式編譯系統(tǒng),忽略新操作系統(tǒng)中新添加的不兼容的創(chuàng)新型特征,使新操作系統(tǒng)的主要部分在legacy設(shè)備上能正常工作,也就是將新系統(tǒng)中與舊系統(tǒng)兼容的特征塞進(jìn)legacy設(shè)備的分區(qū)表,從而實(shí)現(xiàn)Android系統(tǒng)平臺(tái)跨越大版本的升級(jí)。這種Android系統(tǒng)平臺(tái)跨越大版本的升級(jí)方式滿足了用戶將舊系統(tǒng)升級(jí)到新系統(tǒng)以及使用部分新系統(tǒng)功能的需求(特別是GUI方面)。但是與完全使用新Android操作系統(tǒng)的設(shè)備(稱(chēng)為launch設(shè)備)相比,即便系統(tǒng)完成升級(jí)后用戶也享受不到新系統(tǒng)中與舊系統(tǒng)不兼容的創(chuàng)新型技術(shù)。
此外,現(xiàn)有的Android系統(tǒng)固件升級(jí),無(wú)論是非AB固件的recovery固件升級(jí)引擎(固件升級(jí)引擎是以升級(jí)包作為輸入,返回升級(jí)結(jié)果的核心固件升級(jí)程序)或者AB固件升級(jí)引擎都依賴(lài)于既有的每一個(gè)分區(qū)節(jié)點(diǎn),通過(guò)這些分區(qū)設(shè)備節(jié)點(diǎn)來(lái)完成每一個(gè)分區(qū)固件的升級(jí),這就意味著升級(jí)過(guò)程中不能改變?cè)O(shè)備的分區(qū)表。同時(shí)也不能從非AB系統(tǒng)升級(jí)到AB系統(tǒng),或者從AB系統(tǒng)升級(jí)到非AB系統(tǒng)。
而現(xiàn)有支持分區(qū)表升級(jí)的FOTA,通常采用如下幾種方式:1、支持物理分區(qū)表變更,但只能支持部分分區(qū)表變更或支持某些特定方式的變更;2、基本支持任意的分區(qū)表變更,由于采用定制的升級(jí)包,無(wú)法與和標(biāo)準(zhǔn)Android升級(jí)包兼容,需要對(duì)升級(jí)客戶端和服務(wù)器進(jìn)行改造。
發(fā)明內(nèi)容
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于瑞芯微電子股份有限公司,未經(jīng)瑞芯微電子股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110460412.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種機(jī)頂盒Loader模塊升級(jí)方法及其機(jī)頂盒
- 產(chǎn)品升級(jí)的方法和設(shè)備
- 一種機(jī)頂盒的升級(jí)方法和裝置
- 網(wǎng)絡(luò)設(shè)備升級(jí)方法、升級(jí)服務(wù)器、終端設(shè)備及存儲(chǔ)介質(zhì)
- 無(wú)人機(jī)系統(tǒng)中的模塊升級(jí)方法及待升級(jí)模塊
- 一種基于主分結(jié)構(gòu)的應(yīng)用升級(jí)及升級(jí)版本控制方法及系統(tǒng)
- 一種升級(jí)方法及裝置
- 一種終端升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 一種車(chē)輛升級(jí)方法、裝置、終端及存儲(chǔ)介質(zhì)
- 設(shè)備升級(jí)方法、裝置及服務(wù)器





