專利名稱:一種自動適配移動終端的方法
技術領域:
本發明涉及移動終端的產品研發技術,例如,移動終端的底層驅動、系統加載、產品集成和版本發布等,特別是一種自動適配移動終端的方法。所述自動適配移動終端的方法通過將移動終端中嵌入式操作系統的影像文件與獨立于該影像文件的不同的參數文件進行組配,以適應不同的硬件配置或用戶需求變化帶來的軟件改變,從而進一步提高產品研發效率,縮短產品研發周期,更快、更好地發布產品。
背景技術:
在當前的嵌入式技術下,一個移動終端往往會采用一個具有片上系統(S0C, System On a Chip)技術的微處理器芯片,這個芯片的片上系統包含了一個以上嵌入式 CPU/數字信號處理器(DSP),包含了時鐘電路、定時器、中斷控制器、串并行接口、各種外設控制器、I/O端口,包含了 ADC、DAC、PLL以及一些高速電路中所用的模擬電路,包含了易失、 非易失以及Cache等存儲器。當然,不可缺少的提供了一系列可對芯片進行編程的寄存器。 基于這樣的微處理器芯片,可以掛接各種外設如顯示屏、觸摸屏、攝像頭、藍牙、GPS、WiFi等以實現各種功能。在這樣的移動終端上,對硬件設備的最終控制都歸結為對微處理器芯片上的寄存器的配置。嵌入式操作系統一般具有內核小、專用性強、系統精簡、實時性高的特點,并具有一定的可定制性。移動終端的軟件系統往往會采用某個嵌入式操作系統,然后基于特定的硬件設計來完成底層驅動的修改,并根據用戶的需求對操作系統進行一定程度的定制,并集成一些上層應用。在移動終端的開發過程中,開發廠商往往會基于某個選定的微處理器芯片和某個選定的嵌入式操作系統,通過搭配不同外設和應用,變換外形設計來推出一系列不同的產品。這樣,一旦掌握某個軟、硬件架構組合的技術,就可以縮減后續產品的研發周期,快速推出系列產品。而在當前的信息化社會里,用戶的需求變化是很頻繁的。硬件技術的提升使很多不同廠家的外設芯片都可以做到pin to pin的替換,硬件變得顯得簡單起來,對用戶需求變化的響應被更多地體現在了軟件方面。在這種開發模式下,傳統的做法是注重代碼的模塊化設計,在代碼中采用宏定義, 盡量加大代碼復用的可能。當硬件設計或用戶需求發生變化時,根據改變修改代碼,生成新的影像(Image)文件,發布新的版本。這種傳統的做法帶來的一個問題是某些改變只是帶來了局部的代碼改動,但卻要重新生成新的影像(Image)文件,重新灌裝。就如大家所知道的,多數嵌入式操作系統的影像(Image)文件都是比較大的,在生成新的影像(Image)文件時都要花費較長時間;多數移動終端在進行完整影像(Image)文件升級時也會比較繁瑣耗時。因此這種傳統做法限制了開發效率,也使版本發布復雜化。
發明內容
本發明針對現有技術中存在的缺陷或不足,提供一種自動適配移動終端的方法。所述自動適配移動終端的方法通過將移動終端中嵌入式操作系統的影像文件與獨立于該影像文件的不同的參數文件進行組配,以適應不同的硬件配置或用戶需求變化帶來的軟件改變,從而進一步提高產品研發效率,縮短產品研發周期,更快、更好地發布產品。本發明的技術方案如下一種自動適配移動終端的方法,其特征在于,根據為移動終端選定的微處理器芯片和選定的嵌入式操作系統,設定用戶需求變化或硬件配置變化所帶來的軟件改變,并形成一系列參數和各種參數文件,所述參數文件獨立于移動終端中嵌入式操作系統的影像文件,通過所述影像文件與不同的參數文件進行組配以自動適配特定的用戶需求變化或特定的硬件配置變化所帶來的軟件改變,所述參數文件獨立于所述影像文件發布和/或更新, 所述軟件改變發生時無需更新所述影像文件。所述參數文件包括寄存器參數文件、判定條件參數文件、系統參數文件和/或定制區配置文件及應用。所述參數文件是指寄存器參數文件,基于寄存器參數文件配置寄存器包括以下步驟A.分析所述微處理器芯片提供的寄存器的尋址和功能特性,抽象出操作某個寄存器時需要提供的信息;B.分析在驅動程序中對寄存器的操作,歸結到是針對某項功能的一組寄存器操作;C.根據A、B分析,同時考慮檢索的速度,抽象定義出適合的數據結構,以及參數文件的格式;D.定義參數文件的編譯生成、燒錄和加載方式,并提供相關的軟件支持;E.提供一個軟件模塊,負責解析參數文件內容并將其轉換為具體的寄存器操作,并為其它軟件模塊的調用提供配置寄存器統一接口 ;F.提取程序中可能需要變動的寄存器操作,轉換為基于寄存器參數文件進行配置,從而達到通過修改寄存器參數文件就可以修改寄存器的配置。所述參數文件是指判定條件參數文件,基于判定條件參數文件配置判定條件包括以下步驟:A.定義表達判定條件的數據格式,定義參數文件的格式;B.定義參數文件的編譯生成、燒錄和加載方式并提供相關的軟件支持;C.提供一個軟件模塊,負責解析參數文件內容并將其轉換為通用判斷語句可識別的條件,并為其它軟件模塊的調用提供配置判定條件統一接口 ;D.提取可能需要動態更換的判定條件并轉換為基于判定條件參數文件進行判斷,從而達到通過修改判定條件參數文件就可修改判定條件。所述參數文件是指系統參數文件,基于系統參數文件修改系統啟動依賴的配置文件包括以下步驟A.分析所用操作系統啟動依賴的配置文件的特點,定義與之相適應的參數文件格式;B.定義參數文件的編譯生成、燒錄和加載方式并提供相關的軟件支持;C.分析系統啟動過程的特點,確定更新系統啟動配置文件的合適時機,提供系統參數解析模塊, 負責解析參數文件內容將其更新到配置文件中;D.提取可能需要修改的系統配置文件內容整合到參數文件,從而達到通過修改系統參數文件就可修改系統特性。所述參數文件是指定制區配置文件及應用,基于定制區配置文件及應用選擇安裝指定的應用包括以下步驟:A.在移動終端的存儲介質上劃出一塊區域作為定制區,用于存儲所需應用的安裝包,同時以一個配置文件來指定需要安裝的應用;此定制區對用戶不可見,其中的內容可獨立于影像文件更新;B.在系統中配備一個定制區配置文件安裝程序, 在系統啟動過程中該程序會自動加載,根據定制區的配置文件安裝指定的應用,并只在未安裝的情況下進行安裝。
5
所述配置寄存器統一接口的工作流程包括①拆分入口參數dwOperationID為模塊ID =ModuleID和寄存器操作ID =RegOpID ;②由預設的內存區域獲得DRIVER_REG_TABLE 數據表的起始位置;③通過ModulID在DRIVER_REG_TABLE數據表中定位,獲得與之對應的 REG0P_TABLE數據表起始位置;④通過RegOpID在REG0P_TABLE數據表中定位,獲得與之對應的REGCONFIG_TABLE數據表的起始位置;⑤逐一讀取REGCONFIG_TABLE數據表的各項內容,根據dwOperation和dwOperationConfig的定義組合進行具體的操作。所述配置判定條件統一接口的工作流程包括(1)在預設的內存區域的起始位置,讀取字符串的數量η ;(幻在那個索引項中采用二分法依次檢索其所指向的字符串,尋找調用參數給出的字符串;(3)如果找到,則返回TRUE,否則返回FALSE。所述系統參數解析模塊的工作流程包括步驟1,從系統注冊表中讀取上次更新時記錄的UUID_Last,在每次依據系統參數文件更新系統注冊表之后,會將相應的UUID保存到注冊表里;步驟2,判斷是否有UUID_Last,如果能從注冊表里獲得一個UUID值,則認為UUID_Last存在,會直接跳轉到步驟7 ;否則認為UUID_Last不存在,繼續執行步驟3 ; 步驟3,由預設的內存區域獲得系統參數表的起始位置,系統參數表在bootloader里就會被加載到預先劃分給它的內存區域,通過相應的指針,就可以讀取相應的內容;步驟4,讀取系統參數表里的內容,逐一更新到系統的注冊表中,即讀取前面所述的<RegInf0>"</ Reglnfo〉標簽中的內容,然后通過操作系統提供的注冊表操作函數將其更新到系統注冊表中;步驟5,將UUID記錄到系統的注冊表,在更新系統注冊表成功后,最后將系統參數表對應的UUID也記錄到注冊表中,用來標識更新成功,并作為下次判斷是否需要重新更新的依據;步驟6,保存注冊表到存儲介質,調用操作系統的flush操作,強制將系統注冊表保存到存儲介質,以便后續使用;步驟7,重啟系統,調用操作系統的軟重啟接口,讓系統依據更新后的注冊表重新啟動,啟動后會重新執行到前面的步驟11,最后執行到步驟112 ;步驟8,由預設的內存區域獲得系統參數表的起始位置,系統參數表在bootloader里就會被加載到預先劃分給它的內存區域,通過相應的指針,就可以讀取相應的內容,與步驟3完全相同; 步驟9,從系統參數表中讀取其相應的UUID ;步驟10,判斷UUID_Last是否與UUID —致,直接比較UUID_Last與UUID的值,如果一致,表示當前的系統參數已經被成功更新到當前的系統注冊表里了,系統可以繼續正常運行,跳轉到步驟12 ;如果不一致,表示系統注冊表中使用了另一份系統參數,當前的系統參數還未被更新到注冊表中,則繼續執行下面的步驟 11 ;步驟11,啟動恢復出廠設置,重啟系統,由于系統只能確定向當前的注冊表中添加或修改的內容,不能確定需要刪除的內容。所以要調用恢復出廠設置的接口,將另一份系統參數完全清除。這會引發系統重啟,啟動后會重新執行到前面的步驟1,進行更新操作,然后執行到步驟7 ;步驟12,結束本模塊的操作,系統進行常規啟動過程。所述定制區配置文件安裝程序的工作流程包括(A)檢測安裝結束標志文件,如果已經存在,則表示此次啟動無需安裝應用,直接結束程序,進入系統的正常使用,否則順序執行步驟(B) ; (B)讀取定制區配置文件,根據其中列出的cab包文件名依次在定制區讀取相應的cab包,并調用系統提供的cab包安裝程序將其安裝到用戶區;(C)安裝完成后在用戶區創建安裝結束標志文件;(D)重啟系統。本發明的技術效果如下本發明給出了一種自動適配移動終端的方法,將硬件設計或用戶需求變化可能帶來的軟件變化進行提煉和歸納,抽象為一系列參數,以參數文件的形式獨立于影像(Image) 文件發布,實現了同一套影像(Image)文件配以不同的參數文件可以同時適應不同的硬件產品。此方法包括四大組成部分基于寄存器參數文件配置寄存器,基于判定條件參數文件配置判定條件,基于系統參數文件修改系統啟動依賴的配置文件,基于定制區配置文件選擇安裝指定的應用。本發明針對每一部分都給出了相應參數文件的類型、格式定義、編譯生成、燒錄、加載和解析的定義和實現。基于本發明給出的方法,可以實現僅通過修改一些參數文件就可以覆蓋多數硬件設計和用戶需求變化帶來的軟件改變,從而進一步提高產品研發效率,縮短產品研發周期,更快、更好地發布產品。
圖1是系統參數解析模塊的操作流程圖。
具體實施例方式本發明涉及移動終端的底層驅動、系統加載、產品集成和版本發布等技術領域。本發明方法將硬件設計或用戶需求變化可能帶來的軟件變化進行提煉和歸納,抽象為一系列參數,以參數文件的形式獨立于影像(Image)文件發布,實現了同一套影像(Image)文件配以不同的參數文件可以同時適應不同的硬件產品。具體包括參數文件的類型、格式定義、編譯生成、燒錄、加載和解析方式等。對于基于某個選定的微處理器芯片和某個選定的嵌入式操作系統的移動終端,分析用戶需求和硬件設計變動帶來的軟件改變,可歸納為如下幾個主要方面需要修改某些寄存器的配置;需要修改一些判斷條件,并且這個條件是無法從外設芯片的狀態信息中獲得的, 也不是動態計算的結果,而是一些預定的條件(比如,是否需要上電reset,用戶是否需要某項功能等);需要使用另一個驅動程序有時候雖然是同類芯片,但如果芯片本身差異大, driver實現上就會有較大的差異,不便于實現在同一個driver中,則需要不同driver的實現;要選擇性的去除或添加操作系統自帶的某些功能項;要增加或去除某些上層應用這些應用是指產品發布時缺省所帶的應用,不包括用戶后續自由安裝的應用。針對上述改動,本發明定義了如下幾種方法,可在上述改動發生時不用重新生成新的影像(Image)文件,并且修改與更新簡單方便。1.基于寄存器參數文件配置寄存器A.分析所用微處理器系統提供的寄存器的尋址、功能特性,抽象出操作某個寄存器時需要提供的信息;B.分析在驅動程序中對寄存器的操作,基本上可以歸結到是針對某項功能的一組寄存器操作;C.根據A、B分析的特點, 同時考慮檢索的速度,抽象定義出適合的數據結構,以及參數文件的格式;D.定義參數文件的編譯生成、燒錄、加載方式,并提供相關的軟件支持;E.提供一個軟件模塊,負責解析參數文件內容并將其轉換為具體的寄存器操作,并為其它軟件模塊的調用提供統一接口 ; F.提取程序中可能需要變動的寄存器操作,轉換為基于寄存器參數文件進行配置,最終達到通過修改寄存器參數文件就可以修改寄存器的配置。2.基于判定條件參數文件配置判定條件;A.定義表達判定條件的數據格式,定義參數文件的格式;B.定義參數文件的編譯生成、燒錄、加載方式并提供相關的軟件支持;
C.提供一個軟件模塊,負責解析參數文件內容并將其轉換為通用判斷語句可識別的條件, 并為其它軟件模塊的調用提供統一接口 ;D.提取可能需要動態更換的判定條件并轉換為基于判定條件參數文件進行判斷,最終達到通過修改判定條件參數文件就可修改判定條件。3.基于系統參數文件修改系統啟動依賴的配置文件:A.分析所用操作系統啟動依賴的配置文件的特點,定義與之相適應的參數文件格式;B.定義參數文件的編譯生成、 燒錄、加載方式并提供相關的軟件支持;C.分析系統啟動過程的特點,確定更新系統啟動配置文件的合適時機,提供一個軟件模塊,負責解析參數文件內容將其更新到配置文件中;
D.提取可能需要修改的系統配置文件內容整合到參數文件,最終達到通過修改系統參數文件就可修改系統特性。4.基于定制區配置文件選擇安裝指定的應用A.在移動終端的存儲介質上劃出一塊區域作為定制區,用于存儲所需應用的安裝包,同時以一個配置文件來指定需要安裝的應用;此定制區對用戶不可見,其中的內容可獨立于影像amage)文件更新;B.在系統中配備一個程序,在系統啟動過程中該程序會自動加載,根據定制區的配置文件安裝指定的應用,并只在未安裝的情況下進行安裝。通過實現本發明給出的以上方法,在系列產品的開發中就可以做到僅通過修改一些參數文件就可以覆蓋多數硬件設計和用戶需求變化帶來的軟件改變,從而進一步提高產品研發效率,縮短產品研發周期,更快、更好地發布產品。一種自動適配移動終端的方法,其特征在于,包括如下四個主要組成部分基于寄存器參數文件配置寄存器;基于判定條件參數文件配置判定條件;基于系統參數文件修改系統啟動依賴的配置文件;基于定制區配置文件選擇安裝指定的應用。所述參數文件(包括寄存器參數文件,判定條件參數文件,系統參數文件和定制區配置文件及應用)均可獨立于影像(Image)文件發布和更新。所述基于寄存器參數文件配置寄存器,其特征在于,進一步包括了下面幾個組成部分寄存器參數文件的數據結構抽象,源文件定義,目標文件定義,根據源文件生成目標文件的編譯方法,將目標文件燒錄到移動終端非易失存儲介質預定區域的方法,將非易失存儲介質上的寄存器參數加載到預設內存區的方法,解析和使用內存區的寄存器參數的方法。所述寄存器參數文件數據結構的抽象是基于寄存器操作的尋址、功能特性的抽象,其操作可擴展為非直接操作寄存器的操作,以充分利用的數據表的特性;這些操作按功能特性進行分組,以操作ID來區分;考慮快速定位的要求,并將可能的使用者進行分類,抽象出模塊ID ;模塊ID從0開始連續編碼并唯一,在某一個模塊ID下,操作ID從0開始連
續編碼并唯一。所述寄存器參數文件的源文件和目標文件,其內容由多級可連續檢索的數據表構成,通過模塊ID和操作ID可直接定位到被檢索的下一級數據表的位置。所述解析和使用內存區的寄存器參數的方法,是通過提供操作接口給其它模塊調用來使參數起作用的。所述基于判定條件參數文件配置判定條件,其特征在于,進一步包括了下面幾個組成部分判定條件參數文件的數據抽象,源文件定義,目標文件定義,根據源文件生成目標文件的編譯方法,將目標文件燒錄到移動終端非易失存儲介質預定區域的方法,將非易失存儲介質上的判定條件參數加載到預設內存區的方法,解析和使用內存區的判定條件參數的方法。所述判定條件參數文件的數據抽象為字符串,以字符串是否存在于參數表中來表示其對應的條件是否為真。所述判定條件參數文件的目標文件定義,其內容為經過排序的字符串及其檢索表,以利于解析時的檢索。所述解析和使用內存區的判定條件參數的方法,是通過提供操作接口給其它模塊調用來使參數起作用的。所述基于系統參數文件修改系統啟動依賴的配置文件,其特征在于,進一步包括了下面幾個組成部分系統參數的源文件定義,目標文件定義,根據源文件生成目標文件的編譯方法,將目標文件燒錄到移動終端非易失存儲介質預定區域的方法,將非易失存儲介質上的系統參數加載到預設內存區的方法,解析和使用內存區的系統參數的方法。所述系統參數的源文件和目標文件定義,其格式與內容應結合移動終端所使用的操作系統的特點,根據系統啟動所依賴的配置文件來考慮。對于Windows Mobile系統,其內容以注冊表項為主,結合一些版本和設備信息,包括一個標識該系統參數文件版本的UUID。所述解析和使用內存區的系統參數的方法,是將系統參數更新到系統啟動所依賴的配置文件,最后是通過系統的配置文件來起作用的。僅在系統第一次啟動的或UUID改變時進行更新,通過記錄的UUID號來標識是否更新或是否需要重新更新。所述基于定制區配置文件選擇安裝指定的應用,其特征在于,進一步包括了下面幾個組成部分定制區配置文件定義,待選擇安裝的應用的文件定義,將目標文件燒錄到移動終端非易失存儲介質預定區域的方法,解析和使用定制區配置文件的方法,應用的安裝方法。所述待選擇安裝的應用的文件定義,應結合移動終端所使用的操作系統的特點, 如果系統提供對某種安裝文件格式的支持,則可直接使用。對于Windows Mobile系統,以 cab文件格式提供。所述定制區配置文件定義,其內容為需要安裝的應用的文件名列表。所述將目標文件燒錄到移動終端非易失存儲介質預定區域的方法,應結合移動終端所使用的操作系統的特點來確定;對于Windows Mobile系統,其存儲區域符合操作系統提供的文件系統的要求,可直接以文件操作方式訪問,有利于使用系統提供的應用安裝程序;燒錄時在Windows Mobile提供的ULDR系統中直接通過文件拷貝完成。下面介紹本發明的具體實施方案,結合具體實施例對本發明進行進一步詳細說明。本具體實施例適用于Samsung的基于ARM CPU的微處理器系統和Windows Mobile操作系統。
本實施方案針對本發明闡述的四種方法,分為四個模塊進行具體實施。模塊一、基于寄存器參數文件配置寄存器針對寄存器操作的特點和數據檢索的效率,本模塊的實施方案定義了三個數據結
構
typedef struct REGCONFIG TABLE
{
DWORD dwOperation; DWORD dwContNameOffset; DWORD dwRegNameOffset; DWORD dwRegMask;
DWORD dwRegValue; DWORD dwOperationConfig; }REGCONFIG—TABLE, *PREGCONFIG—TABLE;
typedef struct REGOP TABLE
{
DWORD dwRegOperationID; const PREGCONFIG TABLE pRegConfigTable; DWORD dwCount; }REGOP_TABLE,*PREGOP_TABLE;
typedef struct DRIVER REG TABLE
{
const PREGOP TABLE pRegOpTable; DWORD dwCount; }DRIVER_REG_TABLE, *PDRIVER_REG_TABLE;其中REGC0NFIG_TABLE是與寄存器操作相關的基本數據結構,REG0P_TABLE針對操作類別和數據檢索,DRIVER_REG_TABLE主要針對數據檢索。詳細說明請參見下面的表
格
權利要求
1.一種自動適配移動終端的方法,其特征在于,根據為移動終端選定的微處理器芯片和選定的嵌入式操作系統,設定用戶需求變化或硬件配置變化所帶來的軟件改變,并形成一系列參數和各種參數文件,所述參數文件獨立于移動終端中嵌入式操作系統的影像文件,通過所述影像文件與不同的參數文件進行組配以自動適配特定的用戶需求變化或特定的硬件配置變化所帶來的軟件改變,所述參數文件獨立于所述影像文件發布和/或更新, 所述軟件改變發生時無需更新所述影像文件。
2.根據權利要求1所述的自動適配移動終端的方法,其特征在于,所述參數文件包括寄存器參數文件、判定條件參數文件、系統參數文件和/或定制區配置文件及應用。
3.根據權利要求1所述的自動適配移動終端的方法,其特征在于,所述參數文件是指寄存器參數文件,基于寄存器參數文件配置寄存器包括以下步驟A.分析所述微處理器芯片提供的寄存器的尋址和功能特性,抽象出操作某個寄存器時需要提供的信息;B.分析在驅動程序中對寄存器的操作,歸結到是針對某項功能的一組寄存器操作;C.根據A、B分析, 同時考慮檢索的速度,抽象定義出適合的數據結構,以及參數文件的格式;D.定義參數文件的編譯生成、燒錄和加載方式,并提供相關的軟件支持;E.提供一個軟件模塊,負責解析參數文件內容并將其轉換為具體的寄存器操作,并為其它軟件模塊的調用提供配置寄存器統一接口 ;F.提取程序中可能需要變動的寄存器操作,轉換為基于寄存器參數文件進行配置,從而達到通過修改寄存器參數文件就可以修改寄存器的配置。
4.根據權利要求1所述的自動適配移動終端的方法,其特征在于,所述參數文件是指判定條件參數文件,基于判定條件參數文件配置判定條件包括以下步驟:A.定義表達判定條件的數據格式,定義參數文件的格式;B.定義參數文件的編譯生成、燒錄和加載方式并提供相關的軟件支持;C.提供一個軟件模塊,負責解析參數文件內容并將其轉換為通用判斷語句可識別的條件,并為其它軟件模塊的調用提供配置判定條件統一接口 ;D.提取可能需要動態更換的判定條件并轉換為基于判定條件參數文件進行判斷,從而達到通過修改判定條件參數文件就可修改判定條件。
5.根據權利要求1所述的自動適配移動終端的方法,其特征在于,所述參數文件是指系統參數文件,基于系統參數文件修改系統啟動依賴的配置文件包括以下步驟A.分析所用操作系統啟動依賴的配置文件的特點,定義與之相適應的參數文件格式;B.定義參數文件的編譯生成、燒錄和加載方式并提供相關的軟件支持;C.分析系統啟動過程的特點,確定更新系統啟動配置文件的合適時機,提供系統參數解析模塊,負責解析參數文件內容將其更新到配置文件中;D.提取可能需要修改的系統配置文件內容整合到參數文件,從而達到通過修改系統參數文件就可修改系統特性。
6.根據權利要求1所述的自動適配移動終端的方法,其特征在于,所述參數文件是指定制區配置文件及應用,基于定制區配置文件及應用選擇安裝指定的應用包括以下步驟 A.在移動終端的存儲介質上劃出一塊區域作為定制區,用于存儲所需應用的安裝包,同時以一個配置文件來指定需要安裝的應用;此定制區對用戶不可見,其中的內容可獨立于影像文件更新;B.在系統中配備一個定制區配置文件安裝程序,在系統啟動過程中該程序會自動加載,根據定制區的配置文件安裝指定的應用,并只在未安裝的情況下進行安裝。
7.根據權利要求3所述的自動適配移動終端的方法,其特征在于,所述配置寄存器統一接口的工作流程包括①拆分入口參數dwOperationID為模塊ID =ModuleID和寄存器操作ID =RegOpID ;②由預設的內存區域獲得DRIVER_REG_TABLE數據表的起始位置;③通過 ModulID在DRIVER_REG_TABLE數據表中定位,獲得與之對應的REG0P_TABLE數據表起始位置;④通過RegOpID在REG0P_TABLE數據表中定位,獲得與之對應的REGCONFIG_TABLE數據表的起始位置;⑤逐一讀取REGCONFIG_TABLE數據表的各項內容,根據dwOperation和 dwOperationConfig的定義組合進行具體的操作。
8.根據權利要求4所述的自動適配移動終端的方法,其特征在于,所述配置判定條件統一接口的工作流程包括(1)在預設的內存區域的起始位置,讀取字符串的數量η ; (2) 在那個索引項中采用二分法依次檢索其所指向的字符串,尋找調用參數給出的字符串;(3) 如果找到,則返回TRUE,否則返回FALSE。
9.根據權利要求5所述的自動適配移動終端的方法,其特征在于,所述系統參數解析模塊的工作流程包括步驟1,從系統注冊表中讀取上次更新時記錄的UUID_Last,在每次依據系統參數文件更新系統注冊表之后,會將相應的UUID保存到注冊表里;步驟2,判斷是否有UUID_Last,如果能從注冊表里獲得一個UUID值,則認為UUID_Last存在,會直接跳轉到步驟7 ;否則認為UUID_Last不存在,繼續執行步驟3 ;步驟3,由預設的內存區域獲得系統參數表的起始位置,系統參數表在bootloader里就會被加載到預先劃分給它的內存區域,通過相應的指針,就可以讀取相應的內容;步驟4,讀取系統參數表里的內容,逐一更新到系統的注冊表中,即讀取前面所述的<Reghfo>··· </RegInfo>標簽中的內容,然后通過操作系統提供的注冊表操作函數將其更新到系統注冊表中;步驟5,將UUID記錄到系統的注冊表,在更新系統注冊表成功后,最后將系統參數表對應的UUID也記錄到注冊表中, 用來標識更新成功,并作為下次判斷是否需要重新更新的依據;步驟6,保存注冊表到存儲介質,調用操作系統的flush操作,強制將系統注冊表保存到存儲介質,以便后續使用;步驟7,重啟系統,調用操作系統的軟重啟接口,讓系統依據更新后的注冊表重新啟動,啟動后會重新執行到前面的步驟11,最后執行到步驟112 ;步驟8,由預設的內存區域獲得系統參數表的起始位置,系統參數表在bootloader里就會被加載到預先劃分給它的內存區域,通過相應的指針,就可以讀取相應的內容,與步驟3完全相同;步驟9,從系統參數表中讀取其相應的UUID ;步驟10,判斷UUID_Last是否與UUID —致,直接比較UUID_Last與UUID的值,如果一致,表示當前的系統參數已經被成功更新到當前的系統注冊表里了,系統可以繼續正常運行,跳轉到步驟12 ;如果不一致,表示系統注冊表中使用了另一份系統參數,當前的系統參數還未被更新到注冊表中,則繼續執行下面的步驟11 ;步驟11,啟動恢復出廠設置,重啟系統,由于系統只能確定向當前的注冊表中添加或修改的內容,不能確定需要刪除的內容。所以要調用恢復出廠設置的接口,將另一份系統參數完全清除。這會引發系統重啟,啟動后會重新執行到前面的步驟1,進行更新操作,然后執行到步驟7 ;步驟12,結束本模塊的操作,系統進行常規啟動過程。
10.根據權利要求6所述的自動適配移動終端的方法,其特征在于,所述定制區配置文件安裝程序的工作流程包括(A)檢測安裝結束標志文件,如果已經存在,則表示此次啟動無需安裝應用,直接結束程序,進入系統的正常使用,否則順序執行步驟⑶;(B)讀取定制區配置文件,根據其中列出的cab包文件名依次在定制區讀取相應的cab包,并調用系統提供的cab包安裝程序將其安裝到用戶區;(C)安裝完成后在用戶區創建安裝結束標志文件; (D)重啟系統。
全文摘要
一種自動適配移動終端的方法,其特征在于,根據為移動終端選定的微處理器芯片和選定的嵌入式操作系統,設定用戶需求變化或硬件配置變化所帶來的軟件改變,并形成一系列參數和各種參數文件,所述參數文件獨立于移動終端中嵌入式操作系統的影像文件,通過所述影像文件與不同的參數文件進行組配以自動適配特定的用戶需求變化或特定的硬件配置變化所帶來的軟件改變,所述參數文件獨立于所述影像文件發布和/或更新,所述軟件改變發生時無需更新所述影像文件。有利于進一步提高產品研發效率,縮短產品研發周期,更快、更好地發布產品。
文檔編號G06F9/445GK102314364SQ20111022583
公開日2012年1月11日 申請日期2011年8月8日 優先權日2011年8月8日
發明者楊艷紅 申請人:北京登合科技有限公司