一種同一固件兼容不同設備的方法及裝置制造方法
【專利摘要】本發(fā)明提供一種同一固件兼容不同設備的方法及裝置,其中本發(fā)明的裝置包括如下模塊:硬件識別標識記錄模塊:用于記錄硬件識別標識;硬件識別執(zhí)行模塊:用于讀取硬件識別標識并執(zhí)行與硬件識別標識對應的操作;逆操作生成模塊:用于生成所執(zhí)行的操作的逆操作的記錄;以及恢復模塊:用于在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。本發(fā)明針對不同設備在初始化或者升級時都只需一個軟件包,大大減少了不同設備具有多個軟件包帶來的高維護成本的問題。
【專利說明】一種同一固件兼容不同設備的方法及裝置
【技術領域】
[0001]本發(fā)明涉及電子設備【技術領域】,尤其涉及一種同一固件兼容不同設備的方法及裝置。
【背景技術】
[0002]在電子產(chǎn)品的開發(fā)過程中,特別是嵌入式系統(tǒng)電子產(chǎn)品,越來越多地出現(xiàn)硬件差異不大、軟件定制不同的情況,即同一類型的產(chǎn)品有多種衍生版本,產(chǎn)生了不同的設備。硬件差異如有LCD、TP不同,鍵盤不同(多語言鍵盤),C0DEC、WIFI模塊不同等。軟件差異有第三方定制的差異、GMS包差異等。在這種情況下,如果每種衍生版本都對應一版本軟件,特別是出口不同國家的產(chǎn)品,這樣從產(chǎn)品研發(fā)、生產(chǎn)到維護上均需要維護不同的固件,這樣工作量較大,造成維護成本比較大。
[0003]為了解決上述的不同設備造成軟件版本過多的問題,現(xiàn)有的具有以下兩個方案。
[0004]現(xiàn)有方案一:同一款硬件設備燒寫相同的system固件,專門做一個分區(qū)燒寫定制化固件,銷售往不同的國家。方案一的優(yōu)點system固件在系統(tǒng)起來后不會發(fā)生變化,不影響OTA升級(系統(tǒng)升級),且有個獨立分區(qū),軟件實現(xiàn)了模塊化,便于管理;缺點:N個國家需要N個定制化固件、不支持多款硬件不同的設備。
[0005]現(xiàn)有方案二:不同硬件的設備(如LCD的尺寸不同)燒寫相同的system固件,系統(tǒng)運行后根據(jù)BID號執(zhí)行不同的操作,達到不同的效果,銷售往不同的國家。BID (Board ID的縮寫)號可以由硬件(如GP10,外部EEPR0M)指定,也可以由工具燒寫到芯片內部FLASH中。方案二的優(yōu)點:真正實現(xiàn)了一個固件兼容多個產(chǎn)品,銷往不同的國家唯一要做的是燒寫不同的BID號;缺點:系統(tǒng)運行后會修改系統(tǒng)分區(qū),因此不支持OTA升級,同時根據(jù)BID號修改了較多framework層代碼,兼容性不好。
【發(fā)明內容】
[0006]本發(fā)明要解決的技術問題,在于提供一種同一固件兼容不同設備的方法及裝置,解決現(xiàn)有不同設備間固件過多或者是固件無法OTA升級、兼容性不好的問題。
[0007]本發(fā)明是這樣實現(xiàn)的:
[0008]一種同一固件兼容不同設備的方法,包括如下步驟:
[0009]讀取硬件識別標識并執(zhí)行與硬件識別標識對應的操作,生成所執(zhí)行的操作的逆操作的記錄,在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。
[0010]進一步地,所述讀取硬件識別標識為從存儲模塊中讀取或從硬件設備中讀取。
[0011]進一步地,所述的與硬件識別標識對應的操作包括復制與硬件識別標識對應的數(shù)據(jù)到系統(tǒng)區(qū)。
[0012]進一步地,所述的與硬件識別標識對應的數(shù)據(jù)所在的區(qū)與所述的系統(tǒng)區(qū)為不同分區(qū)。
[0013]進一步地,所述的與硬件識別標識對應的操作包括設置與硬件識別標識對應的屬性。
[0014]以及本發(fā)明在上述一種同一固件兼容不同設備的方法的基礎上還提供一種同一固件兼容不同設備的裝置,包括如下模塊:
[0015]硬件識別標識記錄模塊:用于記錄硬件識別標識;
[0016]硬件識別執(zhí)行模塊:用于讀取硬件識別標識并執(zhí)行與硬件識別標識對應的操作;
[0017]逆操作生成模塊:用于生成所執(zhí)行的操作的逆操作的記錄;
[0018]以及恢復模塊:用于在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。
[0019]進一步地,所述的硬件識別標識記錄模塊為存儲模塊或硬件設備。
[0020]進一步地,還包括系統(tǒng)區(qū)和差異化數(shù)據(jù)區(qū),所述的差異化數(shù)據(jù)區(qū)用于存儲所述與硬件識別標識對應的數(shù)據(jù),所述的與硬件識別標識對應的操作包括從差異化數(shù)據(jù)區(qū)復制與硬件識別標識對應的數(shù)據(jù)到系統(tǒng)區(qū)。
[0021]進一步地,系統(tǒng)區(qū)和差異化數(shù)據(jù)區(qū)為不同分區(qū)。
[0022]進一步地,硬件識別執(zhí)行模塊包括屬性設置單元,所述的屬性設置單元用于設置與硬件識別標識對應的屬性。
[0023]本發(fā)明具有如下優(yōu)點:采用本發(fā)明后不同設備在研發(fā)時使用一套代碼一套固件,軟件管理比較方便;在生產(chǎn)時燒寫相同固件,硬件不相同或出口不同的國家時,只需要燒寫不同的硬件識別標識即可,所有的軟件定制會在程序起來時自動完成,很大程度上增強了生產(chǎn)時的一致性;后期產(chǎn)品維護時,解決所有產(chǎn)品共性問題,只需一個OTA包即可,能很大程度上能降低維護成本。
【專利附圖】
【附圖說明】
[0024]圖1為本發(fā)明的方法的流程圖;
[0025]圖2為本發(fā)明裝置的優(yōu)選實施例的結構示意圖。
【具體實施方式】
[0026]為詳細說明本發(fā)明的技術內容、構造特征、所實現(xiàn)目的及效果,以下結合實施方式并配合附圖詳予說明。
[0027]請參閱圖1以及圖2,本發(fā)明提供了一種同一固件兼容不同設備的方法,本方法用于差異不大的設備上,如硬件或軟件上有所差異。包括如下步驟:步驟SlOl讀取硬件識別標識。通過讀取硬件識別標識可以區(qū)分不同的硬件。在本實施例中,硬件識別標識存儲在存儲模塊中,如ROM或SD卡,此時的硬件識別標識可以通過燒錄工具燒錄到存儲模塊中;在某些實施例中,硬件識別標識可以從硬件設備中讀取,如從GPIO、WIFI模塊、藍牙模塊、顯示屏或觸摸屏模塊中讀取這些硬件設備的ID作為硬件識別標識。硬件識別標識的形式可以是任意的,在便于直觀識別的情況下可以采用版本號。
[0028]而后在步驟S102執(zhí)行與硬件識別標識對應的操作??梢酝ㄟ^存儲各個硬件識別標識與之對應的操作的記錄集,通過在記錄集中檢索讀取到的硬件識別標識,而后執(zhí)行對應的操作。此記錄集的記錄形式可以是任意的,如腳本或表格等。具體應用時,為了在硬件識別標志增加更多更復雜的內容,如區(qū)域、語言等,在執(zhí)行與硬件識別標識對應的操作還要對硬件識別標識進行解析后再執(zhí)行。在某些實施例中,這些操作包括設置與硬件識別標識對應的屬性。如根據(jù)不同的硬件識別標識設置系統(tǒng)的語言、系統(tǒng)的時區(qū)以及時間等。在某些實施例中,這些操作包括復制與硬件識別標識對應的數(shù)據(jù)到系統(tǒng)區(qū),如復制開機圖片、鈴聲、驅動或默認軟件到系統(tǒng)區(qū)(如安卓系統(tǒng)中,系統(tǒng)區(qū)為system分區(qū))。
[0029]通過步驟SlOl和步驟S102,不同的設備可以在同一固件下根據(jù)不同的硬件識別標識進行系統(tǒng)的初始化,并且初始化成與設備運行所需要的狀態(tài),滿足不同設備的系統(tǒng)需求。同時為了使得系統(tǒng)可以更新和升級,本發(fā)明還包括步驟S103生成所執(zhí)行的操作的逆操作的記錄,并且在步驟S104在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。通過步驟S103和步驟S104,設備再次恢復到原始狀態(tài)(即在本方法應用之前狀態(tài)),則可以進行升級或更新。
[0030]在某些實施例中,步驟S102中所有與各個硬件識別標識對應的數(shù)據(jù)(即不同硬件所需的不同的數(shù)據(jù))是存放在某一個文件夾下或者某個存儲區(qū)中,為了避免與系統(tǒng)區(qū)的數(shù)據(jù)混淆,優(yōu)選地,與硬件識別標識對應的數(shù)據(jù)所在的區(qū)與所述的系統(tǒng)區(qū)為不同分區(qū)。同時可以設定上述的與硬件識別標識對應的數(shù)據(jù)所在的區(qū)為隱藏的模式,避免用戶的誤操作。
[0031]在某些實施例中,逆操作的記錄的形式可以是腳本、文本或表格,如TXT文本或者XML 表。
[0032]同時本發(fā)明在上述一種同一固件兼容不同設備的方法的基礎上還提供一種同一固件兼容不同設備的裝置,包括如下模塊:
[0033]硬件識別標識記錄模塊:用于記錄硬件識別標識;硬件識別標識記錄模塊為存儲模塊(如:R0M或SD卡等)或硬件設備(如:GP10、WIFI模塊、藍牙模塊、顯示屏或觸摸屏等)。
[0034]硬件識別執(zhí)行模塊:用于從硬件識別標識記錄模塊中讀取硬件識別標識并執(zhí)行與硬件識別標識對應的操作;逆操作生成模塊:用于生成所執(zhí)行的操作的逆操作的記錄;以及恢復模塊:用于在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。本裝置在針對不同設備會進行不同的設備初始化(即執(zhí)行與引薦設別標識對應的操作),使得設備滿足系統(tǒng)正常運行時(即初始化后)的軟硬件要求,同時在系統(tǒng)升級時恢復最原始的狀態(tài),則設備可完成升級與更新。
[0035]在本優(yōu)選實施例中,本發(fā)明的裝置還包括系統(tǒng)區(qū)和差異化數(shù)據(jù)區(qū),所述的差異化數(shù)據(jù)區(qū)用于存儲所述與硬件識別標識對應的數(shù)據(jù),所述的與硬件識別標識對應的操作包括從差異化數(shù)據(jù)區(qū)復制與硬件識別標識對應的數(shù)據(jù)到系統(tǒng)區(qū)。同時,在本實施例中,系統(tǒng)區(qū)和差異化數(shù)據(jù)區(qū)為不同分區(qū)。
[0036]進一步地,硬件識別執(zhí)行模塊包括屬性設置單元,所述的屬性設置單元用于設置與硬件識別標識對應的屬性。
[0037]綜上,使用本發(fā)明的使用者在開發(fā)針對不同設備的系統(tǒng)時,可以只采用一套固件或代碼,而后不同設備在系統(tǒng)初始化時會根據(jù)硬件識別標識自動進行系統(tǒng)初始化,完成對軟件的定制,解決了不同設備需要多套固件的問題。同時在后期升級維護時,系統(tǒng)可還原到可升級狀態(tài),解決了不可升級的問題。同時維護時只需一個升級包即可,升級包可放置所有的不同設備的更新內容,更新后在系統(tǒng)初始化時同樣根據(jù)硬件識別標識自動進行對應的升級,大大減少了維護的復雜性,降低了維護的成本。
[0038]以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發(fā)明的專利保護范圍內。
【權利要求】
1.一種同一固件兼容不同設備的方法,其特征在于:包括如下步驟: 讀取硬件識別標識并執(zhí)行與硬件識別標識對應的操作,生成所執(zhí)行的操作的逆操作的記錄,在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。
2.根據(jù)權利要求1所述的一種同一固件兼容不同設備的方法,其特征在于:所述讀取硬件識別標識為從存儲模塊中讀取或從硬件設備中讀取。
3.根據(jù)權利要求1所述的一種同一固件兼容不同設備的方法,其特征在于:所述的與硬件識別標識對應的操作包括復制與硬件識別標識對應的數(shù)據(jù)到系統(tǒng)區(qū)。
4.根據(jù)權利要求3所述的一種同一固件兼容不同設備的方法,其特征在于:所述的與硬件識別標識對應的數(shù)據(jù)所在的區(qū)與所述的系統(tǒng)區(qū)為不同分區(qū)。
5.根據(jù)權利要求1所述的一種同一固件兼容不同設備的方法,其特征在于:所述的與硬件識別標識對應的操作包括設置與硬件識別標識對應的屬性。
6.一種同一固件兼容不同設備的裝置,其特征在于:包括如下模塊: 硬件識別標識記錄模塊:用于記錄硬件識別標識; 硬件識別執(zhí)行模塊:用于讀取硬件識別標識并執(zhí)行與硬件識別標識對應的操作; 逆操作生成模塊:用于生成所執(zhí)行的操作的逆操作的記錄; 以及恢復模塊:用于在系統(tǒng)升級功能被激活時執(zhí)行所述的逆操作。
7.根據(jù)權利要求6所述的一種同一固件兼容不同設備的裝置,其特征在于:所述的硬件識別標識記錄模塊為存儲模塊或硬件設備。
8.根據(jù)權利要求6所述的一種同一固件兼容不同設備的裝置,其特征在于:還包括系統(tǒng)區(qū)和差異化數(shù)據(jù)區(qū),所述的差異化數(shù)據(jù)區(qū)用于存儲所述與硬件識別標識對應的數(shù)據(jù),所述的與硬件識別標識對應的操作包括從差異化數(shù)據(jù)區(qū)復制與硬件識別標識對應的數(shù)據(jù)到系統(tǒng)區(qū)。
9.根據(jù)權利要求8所述的一種同一固件兼容不同設備的裝置,其特征在于:系統(tǒng)區(qū)和差異化數(shù)據(jù)區(qū)為不同分區(qū)。
10.根據(jù)權利要求6所述的一種同一固件兼容不同設備的裝置,其特征在于:硬件識別執(zhí)行模塊包括屬性設置單元,所述的屬性設置單元用于設置與硬件識別標識對應的屬性。
【文檔編號】G06F9/445GK103823703SQ201410100204
【公開日】2014年5月28日 申請日期:2014年3月18日 優(yōu)先權日:2014年3月18日
【發(fā)明者】羅偉, 毛明康, 張昊, 蔡建清 申請人:福州瑞芯微電子有限公司