本發(fā)明涉及嵌入式設(shè)備,特別涉及一種精簡flash占用的ota(over-the-air?technology,空中下載技術(shù))功能實現(xiàn)方法、裝置及設(shè)備。
背景技術(shù):
1、在嵌入式設(shè)備領(lǐng)域,為提升用戶體驗和產(chǎn)品競爭力,普遍需要實現(xiàn)ota功能,以便及時更新設(shè)備軟件。但是實現(xiàn)ota功能是需要占用不少flash存儲空間的,因為沒辦法在當(dāng)前運行的固件中自己更新自己,所以普遍需要再多分配另一片flash存儲空間來存放下載的ota固件,然后再重啟切換或更新ota固件為主運行固件。
2、然而,在上述過程中需要分配一塊跟當(dāng)前固件差不多大小的flash存儲空間,利用額外增加的flash存儲空間實現(xiàn)ota功能,但是額外增加的flash存儲空間僅用于實現(xiàn)ota功能,造成flash存儲空間的浪費,同時為了實現(xiàn)ota功能增加了flash存儲空間,也提升了嵌入式設(shè)備的成本。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種精簡flash占用的ota功能實現(xiàn)方法、裝置及設(shè)備,以解決如何降低嵌入式設(shè)備實現(xiàn)ota功能的占用空間及成本等問題。
2、本發(fā)明第一方面實施例提供一種精簡flash占用的ota功能實現(xiàn)方法,包括以下步驟:將嵌入式設(shè)備的目標(biāo)flash存儲空間劃分為第一存儲空間和第二存儲空間,其中,第一存儲空間的空間大小大于第二存儲空間的空間大?。辉诘谝淮鎯臻g上運行目標(biāo)軟件的完整操作系統(tǒng),在第二存儲空間上創(chuàng)建實現(xiàn)ota功能的最小化操作系統(tǒng),其中,最小化操作系統(tǒng)具有ota更新任務(wù)所需的最小化功能和引導(dǎo)加載程序;利用完整操作系統(tǒng)、最小化操作系統(tǒng)和引導(dǎo)加載程序更新目標(biāo)軟件。
3、可選地,最小化功能包括驗證更新文件功能、管理flash擦寫功能和執(zhí)行系統(tǒng)切換功能。
4、可選地,利用完整操作系統(tǒng)、最小化操作系統(tǒng)和引導(dǎo)加載程序更新目標(biāo)軟件,包括:在利用完整操作系統(tǒng)檢測到ota更新任務(wù)后,利用完整操作系統(tǒng)設(shè)置引導(dǎo)加載程序下次啟動時加載最小化操作系統(tǒng)、以及目標(biāo)軟件的軟件更新包的下載位置為第一存儲空間;控制嵌入式設(shè)備重啟后利用引導(dǎo)加載程序加載最小化操作系統(tǒng),利用最小化操作系統(tǒng)執(zhí)行ota更新任務(wù),在執(zhí)行ota更新任務(wù)過程中,利用最小化操作系統(tǒng)的管理flash擦寫功能管理第一存儲空間的擦寫,利用最小化操作系統(tǒng)的驗證更新文件功能校驗軟件更新包的完整性和安全性;若檢測到ota更新任務(wù)執(zhí)行完成,則利用最小化操作系統(tǒng)的執(zhí)行系統(tǒng)切換功能設(shè)置引導(dǎo)加載程序下次啟動時加載完整操作系統(tǒng),控制嵌入式設(shè)備重啟后利用引導(dǎo)加載程序加載完整操作系統(tǒng)。
5、可選地,在執(zhí)行ota更新任務(wù)過程中,軟件更新包覆蓋第一存儲空間內(nèi)的目標(biāo)軟件的固件。
6、可選地,若嵌入式設(shè)備包括一個核心,則目標(biāo)flash存儲空間為對應(yīng)核心的flash存儲空間;若嵌入式設(shè)備包括多個核心,則目標(biāo)flash存儲空間為任意一個核心的flash存儲空間。
7、可選地,嵌入式設(shè)備的每個核心的flash存儲空間允許復(fù)用目標(biāo)flash存儲空間的最小化操作系統(tǒng)實現(xiàn)ota功能。
8、可選地,若多個核心的flash存儲空間同時復(fù)用目標(biāo)flash存儲空間的最小化操作系統(tǒng)實現(xiàn)ota功能,包括:獲取多個核心中每個核心的執(zhí)行優(yōu)先級;根據(jù)執(zhí)行優(yōu)先級確定多個核心的每個核心復(fù)用順序。
9、可選地,目標(biāo)flash存儲空間對應(yīng)核心的執(zhí)行優(yōu)先級設(shè)置為最高優(yōu)先級。
10、本發(fā)明第二方面實施例提供一種精簡flash占用的ota功能實現(xiàn)裝置,包括:劃分模塊,用于將嵌入式設(shè)備的目標(biāo)flash存儲空間劃分為第一存儲空間和第二存儲空間;創(chuàng)建模塊,用于在第一存儲空間上運行目標(biāo)軟件的完整操作系統(tǒng),在第二存儲空間上創(chuàng)建實現(xiàn)ota功能的最小化操作系統(tǒng),其中,最小化操作系統(tǒng)具有ota更新任務(wù)所需的最小化功能和引導(dǎo)加載程序;更新模塊,用于利用完整操作系統(tǒng)、最小化操作系統(tǒng)和引導(dǎo)加載程序更新目標(biāo)軟件。
11、本發(fā)明第三方面實施例提供一種嵌入式設(shè)備,包括:存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機(jī)程序,處理器執(zhí)行程序,以實現(xiàn)上述精簡flash占用的ota功能實現(xiàn)方法。
12、由此,本發(fā)明包括如下有益效果:
13、本發(fā)明實施例可以在目標(biāo)flash存儲空間上創(chuàng)建最小化操作系統(tǒng),通過最小化操作系統(tǒng)實現(xiàn)ota功能,由于最小化操作系統(tǒng)可以最大程度減少對flash存儲空間的空間占用,且基于一個flash存儲空間即可實現(xiàn)ota功能,因此無需額外增加flash存儲空間實現(xiàn)ota功能,可以大幅減少ota功能對flash存儲空間的空間消耗,從而達(dá)到節(jié)約成本又不影響ota功能的目的;同時無需對更新固件進(jìn)行壓縮,因此不需要編碼支持壓縮解壓等復(fù)雜功能代碼,具有更低的開發(fā)成本和開發(fā)周期,適用性和實用性更好。由此,解決了如何降低設(shè)備實現(xiàn)ota功能的占用空間及成本等技術(shù)問題。
14、本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
1.一種精簡flash占用的ota功能實現(xiàn)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,所述最小化功能包括驗證更新文件功能、管理flash擦寫功能和執(zhí)行系統(tǒng)切換功能。
3.根據(jù)權(quán)利要求2所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,所述利用所述完整操作系統(tǒng)、所述最小化操作系統(tǒng)和所述引導(dǎo)加載程序更新所述目標(biāo)軟件,包括:
4.根據(jù)權(quán)利要求3所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,在執(zhí)行所述ota更新任務(wù)過程中,所述軟件更新包覆蓋所述第一存儲空間內(nèi)的目標(biāo)軟件的固件。
5.根據(jù)權(quán)利要求1所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,若所述嵌入式設(shè)備包括一個核心,則所述目標(biāo)flash存儲空間為對應(yīng)核心的flash存儲空間;若所述嵌入式設(shè)備包括多個核心,則所述目標(biāo)flash存儲空間為任意一個核心的flash存儲空間。
6.根據(jù)權(quán)利要求1或5所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,所述嵌入式設(shè)備的每個核心的flash存儲空間允許復(fù)用所述目標(biāo)flash存儲空間的最小化操作系統(tǒng)實現(xiàn)ota功能。
7.根據(jù)權(quán)利要求6所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,若多個核心的flash存儲空間同時復(fù)用所述目標(biāo)flash存儲空間的最小化操作系統(tǒng)實現(xiàn)ota功能,包括:
8.根據(jù)權(quán)利要求7所述的精簡flash占用的ota功能實現(xiàn)方法,其特征在于,所述目標(biāo)flash存儲空間對應(yīng)核心的執(zhí)行優(yōu)先級設(shè)置為最高優(yōu)先級。
9.一種精簡flash占用的ota功能實現(xiàn)裝置,其特征在于,包括:
10.一種嵌入式設(shè)備,其特征在于,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機(jī)程序,所述處理器執(zhí)行所述程序,以實現(xiàn)權(quán)利要求1-8任一項所述的精簡flash占用的ota功能實現(xiàn)方法。