一種自適應固件程序及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及嵌入式系統(tǒng),尤其涉及一種自適應固件程序及其系統(tǒng)。
【背景技術】
[0002]隨著電子技術的不斷進步,需求多樣化、功能集成化是電子產(chǎn)品發(fā)展的一個趨勢。當今客戶并不滿足于制造商提供的標準化產(chǎn)品,往往會提出一些個性化需求,例如同一類型的電子產(chǎn)品有些客戶要求使用A模塊,有些要求使用B模塊;有些要求C功能,有些要求D功能;總之個性化應用需求已成為客戶選購一款產(chǎn)品的重點考量因素之一。
[0003]以車載定位設備為例,有些用戶要求使用GSM通信模塊,有些則要求使用CDMA通信模塊;有些用戶要求使用GPS定位模塊,有些則要求使用北斗(Compass)定位模塊;有些用戶要求外接攝像頭,有些用戶則不需要外接攝像頭,而是要求外接語音播報器。類似的個性化需求呈現(xiàn)快速上升的趨勢,當前的解決方法是一個需求對應一個版本,如附圖1所示。用戶選擇通信模塊為GSM模塊,定位模塊為GPS模塊時,其對應的固件程序為用戶程序版本I ;用戶選擇通信模塊為GSM模塊,定位模塊為Compass模塊時,其對應的固件程序為用戶程序版本2 ;用戶選擇通信模塊為CDMA模塊和定位模塊為GPS模塊時,其對應的固件程序為用戶程序版本3 ;用戶選擇通信模塊為CDMA模塊,定位模塊為Compass模塊時,其對應的固件程序為用戶程序版本4。以上是車載定位設備最基本的4個分類,如果按具體的模塊型號來分可以分成更多的版本分支,如此多的固件程序版本分支給研發(fā)、生產(chǎn)、維護、管理帶來不便。生產(chǎn)部門在每次燒寫程序時必須從眾多的固件版本中選擇與產(chǎn)品PCB硬件相匹配的版本;項目管理部門需要為每個分支版本整理分類相關的技術文檔,投入項目團隊(包括研發(fā)、生產(chǎn)、測試的相關人員)來維持項目的運作,盡管版本間功能差異不多,代碼差異部分往往不到整個可執(zhí)行程序的10%,但對項目管理來說,不同的版本就對應一個項目,必然對應著一個項目組;維護部門在維修時也首先要確認程序版本的對應關系。版本種類或分支多會帶來一系列的管理問題,增加了投入成本,企業(yè)的效率也會隨之降低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明在于解決因不同客戶對產(chǎn)品不同的個性化需求,使得固件程序版本較多,從而導致管理成本高,維護人員工作量大的問題,提供了一種接口模塊的識別方法及裝置,更進一步,構建了一種自適應的固件程序應用系統(tǒng)。所述固件程序可以識別所有接口上連接的模塊類型,并跳轉(zhuǎn)至與所述模塊對應的應用程序入口執(zhí)行相應的應用程序。
[0005]為解決上述技術問題,本發(fā)明采用如下所述的技術方案。一種自適應固件程序,包括有識別模塊,用于識別與中央處理單元各接口相連接的接口模塊的類別;跳轉(zhuǎn)模塊,用于根據(jù)所述模塊類別跳轉(zhuǎn)至對應的程序入口 ;應用模塊,用于實現(xiàn)用戶功能。
[0006]本發(fā)明進一步提供一種接口模塊的識別方法,具體有以下步驟:
S21、建立接口模塊的特性信息、檢測指令及指令應答結果庫,將所述庫預置在所述自適應固件程序中; 522、復位接口模塊;
523、使用特性信息識別所述接口模塊的類別及具體型號;
524、使用檢測指令識別所述接口模塊的類別及具體型號;
525、識別下一個接口模塊的類別及具體型號。
其進一步技術方案為,在S21步驟中,所述接口模塊為在市場銷售量較高,流通量較大的常用模塊。
[0007]其進一步技術方案為,執(zhí)行S22步驟,若所述接口模塊復位后可以自動發(fā)送本模塊的特性信息,則使用特性信息識別所述接口模塊的類別及具體型號,具體為:
將接收到的所述接口模塊的特性信息與所有預置的特性信息逐條進行對比,如果對比結果相同,則停止與后面的預置的特性信息對比,識別到所述接口模塊的型號,進入步驟S25;否則繼續(xù)對比,若所有預置的特性信息對比完后,仍沒有識別出所述接口模塊,則不支持所述接口模塊,進入步驟S24。
[0008]其進一步技術方案為,執(zhí)行S23步驟,若所述接口模塊復位后不會自動發(fā)送任何信息,則使用檢測指令識別所述接口模塊的類別及具體型號,具體為:
按檢測指令在庫中的順序發(fā)送檢測指令,檢測接口模塊是否返回指令應答結果,如果接收到返回的指令應答結果,將其與預置指令應答結果對比,若兩者相同則識別到所述接口模塊的型號,結束繼續(xù)發(fā)送后續(xù)的檢測指令,進入步驟S25,若對比結果不同,則不支持所述接口模塊,進入步驟S25 ;如果一段時間后沒有接收到返回的指令應答結果,繼續(xù)發(fā)送下一條檢測指令,若執(zhí)行完所有的檢測指令仍沒有識別出所述接口模塊,則不支持所述接口模塊,進入步驟S25。
[0009]本發(fā)明更進一步提供一種自適應識別接口模塊的裝置,包括有一特性信息單元,用于存儲常用接口模塊的特性信息;一檢測指令單元,用于存儲常用接口模塊的檢測指令;一指令應答結果單元,用于存儲常用接口模塊的指令應答結果;一第一判斷單元,用于判斷接口模塊發(fā)送的特性信息與預置的特性信息是否一致;一第二判斷單元,用于判斷接口模塊返回的指令應答結果是否與預置的指令應答結果一致。
[0010]其進一步技術方案為,還包括有一接口類型標識單元,用于存儲所述裝置所有接口類型的標識。
[0011 ] 其進一步技術方案為,還包括有一接口單元,用于記錄所述裝置上接口的個數(shù)。
[0012]—種自適應識別接口模塊的系統(tǒng),其特征在于,包括有一車載定位設備,一自適應識別接口模塊的裝置、至少一外接接口及至少一接口模塊。
[0013]與現(xiàn)有技術相比,本發(fā)明所提供的自適應固件程序及其系統(tǒng)集成了常用的接口模塊,可以自動識別所有接口上連接的接口模塊類型,并跳轉(zhuǎn)至與所述接口模塊對應的應用程序入口執(zhí)行相應的應用程序??梢詽M足不同用戶對產(chǎn)品的個性化需求,減少了固件程序版本,降低管理成本,減少維護人員的工作量。
【附圖說明】
[0014]圖1為現(xiàn)有車載終端連接不同接口模塊的系統(tǒng)結構圖。
[0015]圖2為本發(fā)明實施例提供的自適應固件程序的結構示意圖。
[0016]圖3為本發(fā)明實施例提供的接口模塊的識別方法的實現(xiàn)流程圖。
[0017]圖4為本發(fā)明實施例提供的一種自適應識別接口模塊的裝置的結構圖。
[0018]圖5為本發(fā)明實施例提供的系統(tǒng)結構示意圖。
【具體實施方式】
[0019]為使本領域的普通技術人員更加清楚地理解本發(fā)明的目的、技術方案和優(yōu)點,以下結合附圖和實施例對本發(fā)明做進一步的闡述。
[0020]參考圖2所示,為本發(fā)明實施例提供的自適應固件程序的結構示意圖,該自適應固件程序包括有識別模塊100,用于識別與中央處理單元各接口相連接的接口模塊的類別;跳轉(zhuǎn)模塊101,用于根據(jù)所述模塊類別跳轉(zhuǎn)至對應的程序入口。成功識別該接口模塊后設置該接口模塊的接口類型標識,跳轉(zhuǎn)模塊101讀取該接口類別標識,然后跳轉(zhuǎn)至應用模塊102中與該接口模塊對應的功能程序入口,實現(xiàn)該接口模塊的功能。
[0021]參考圖3所示,為本發(fā)明實施例提供的接口模塊的識別方法的實現(xiàn)流程,其過程詳述如下:
在S21步驟中,建立接口模塊的特性信息、檢測指令及指令應答結果庫,將所述庫預置在所述自適應固件程序中;
具體的,上述接口模塊為在市場銷售量較高,流通量大的常用模塊,如通信模塊中的華為MC323、中興MC8331、移遠M10,定位模塊中的和芯星通UM220 (北斗定位)、u_blox 5 (GPS定位),計價器模塊中的青島恒星計價器、北京聚利計價器、上海強生計價器;特性信息為所述模塊啟動時自動發(fā)送的一些關鍵信息,比如廠商信息、模塊型號信息等可以唯一確定該款模塊的信息;檢測指令為按照上述接口模塊自身支持的命令格式組成的測試指令,指令應答結果為上述接口模塊接收到檢測指令后按照自身支持的格式組成的應答指令。比如北京聚利計價器的協(xié)議為:前導碼(5AH) +長度碼+命令碼+數(shù)據(jù)+校驗碼+結束碼(5BH),長度碼、命令碼、校驗碼、前導碼、結束碼為I字節(jié),長度碼的長度=命令碼+數(shù)據(jù)+校驗碼+結束碼長度之和,校驗碼為長度碼+命令碼+數(shù)據(jù)逐字異或;而上海強生計價器協(xié)議為:起始位+包長度+設備類型+數(shù)據(jù)+校驗碼+結束位,起始位、包長度、結束位為2字節(jié),設備類型、校驗碼為I字節(jié),校驗碼為包長度+設備類型+數(shù)據(jù)逐字異或;另青島恒星計價器的協(xié)議為:前導碼+長度碼+命令碼+數(shù)據(jù)+校驗碼+結束碼(CCH),前導碼、命令碼、校驗碼、結束碼為I字節(jié),長度碼為2字節(jié)。根據(jù)各自的協(xié)議定義各自的測試指令及指令應答結果O
[0022]在S22步驟中,復位接口模塊;
具體的,接口模塊復位后,有的接口模塊自動發(fā)送特性信息,比如通信模塊中的華為MC323、中