專利名稱::一種嵌入式操作系統(tǒng)快速移植方法及其裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及嵌入式系統(tǒng)軟件設(shè)計(jì)領(lǐng)域,尤其涉及一種嵌入式操作系統(tǒng)快速移植方法及其裝置。
背景技術(shù):
:嵌入式系統(tǒng)中最重要的是嵌入式軟件,而嵌入式軟件的主要組成部分則為嵌入式操作系統(tǒng)。隨著嵌入式設(shè)備的發(fā)展,操作系統(tǒng)越來越多樣化,處理器硬件也多元化。目前廣泛使用的各種嵌入式系統(tǒng)包括Linux,Wince,Hiread,uC0S,eC0S等。嵌入式操作系統(tǒng)的顯著特征是可移植性,可裁剪性與可配置性,這更加突出了嵌入式操作系統(tǒng)的多樣化特征。多樣的操作系統(tǒng)與多元化的處理器平臺(tái)相交織,從而形成了更加多樣的嵌入式系統(tǒng)組合。因此,當(dāng)開發(fā)人員希望完成一個(gè)操作系統(tǒng)在某處理器上的移植時(shí),需要花費(fèi)大量的時(shí)間學(xué)習(xí)該操作系統(tǒng)。由于,大多數(shù)嵌入式操作系統(tǒng)都是可裁剪的,因此,對(duì)于需要使用那些模塊,不需要使用那些模塊,以及模塊實(shí)現(xiàn)方式是否與現(xiàn)有硬件沖突,如何修改等都需要牢牢掌握。同時(shí)進(jìn)行操作系統(tǒng)移植時(shí),還要學(xué)習(xí)處理器相關(guān)知識(shí),對(duì)于二進(jìn)制接口等內(nèi)容必須要相當(dāng)熟悉,才能夠完成操作系統(tǒng)在硬件平臺(tái)上的移植。另外,即使一個(gè)在某平臺(tái)上運(yùn)行穩(wěn)定的嵌入式操作系統(tǒng)及其軟件,如果要想移植到另外一個(gè)處理器平臺(tái)上的話,或者移植到一個(gè)同系列但是不同型號(hào)的處理器上時(shí),開發(fā)人員依然需要對(duì)新的處理器的各種特性,ABI接口(applicationbinaryinterface,應(yīng)用程序二進(jìn)制接口)等重新學(xué)習(xí),從而快速明確新平臺(tái)與該操作系統(tǒng)能夠穩(wěn)定運(yùn)行的平臺(tái)之間差異性與要修改的點(diǎn),以重新修改或編寫操作系統(tǒng)中與硬件相關(guān)的代碼或文件。這種通過學(xué)習(xí)嵌入式系統(tǒng)和新平臺(tái)的學(xué)習(xí),來進(jìn)行相應(yīng)代碼或者文件的修改或者編寫,不僅增加了開發(fā)人員的壓力,并且使得嵌入式操作系統(tǒng)不能夠快速移植到新的平臺(tái),從而使得嵌入式操作系統(tǒng)的移植效率較低。
發(fā)明內(nèi)容本發(fā)明要解決的主要技術(shù)問題是,提供一種嵌入式操作系統(tǒng)快速移植方法及其裝置,通過降低操作系統(tǒng)的移植難度與學(xué)習(xí)成本,從而使得開發(fā)人員能夠快速完成移植工作,進(jìn)而提高嵌入式操作系統(tǒng)的移植效率。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下一種嵌入式操作系統(tǒng)快速移植方法,包括解析預(yù)先生成的被移植嵌入式處理器所對(duì)應(yīng)的配置文件,得到操作系統(tǒng)配置信息和編譯配置信息;根據(jù)所述操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件;根據(jù)所述編譯配置信息,對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在所述被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件;將所述嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入所述被移植嵌入式處理器。5進(jìn)一步地,所述操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置信息,軟硬件可拓展部分配置信息;所述編譯配置信息包括編譯器選擇配置信息和編譯器相關(guān)參數(shù)配置信息。進(jìn)一步地,生成所述被移植嵌入式處理器所對(duì)應(yīng)的配置文件包括利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件。更進(jìn)一步地,利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件的步驟,包括利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述;對(duì)所描述的信息進(jìn)行配置;按照預(yù)定義格式將配置后的所描述的信息進(jìn)行存儲(chǔ),得到包含所述操作系統(tǒng)配置信息和編譯配置信息的配置文件。進(jìn)一步地,根據(jù)所述操作系統(tǒng)配置信息,生成嵌入式操作系統(tǒng)的待編譯文件的步驟,包括調(diào)用預(yù)先編輯的庫函數(shù);根據(jù)所述庫函數(shù)和操作系統(tǒng)配置信息,對(duì)操作系統(tǒng)中與移植相關(guān)的文件進(jìn)行修改或者重新編寫,生成嵌入式操作系統(tǒng)的待編譯文件。更進(jìn)一步地,生成所述嵌入式操作系統(tǒng)的待編譯文件之后,還包括根據(jù)所述鏈接腳本相關(guān)配置信息,對(duì)鏈接腳本進(jìn)行修改。更進(jìn)一步地,根據(jù)所述編譯配置信息,對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在所述被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件的步驟,包括根據(jù)所述編譯器選擇配置信息,選擇相應(yīng)版本的編譯器;根據(jù)所述編譯器相關(guān)參數(shù)配置信息,對(duì)已選擇的編譯器進(jìn)行相應(yīng)的參數(shù)配置;參數(shù)配置后的編譯器對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在所述被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件。更進(jìn)一步地,將所述嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入所述被移植嵌入式處理器時(shí),還包括生成相應(yīng)的編譯日志。一種嵌入式系統(tǒng)移植裝置,包括配置文件處理引擎,用于對(duì)預(yù)先生成的配置文件進(jìn)行解析,得到操作系統(tǒng)配置信息和編譯配置信息;操作系統(tǒng)移植處理模塊,與所述配置文件處理引擎相連,用于根據(jù)所述操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件;操作系統(tǒng)編譯模塊,與所述配置文件處理引擎和操作系統(tǒng)移植處理模塊相連,用于根據(jù)所述配置文件處理引擎解析得到的編譯配置信息,對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件;可執(zhí)行文件導(dǎo)入模塊,與所述操作系統(tǒng)編譯模塊相連,用于將所述嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入到被移植嵌入式處理器。進(jìn)一步地,所述操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置信息,軟硬件可拓展部分配置信息;所述編譯配置信息包括編譯器選擇配置信息和編譯器相關(guān)參數(shù)配置信息。進(jìn)一步地,所述裝置還包括交互式處理器描述模塊,與所述配置文件處理引擎相連,用于利用人機(jī)交互代碼對(duì)被移植嵌入式處理器特性和操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件。更進(jìn)一步地,所述交互式處理器描述模塊包括描述子模塊,用于利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性和操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述;配置子模塊,與所述描述子模塊相連,用于對(duì)所述交互式處理器描述模塊所描述的信息進(jìn)行配置;配置文件生成子模塊,與所述配置子模塊和配置文件處理引擎相連,用于將進(jìn)行配置后的所描述的信息,按照預(yù)定義格式進(jìn)行存儲(chǔ),生成相應(yīng)的配置文件,并輸出給所述配置文件處理引擎。進(jìn)一步地,所述操作系統(tǒng)移植處理模塊包括調(diào)用子模塊,用于調(diào)用預(yù)先編輯的相應(yīng)的庫函數(shù);待編譯文件生成子模塊,與所述調(diào)用子模塊和配置文件處理引擎相連,用于根據(jù)所述庫函數(shù)和所述操作系統(tǒng)配置信息對(duì)嵌入式系統(tǒng)中與移植相關(guān)的文件進(jìn)行修改或者重新編寫,生成嵌入式操作系統(tǒng)的待編譯文件。更進(jìn)一步地,所述操作系統(tǒng)編譯模塊包括編譯器,以及與編譯器相連的編譯器配置子模塊,所述編譯器配置子模塊與所述配置文件處理引擎相連,用于根據(jù)所述編譯器選擇配置信息對(duì)所訴編譯器的版本號(hào)進(jìn)行配置,并根據(jù)所述編譯器相關(guān)參數(shù)配置信息對(duì)所述編譯器的相關(guān)參數(shù)進(jìn)行配置;所述編譯器,與所述操作系統(tǒng)移植處理模塊相連,用于當(dāng)所述編譯器配置子模塊對(duì)其進(jìn)行配置后,將所述操作系統(tǒng)移植處理模塊生成的待編譯文件進(jìn)行編譯,生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件。更進(jìn)一步地,所述裝置還包括與所述操作系統(tǒng)編譯模塊相連的記錄模塊,用于生成相應(yīng)的編譯日志。本發(fā)明的有益效果是本發(fā)明的嵌入式操作系統(tǒng)快速移植方法通過對(duì)預(yù)先生成的配置文件進(jìn)行解析,并根據(jù)解析后得到的操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件,再根據(jù)解析后得到的編譯配置信息,對(duì)該嵌入式操作系統(tǒng)的待編譯文件進(jìn)行編譯,生成嵌入式系統(tǒng)可執(zhí)行文件,并將其導(dǎo)入到被移植嵌入式處理器中。即是說本發(fā)明的移植方法,通過根據(jù)預(yù)先生成相應(yīng)的配置文件,再根據(jù)該配置文件中相應(yīng)的配置信息和預(yù)先編輯的庫函數(shù),生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件,由于該庫函數(shù)中有可參照的示例代碼或者可直接可復(fù)用的代碼,在嵌入式系統(tǒng)移植時(shí),開發(fā)人員可以根據(jù)相應(yīng)的配置信息,和相應(yīng)庫函數(shù)中對(duì)應(yīng)的可復(fù)用代碼或者參照實(shí)例來進(jìn)行對(duì)應(yīng)的直接復(fù)用或者重新編寫,避免了必須先對(duì)嵌入式系統(tǒng)和處理器進(jìn)行相應(yīng)的學(xué)習(xí),再進(jìn)行相應(yīng)的代碼的修改或者編寫,從而降低了操作系統(tǒng)的移植難度與學(xué)習(xí)成本,使得開發(fā)人員能夠快速完成移植工作,進(jìn)而提高嵌入式操作系統(tǒng)的移植效率。圖1為本發(fā)明的嵌入式系統(tǒng)快速移植裝置的一實(shí)施例的結(jié)構(gòu)示意圖;圖2為本發(fā)明的交互式處理器描述模塊的一實(shí)施例的結(jié)構(gòu)示意圖;圖3為本發(fā)明的操作系統(tǒng)移植處理模塊的一實(shí)施例的結(jié)構(gòu)示意圖;圖4為本發(fā)明的操作系統(tǒng)編譯模塊的一實(shí)施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明的嵌入式系統(tǒng)快速移植方法的一實(shí)施例的流程圖;圖6為本發(fā)明的嵌入式系統(tǒng)快速移植方法的步驟SlOl的一實(shí)施例的流程圖;圖7為本發(fā)明的嵌入式系統(tǒng)快速移植方法的步驟S105的一實(shí)施例的流程圖;圖8為本發(fā)明的嵌入式系統(tǒng)快速移植方法的步驟S109的一實(shí)施例的流程圖;圖9為將UCOS系統(tǒng)快速移植到PowerPC處理器的方法的一實(shí)施例的流程圖。具體實(shí)施例方式下面通過具體實(shí)施方式結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。在嵌入式操作系統(tǒng)的移植工作中,開發(fā)人員通常會(huì)希望盡量快的完成移植工作,即對(duì)能夠直接復(fù)用的代碼不做修改并保留,而對(duì)需要修改的地方,以及一些學(xué)習(xí)成本很高的部分,希望能夠有示例代碼做參照,已便于編寫相應(yīng)的代碼,或者能夠找到直接可復(fù)用的代碼,以便于快速完成移植工作?;谏鲜龅默F(xiàn)象,本實(shí)施方式提供一種嵌入式操作系統(tǒng)的快速移植裝置,及其快速移植方法。請(qǐng)參考圖1,為本實(shí)施方式的嵌入式操作系統(tǒng)的快速移植裝置的一實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施方式的嵌入式操作系統(tǒng)快速移植裝置包括交互式處理器描述模塊101,用于利用嵌入式操作系統(tǒng)軟硬件描述性語言,即人機(jī)交互代碼,對(duì)被移植嵌入式處理器的特性,以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成包含操作系統(tǒng)配置信息和編譯配置信息的配置文件;與交互式處理器描述模塊101相連的配置文件處理引擎102,用于對(duì)由交互式處理器描述模塊101預(yù)先生成的配置文件進(jìn)行解析,得到操作系統(tǒng)配置信息和編譯配置信息;與配置文件處理引擎102相連的操作系統(tǒng)移植處理模塊103,用于根據(jù)操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件;與操作系統(tǒng)移植處理模塊103和配置文件處理引擎102相連的操作系統(tǒng)編譯模塊104,用于根據(jù)配置文件處理引擎103解析得到的編譯配置信息,將操作系統(tǒng)移植處理模塊102生成的待編譯文件進(jìn)行編譯,生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件;可執(zhí)行文件導(dǎo)入模塊105,與操作系統(tǒng)編譯模塊104生成的嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入到被移植嵌入式處理器中;與由操作系統(tǒng)編譯模塊104相連的記錄模塊106,用于記錄編譯日期,版本號(hào),編譯選項(xiàng),修改內(nèi)容等,生成對(duì)應(yīng)的編譯日志。本實(shí)施方式中的利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性和嵌入式操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述指利用嵌入式系統(tǒng)軟硬件描述性語言對(duì)處理器特性,操作系統(tǒng)等關(guān)鍵性信息進(jìn)行描述。本實(shí)施方式的嵌入式系統(tǒng)的快速移植裝置通過交互式處理器描述模塊101對(duì)被移植嵌入式處理器特性,以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成對(duì)應(yīng)的配置文件,再由配置文件處理引擎102對(duì)該配置文件進(jìn)行解析,得到相應(yīng)的操作系統(tǒng)配置信息和編譯配置信息,再由操作系統(tǒng)移植處理模塊103根據(jù)該操作系統(tǒng)配置信息和庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件,并由操作系統(tǒng)編譯模塊104對(duì)該待編譯文件進(jìn)行編譯,生成嵌入式操作系統(tǒng)可執(zhí)行文件,最后由可執(zhí)行文件導(dǎo)入模塊105將生成的可執(zhí)行文件導(dǎo)入到被移植嵌入式處理器中,從而完成嵌入式操作系統(tǒng)的移植工作。由于庫函數(shù)中提供了對(duì)應(yīng)的示例代碼,或者直接可復(fù)用的代碼,從而使得根據(jù)配置文件進(jìn)行嵌入式操作系統(tǒng)的移植時(shí),只需要根據(jù)該實(shí)例代碼來編寫對(duì)應(yīng)需要修改的代碼,或者直接復(fù)用該庫函數(shù)中的可復(fù)用代碼,生成嵌入式操作系統(tǒng)的待編譯文件,最后將其編譯并導(dǎo)入被移植處理中即可,避免了必須先進(jìn)行相應(yīng)的學(xué)習(xí),再進(jìn)行相應(yīng)的代碼的修改或者編寫,進(jìn)而使得開發(fā)人員能夠直接根據(jù)配置文件和庫函數(shù)中對(duì)應(yīng)的代碼來進(jìn)行對(duì)應(yīng)的修改或者編寫,降低了操作系統(tǒng)的移植難度與學(xué)習(xí)成本,使得開發(fā)人員能夠快速完成移植工作,提高了移植效率。請(qǐng)參考圖2,為本實(shí)施方式中的交互式處理器描述模塊101的一實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施方式的交互式處理器描述模塊101包括描述子模塊1011,用于利用人機(jī)交互代碼對(duì)被移植嵌入式處理器特性和操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述;與該描述子模塊1011相連的配置子模塊1012,用于對(duì)該描述子模塊1011所描述的信息進(jìn)行相應(yīng)的配置;與配置模塊1012相連的配置文件生成模塊1013,用于將配置后的所描述的信息按照預(yù)定義格式進(jìn)行存儲(chǔ),生成相應(yīng)的配置文件,并輸出給配置文件處理引擎102。本實(shí)施方式中所描述的信息包括處理器二進(jìn)制接口相關(guān)內(nèi)容選項(xiàng),中斷實(shí)現(xiàn)方式選項(xiàng)和時(shí)鐘中斷信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)選項(xiàng),鏈接腳本相關(guān)選項(xiàng),軟硬件可拓展部分選項(xiàng);以及編譯器相關(guān)選項(xiàng)。當(dāng)將嵌入式操作系統(tǒng)進(jìn)行移植時(shí),由于操作系統(tǒng)中的各個(gè)模塊并不是全部需要使用,或者被移植的新處理器的特性不相同,因此需要對(duì)各個(gè)模塊或者新處理器的特性等進(jìn)行相應(yīng)的配置,從而再根據(jù)這些配置信息來完成操作系統(tǒng)在硬件平臺(tái)上的移植。本實(shí)施方式中的通過配置子模塊1012對(duì)所描述的信息進(jìn)行配置,從而得到相應(yīng)的嵌入式系統(tǒng)配置信息和編譯配置信息,其中,操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置信息,軟硬件可拓展部分配置信息;編譯配置信息包括編譯器選擇配置信息和編譯器相關(guān)參數(shù)配置信息。本實(shí)施方式中配置子模塊1012對(duì)描述子模塊1011所描述的信息進(jìn)行配置是指根據(jù)需要使用的模塊,模塊實(shí)現(xiàn)方式是否與現(xiàn)有硬件沖突,處理器相關(guān)特性,二進(jìn)制接口相關(guān)內(nèi)容等,對(duì)所描述的信息中的每個(gè)選項(xiàng)部分進(jìn)行對(duì)應(yīng)的選擇,再根據(jù)用戶的選擇通過Y選項(xiàng)或者具體數(shù)值來確認(rèn)用戶選擇了某項(xiàng)功能。例如由于不同操作系統(tǒng)的不同版本使用的編譯器,編譯器相關(guān)參數(shù)不同,如Vxworks系統(tǒng)使用diab編譯器,而Iinux系統(tǒng)使用gcc編譯器,則此時(shí)需要對(duì)編譯描述信息進(jìn)行配置,即配置選擇哪一類型的編譯器,同時(shí)對(duì)該編譯器的相關(guān)參數(shù)進(jìn)行配置。本實(shí)施方式中,描述子模塊1011描述的各個(gè)選項(xiàng)信息,可以可視化界面方式提供選項(xiàng),以便于開發(fā)者理解運(yùn)用。請(qǐng)參考圖3,為本實(shí)施方式的操作系統(tǒng)移植處理模塊103的一實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施方式的操作系統(tǒng)移植處理模塊103包括與配置文件處理引擎102相連的調(diào)用子模塊1031,用于調(diào)用對(duì)應(yīng)的庫函數(shù);與調(diào)用子模塊1031和配置文件處理引擎102相連的待編譯文件生成子模塊1032,用于根據(jù)所調(diào)用的庫函數(shù)中對(duì)應(yīng)的代碼和操作系統(tǒng)配置信息,對(duì)嵌入式系統(tǒng)中與移植相關(guān)的文件進(jìn)行修改或者編寫,生成嵌入式操作系統(tǒng)的待編譯文件。本實(shí)施方式中通過調(diào)用相應(yīng)的庫函數(shù),并根據(jù)該該庫函數(shù)中對(duì)應(yīng)的代碼和操作系統(tǒng)配置信息,對(duì)與移植相關(guān)的文件進(jìn)行修改或者編寫,生成待編譯文件,由于該庫函數(shù)中提供有相應(yīng)的可參照實(shí)例代碼或者可直接復(fù)用的代碼,從而降低了操作系統(tǒng)的學(xué)習(xí)難度和移植難度,使得開發(fā)人員能夠根據(jù)該庫函數(shù)中相應(yīng)的代碼快速完成移植工作。請(qǐng)參考圖4,為本實(shí)施方式中的操作系統(tǒng)編譯模塊104的一實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施方式的操作系統(tǒng)編譯器配置模塊104包括相連的編譯器配置子模塊1041和編譯器1042,其中編譯器配置子模塊1041與配置文件處理引擎102相連,用于根據(jù)編譯器選擇配置信息,對(duì)編譯器1042的版本號(hào)進(jìn)行配置,并根據(jù)編譯器相關(guān)參數(shù)配置信息對(duì)編譯器1042進(jìn)行相關(guān)參數(shù)配置;編譯器1042,與操作系統(tǒng)移植處理模塊103相連,用于當(dāng)編譯器配置子模塊1041對(duì)其進(jìn)行相應(yīng)的配置后對(duì)該操作系統(tǒng)移植處理模塊103生產(chǎn)的待編譯文件進(jìn)行編譯,生成嵌入式操作系統(tǒng)可執(zhí)行文件。由于不用操作系統(tǒng)的不同版本對(duì)于硬件的支持是不一樣的,同時(shí)操作系統(tǒng)的不同版本間使用的編譯器,編譯器相關(guān)參數(shù),如優(yōu)化等級(jí)等,也是不一樣的,因此,本實(shí)施方式通過配置編譯器的版本號(hào)、參數(shù)等相關(guān)信息,從而再根據(jù)該配置信息選擇對(duì)應(yīng)的版本的編譯器來編譯待編譯文件。本實(shí)施方式中不同編譯器之間的參數(shù)會(huì)提供默認(rèn)數(shù)值,當(dāng)然也可以讓用戶手工進(jìn)行相應(yīng)的編譯器相關(guān)信息配置來修改?;谏鲜龅目焖僖浦惭b置,本實(shí)施方式還提供一種嵌入式系統(tǒng)的快速移植方法,下面結(jié)合附圖和具體實(shí)施例對(duì)本實(shí)施方式的嵌入式系統(tǒng)的快速移植方法進(jìn)行詳細(xì)的說明。請(qǐng)參考圖5,為本實(shí)施方式的嵌入式系統(tǒng)的快速移植方法的一實(shí)施例的流程圖。本實(shí)施方式的嵌入式系統(tǒng)的快速移植方法包括S101,利用嵌入式系統(tǒng)軟硬件描述語言,即人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性與操作系統(tǒng)的關(guān)鍵信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件,執(zhí)行步驟S103。請(qǐng)參考圖6,為本實(shí)施方式的步驟SlOl的一實(shí)施例的流程圖。本實(shí)施方式的步驟SlOl包括S1011,利用嵌入式系統(tǒng)軟硬件描述語言,即人機(jī)交互代碼,對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述。本實(shí)施方式中利用嵌入式系統(tǒng)軟硬件描述語言進(jìn)行描述的被移植嵌入式處理器的特性和嵌入式操作系統(tǒng)關(guān)鍵性信息包括處理器二進(jìn)制接口相關(guān)內(nèi)容選項(xiàng);二進(jìn)制接口用來描述處理器支持的數(shù)據(jù)類型,通用寄存器的使用規(guī)則,處理器的棧幀結(jié)構(gòu),以及ELF(ExecutableandLinkableFormat,目標(biāo)文件格式)文件組成等信息;中斷實(shí)現(xiàn)方式選擇選項(xiàng)和時(shí)鐘中斷信息;在嵌入式操作系統(tǒng)中,外部中斷所使用的處理器引腳基本都是不同的,從而需要通過對(duì)中斷實(shí)現(xiàn)方式進(jìn)行描述,以進(jìn)行相應(yīng)的配置;另外對(duì)于處理器的時(shí)鐘部分,各個(gè)硬件平臺(tái)的時(shí)鐘要求也是不一樣的,外部參考時(shí)鐘也不一樣,因此,也需要對(duì)其進(jìn)行描述,以便于開發(fā)者進(jìn)行相應(yīng)的配置;操作系統(tǒng)相關(guān)實(shí)現(xiàn)選項(xiàng);操作系統(tǒng)對(duì)硬件類型支持程度不同,有些操作系統(tǒng)會(huì)對(duì)部分硬件默認(rèn)支持,而當(dāng)用戶選擇該操作系統(tǒng)是,則會(huì)列出該操作系統(tǒng)支持硬件的相關(guān)特性,因此,需要對(duì)其進(jìn)行描述,以便于用戶對(duì)其進(jìn)行相應(yīng)的配置;并且,操作系統(tǒng)中的功能模塊并不一定都會(huì)用到,因此,需要對(duì)各個(gè)功能模塊進(jìn)行描述,以便于開發(fā)者進(jìn)行相應(yīng)的配置來開啟需要使用的功能模塊;鏈接腳本相關(guān)選項(xiàng);由于硬件設(shè)計(jì)的差異性,操作系統(tǒng)鏡像會(huì)運(yùn)行在不同的物理載體上,從而需要對(duì)鏈接腳本的地址進(jìn)行修改,因此,需要對(duì)該項(xiàng)進(jìn)行描述,以便于開發(fā)者根據(jù)具體的硬件的設(shè)計(jì)進(jìn)行相應(yīng)的配置;軟硬件可拓展部分;在嵌入式系統(tǒng)中,除了最小系統(tǒng)外,還有很多設(shè)備,總線等,例如USB(UniversalSerialBUS,通用串行總線),PCI(PeripheralComponentInterconnect,外設(shè)互聯(lián)標(biāo)準(zhǔn)),LCD(LiquidCrystalDisplay,液晶顯示器)等;編譯器相關(guān)選項(xiàng);由于不同操作系統(tǒng)的不同版本,對(duì)于硬件的支持是不一樣的,并且操作系統(tǒng)的不同版本間使用的編譯器,編譯器相關(guān)參數(shù)等也是不一樣的,例如Vxworks系統(tǒng)使用diab編譯器,而Iinux系統(tǒng)使用gcc編譯器,因此,需要對(duì)操作系統(tǒng)對(duì)應(yīng)的編譯器相關(guān)選項(xiàng)進(jìn)行描述,以供用戶進(jìn)行相應(yīng)的配置。本實(shí)施方式中,編譯器相關(guān)選項(xiàng)包括gcc版本,位寬,堆棧布局,堆棧生長(zhǎng)方向等。S1013,對(duì)所描述的信息進(jìn)行配置。本實(shí)施方式中所描述的各個(gè)選項(xiàng)信息均以可視化界面方式向開發(fā)者提供選項(xiàng),從而幫助開發(fā)者理解運(yùn)用,并進(jìn)行相應(yīng)的配置。S1015,按照預(yù)定義格式將配置后的所描述的信息進(jìn)行存儲(chǔ),得到包含所述操作系統(tǒng)配置信息和編譯配置信息的配置文件。本實(shí)施方式通過對(duì)所描述的信息進(jìn)行配置后,生成的配置文件主要包括1)處理器二進(jìn)制接口相關(guān)內(nèi)容選項(xiàng)。2)編譯器相關(guān)內(nèi)容選項(xiàng)。由于不同操作系統(tǒng)的不同版本,對(duì)于硬件的支持是不一樣的,并且操作系統(tǒng)的不同版本間使用的編譯器,編譯器相關(guān)參數(shù)等也是不一樣的,因此,需要對(duì)所描述的信息中的操作系統(tǒng)對(duì)應(yīng)的編譯器相關(guān)選項(xiàng)進(jìn)行相應(yīng)的配置。當(dāng)然不同編譯器之間的參數(shù)會(huì)提供默認(rèn)數(shù)值,也可以讓用戶手工進(jìn)行配置。3)中斷實(shí)現(xiàn)方式選擇,時(shí)鐘中斷。由于外部中斷所使用的處理器引腳基本都是不同的,因此需要通過對(duì)中斷實(shí)現(xiàn)方式進(jìn)行相應(yīng)的配置,進(jìn)而使得可自動(dòng)修改操作系統(tǒng)的中斷處理代碼,提供基本的中斷處理函數(shù);另外對(duì)于處理器的時(shí)鐘部分,各個(gè)硬件平臺(tái)的時(shí)鐘要求,外部參考時(shí)鐘等參數(shù)可由開發(fā)者進(jìn)行相應(yīng)的配置。4)操作系統(tǒng)相關(guān)實(shí)現(xiàn)選項(xiàng),該選項(xiàng)可根據(jù)處理器型號(hào)提供默認(rèn)實(shí)現(xiàn)方式。當(dāng)用戶選擇的操作系統(tǒng)默認(rèn)支持部分硬件類型時(shí),則列出該系統(tǒng)支持硬件的相關(guān)特性,從而開發(fā)者對(duì)這些特性進(jìn)行相應(yīng)的配置,選擇是否使用。同時(shí),操作系統(tǒng)提供的各種功能模塊中,也有大量的選項(xiàng),例如該模塊是否全部功能都打開等,或者是否使用調(diào)試功能等。5)鏈接腳本相關(guān)選項(xiàng)。由于硬件設(shè)計(jì)的差異性,操作系統(tǒng)鏡像會(huì)運(yùn)行在不同的物理載體上,如直接在NORFLASH(非易失性的存儲(chǔ)器)上運(yùn)行,或者被搬運(yùn)到ram(randomaccessmemory,隨機(jī)存儲(chǔ)器)上運(yùn)行等,對(duì)于鏈接腳本的鏈接地址就需要根據(jù)硬件的設(shè)計(jì)進(jìn)行修改。同時(shí)還可以讓開發(fā)者自行選擇是否需要增加數(shù)據(jù)段來將其他類型文件如圖片,音頻文件等,一起編譯在內(nèi)核中等等,從而減少了用戶自己學(xué)習(xí)鏈接腳本,手動(dòng)完成的麻煩。6)軟硬件可拓展部分選項(xiàng)。在嵌入式系統(tǒng)中,除了最小系統(tǒng)外,還有很多設(shè)備,總線等,例如USB,PCI,IXD等。通過進(jìn)行相應(yīng)的配置,使得開發(fā)者可以直接選擇需要的選項(xiàng),例如Iinux中提供了一些常用設(shè)備的驅(qū)動(dòng)文件,開發(fā)者可以通過相應(yīng)配置,即可以直接選中自己要用的設(shè)備驅(qū)動(dòng),從而減少了自己需找文件,自己編寫的問題。本實(shí)施方式中的預(yù)定義格式為嵌入式系統(tǒng)軟硬件信息的格式。本實(shí)施方式的一實(shí)施例中,存儲(chǔ)為預(yù)定義格式的配置文件中0103]處理器二進(jìn)制接口相關(guān)內(nèi)容選項(xiàng)的格式為0104]〈ApplicationBinaryInterface)0105]〈\ApplicationBinaryInterface);0106]編譯器相關(guān)內(nèi)容選項(xiàng)的格式為0107]〈AssamblerOption)0108]〈\AssamblerOption);0109]中斷實(shí)現(xiàn)方式選擇的格式為0110]〈InterruptOption)0111]〈\InterruptOption);0112]操作系統(tǒng)相關(guān)實(shí)現(xiàn)選項(xiàng)的格式為0113]<OperationSystemOption)0114]〈\0perationSystemOption);0115]鏈接腳本相關(guān)選項(xiàng)的格式為0116]〈LinkerOption)0117]〈\LinkerOption);0118]軟硬件可拓展部分選項(xiàng)的格式為0119]〈HardwareOption)0120]<\Hardware0ption>。0121]本實(shí)施方式中根據(jù)被移植嵌入式處理器的特性,對(duì)上述的每個(gè)選項(xiàng)進(jìn)行相應(yīng)選擇,即根據(jù)用戶的選擇在上述各個(gè)選項(xiàng)的對(duì)應(yīng)選項(xiàng)上,通過Y選項(xiàng)或者具體數(shù)值來標(biāo)識(shí)具體選擇了某項(xiàng)功能,即對(duì)該選項(xiàng)進(jìn)行了相應(yīng)的配置,從而得到對(duì)應(yīng)的配置文件。S103,對(duì)生成的配置文件進(jìn)行解析,得到操作系統(tǒng)配置信息和編譯配置信息。本實(shí)施方式中的操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息和時(shí)鐘中斷配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置12信息,軟硬件可拓展部分配置信息;編譯描述信息包括編譯器版本配置信息和編譯器相關(guān)參數(shù)配置信息。S105,根據(jù)解析得到的操作系統(tǒng)配置信息,和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件,執(zhí)行步驟S107。請(qǐng)參考圖7,本實(shí)施方式中步驟S105包括S1051,調(diào)用預(yù)先編輯的庫函數(shù)。S1053,根據(jù)調(diào)用的庫函數(shù)中相應(yīng)的代碼,和操作系統(tǒng)配置信息,對(duì)操作系統(tǒng)中與移植相關(guān)的文件進(jìn)行修改或者重新編寫,生成嵌入式操作系統(tǒng)的待編譯文件。S107,根據(jù)解析得到的操作系統(tǒng)配置信息中的鏈接腳本相關(guān)配置信息,對(duì)相應(yīng)鏈接腳本進(jìn)行修改。S109,根據(jù)解析得到的編譯配置信息,對(duì)待編譯文件進(jìn)行編譯,生成可執(zhí)行被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件,執(zhí)行步驟S201。請(qǐng)參考圖8,本實(shí)施方式中,步驟S109包括S1091,根據(jù)編譯配置信息中的編譯器選擇配置信息,選擇相應(yīng)版本的編譯器。S1093,根據(jù)編譯配置信息中的編譯器相關(guān)參數(shù)配置信息,對(duì)已選擇的編譯器進(jìn)行相關(guān)參數(shù)配置。S1095,參數(shù)配置后的編譯器對(duì)嵌入式操作系統(tǒng)的待編譯文件進(jìn)行編譯,生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件,并調(diào)試。本實(shí)施方式中還提供了豐富的故障提示信息,當(dāng)在編譯過程中出現(xiàn)錯(cuò)誤,則提示相應(yīng)的故障信息。本實(shí)施方式中編譯后的調(diào)試是啟動(dòng)一個(gè)對(duì)應(yīng)處理器的虛擬機(jī),在虛擬機(jī)上運(yùn)行編譯之后的操作系統(tǒng),在該調(diào)試模式下,操作系統(tǒng)會(huì)自動(dòng)調(diào)用一些如進(jìn)程管理,文件讀寫操作等基本的驗(yàn)證函數(shù),以驗(yàn)證操作系統(tǒng)的基本模塊功能。S201,記錄編譯日期,版本號(hào),編譯選項(xiàng),修改內(nèi)容等,生成相應(yīng)的編譯日志。本實(shí)施方式通過記錄編譯日期,版本號(hào),編譯選項(xiàng),修改內(nèi)容等,以便于開發(fā)人員根據(jù)該編譯日志進(jìn)行后續(xù)的維護(hù)工作。S203,將生成的嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入到被移植嵌入式處理器中。本實(shí)施方式的嵌入式操作系統(tǒng)的快速移植方法,通過對(duì)被移植嵌入式處理器特性及操作系統(tǒng)關(guān)鍵性信息的描述,再對(duì)所描述的信息進(jìn)行相應(yīng)的配置,并根據(jù)解析后得到的操作系統(tǒng)配置信息,和調(diào)用的庫函數(shù)來對(duì)與移植相關(guān)的文件進(jìn)行修改或者重新編寫,生成待編譯文件,并根據(jù)編譯器配置信息對(duì)待編譯文件進(jìn)行編譯,得到嵌入式操作系統(tǒng)可執(zhí)行文件,最后將其導(dǎo)入到被移植嵌入式處理器中。由于庫函數(shù)提供了可參照編寫的示例代碼或者直接刻復(fù)用的代碼,從而使得開發(fā)者可以根據(jù)操作系統(tǒng)配置信息對(duì)移植相關(guān)文件進(jìn)行修改或者重新編寫時(shí),可直接復(fù)用可復(fù)用代碼或者參照示例代碼進(jìn)行重新編寫,以生成待編譯文件,再進(jìn)行編譯,從而降低了操作系統(tǒng)的移植難度和學(xué)習(xí)成本,使得能夠快速完成移植工作,進(jìn)而提高了移植效率。下面結(jié)合UCOS操作系統(tǒng)與PowerPC處理器的組合為例,對(duì)本實(shí)施方式的方法進(jìn)行詳細(xì)的描述。請(qǐng)參考圖9,為將UCOS操作系統(tǒng)快速移植到PowerPC處理器的一實(shí)施例的流程圖。13本實(shí)施例的快速移植方法包括S501,利用嵌入式操作系統(tǒng)軟硬件描述性語言對(duì)UCOS操作系統(tǒng)與PowerPC處理器進(jìn)行描述。S503,對(duì)所描述的信息進(jìn)行配置。S505,按照預(yù)定義的嵌入式系統(tǒng)軟硬件信息的格式存儲(chǔ)配置后的所描述的信息,并生成后綴名為.cfg的配置文件。本實(shí)施例中生成的配置文件包括數(shù)據(jù)類型位寬;傳遞參數(shù)使用的寄存,PowerPC默認(rèn)配置為使用r3_r8傳遞參數(shù);堆棧指針寄存器,默認(rèn)配置為使用Rl;參數(shù)返回值使用的寄存器,默認(rèn)配置為使用R3和R4;堆棧布局方式,PowerPC提供多種堆棧布局方式,用戶可以根據(jù)需要進(jìn)行相應(yīng)的配置;進(jìn)出中斷方式,PowerPC提供直接開關(guān)中斷方式、先將中斷狀態(tài)保持方式;可擴(kuò)展的中斷堆棧棧處理方式;UCOS系統(tǒng)的可配置部分。本實(shí)施例中,由于各選項(xiàng)會(huì)根據(jù)用戶的選擇來確認(rèn)選擇的具體的某一項(xiàng)功能,即由用戶對(duì)各選項(xiàng)進(jìn)行配置,并在用戶選擇的對(duì)應(yīng)項(xiàng),通過Y選項(xiàng)或者具體數(shù)值表示。例如處理器是大端模式,Char是1個(gè)byte長(zhǎng),堆棧生長(zhǎng)向下時(shí),二進(jìn)制接口部分配置如下〈ApplicationBinaryInterface〉ByteorderMSB=Ycharlength=1stackdirection—down=Y<\ApplicationBinaryInterface>。S507,通過調(diào)用庫函數(shù)中的后綴名為.cfg的文件的解析引擎,根據(jù)生成的后綴名為.cfg的配置文件中的標(biāo)號(hào)、標(biāo)識(shí)符等進(jìn)行相對(duì)應(yīng)的解析操作,得到相應(yīng)的操作系統(tǒng)配置信息和編譯配置信息。本實(shí)施方式中的標(biāo)識(shí)符指標(biāo)號(hào)中的內(nèi)容,例如〈ApplicationBinaryInterface〉ByteorderMSB=Ycharlength=1stackdirection—down=Y<\ApplicationBinaryInterface>。胃中,t示示#中的Byteorder_MSB,charlength,stackdirection_down等,并且,每一項(xiàng)為一個(gè)標(biāo)號(hào)。本實(shí)施方式中的解析操作即指通過遍歷配置文件中的每一個(gè)標(biāo)識(shí)符,針對(duì)每個(gè)標(biāo)識(shí)符,解析引擎會(huì)定位到要修改的操作系統(tǒng)相關(guān)內(nèi)容中對(duì)應(yīng)的內(nèi)容。本實(shí)施方式中對(duì)配置文件解析后,得到相應(yīng)的操作系統(tǒng)配置信息和編譯配置信息,其中操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息和時(shí)鐘中斷配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置信息,軟硬件可拓展部分配置信息;編譯配置信息包括編譯器選擇配置信息和編譯器相關(guān)參數(shù)配置信息。本實(shí)施方式中,對(duì)配置文件解析后,需要對(duì)操作系統(tǒng)中與移植相關(guān)文件進(jìn)行修改,而所有步驟都由程序自動(dòng)完成。在修改過程中,具體的修改流程,參照用戶在標(biāo)號(hào)中給出的相應(yīng)數(shù)值進(jìn)行相應(yīng)修改,即根據(jù)相關(guān)配置信息進(jìn)行相應(yīng)修改。S509,由于ucos中與硬件移植相關(guān)的文件包括os_cpu.h,os_cpu_a.asm和os_CpU_C.C三個(gè)文件,則調(diào)用庫函數(shù)中的相應(yīng)代碼,并根據(jù)解析得到的操作系統(tǒng)配置信息中的處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息和時(shí)鐘中斷配置信息,以及軟硬件可拓展部分配置信息,對(duì)三個(gè)與硬件移植相關(guān)的文件進(jìn)行自動(dòng)修改或者重新編寫,得到待編譯文件。本實(shí)施方式,通過調(diào)用庫函數(shù)中相應(yīng)的參照示例代碼或者可直接可復(fù)用的代碼,來進(jìn)行對(duì)需要修改或者重新編寫的硬件移植相關(guān)文件進(jìn)行自動(dòng)修改或者重新編寫,從而避免對(duì)于需要修改的地方,必須先進(jìn)行相應(yīng)的學(xué)習(xí),再進(jìn)行相應(yīng)的代碼的修改或者編寫。S601,當(dāng)需要修改功能模塊時(shí),根據(jù)解析得到的操作系統(tǒng)相關(guān)實(shí)現(xiàn)選項(xiàng),打開該模塊的控制宏。由于ucos系統(tǒng)中有大量的功能模塊是可選的,當(dāng)需要修改模塊時(shí),則只要根據(jù)解析后的配置文件中對(duì)應(yīng)的操作系統(tǒng)相關(guān)實(shí)現(xiàn)選項(xiàng),將相應(yīng)模塊的控制宏打開即可,例如內(nèi)存管理方式,任務(wù)調(diào)度方式,時(shí)鐘中斷頻率等。首先根據(jù)用戶的相關(guān)選項(xiàng),修改相應(yīng)的宏定義,然后,當(dāng)需要使用那些模塊,則只需要將對(duì)應(yīng)模塊的宏定義打開即可使用該模塊,而不需要使用的模塊則關(guān)閉相應(yīng)的宏定義,從而不需要通過開發(fā)人員對(duì)相應(yīng)的模塊進(jìn)行學(xué)習(xí),再進(jìn)行移植。S603,根據(jù)解析得到的操作系統(tǒng)配置信息中的鏈接腳本相關(guān)配置信息,對(duì)鏈接腳本進(jìn)行修改。S605,根據(jù)解析得到的編譯配置信息中的編譯器選擇配置信息,選擇對(duì)應(yīng)版本的編譯器。S607,根據(jù)編譯配置信息中的編譯器相關(guān)參數(shù)配置信息,對(duì)由步驟S605選擇的編譯器進(jìn)行相關(guān)參數(shù)配置。S609,參數(shù)配置后的編譯器對(duì)待編譯文件進(jìn)行編譯,得到相應(yīng)的嵌入式操作系統(tǒng)的可執(zhí)行文件,并調(diào)試。S701,記錄編譯日期,版本號(hào),編譯選項(xiàng),修改內(nèi)容等,生成編譯日志。S703,將生成的嵌入式操作系統(tǒng)的可執(zhí)行文件導(dǎo)入到被移植嵌入式處理器中。以上內(nèi)容是結(jié)合具體的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。1權(quán)利要求1.一種嵌入式操作系統(tǒng)快速移植方法,其特征在于,包括解析預(yù)先生成的被移植嵌入式處理器所對(duì)應(yīng)的配置文件,得到操作系統(tǒng)配置信息和編譯配置信息;根據(jù)所述操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件;根據(jù)所述編譯配置信息,對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在所述被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件;將所述嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入所述被移植嵌入式處理器。2.如權(quán)利要求1所述的方法,其特征在于,所述操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置信息,軟硬件可拓展部分配置信息;所述編譯配置信息包括編譯器選擇配置信息和編譯器相關(guān)參數(shù)配置信息。3.如權(quán)利要求1所述的方法,其特征在于,生成所述被移植嵌入式處理器所對(duì)應(yīng)的配置文件包括利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件。4.如權(quán)利要求3所述的方法,其特征在于,利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件的步驟,包括利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性以及操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述;對(duì)所描述的信息進(jìn)行配置;按照預(yù)定義格式將配置后的所描述的信息進(jìn)行存儲(chǔ),得到包含所述操作系統(tǒng)配置信息和編譯配置信息的配置文件。5.如權(quán)利要求1所述的方法,其特征在于,根據(jù)所述操作系統(tǒng)配置信息,生成嵌入式操作系統(tǒng)的待編譯文件的步驟,包括調(diào)用預(yù)先編輯的庫函數(shù);根據(jù)所述庫函數(shù)和操作系統(tǒng)配置信息,對(duì)操作系統(tǒng)中與移植相關(guān)的文件進(jìn)行修改或者重新編寫,生成嵌入式操作系統(tǒng)的待編譯文件。6.如權(quán)利要求2所述的方法,其特征在于,生成所述嵌入式操作系統(tǒng)的待編譯文件之后,還包括根據(jù)所述鏈接腳本相關(guān)配置信息,對(duì)鏈接腳本進(jìn)行修改。7.如權(quán)利要求2所述的方法,其特征在于,根據(jù)所述編譯配置信息,對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在所述被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件的步驟,包括根據(jù)所述編譯器選擇配置信息,選擇相應(yīng)版本的編譯器;根據(jù)所述編譯器相關(guān)參數(shù)配置信息,對(duì)已選擇的編譯器進(jìn)行相應(yīng)的參數(shù)配置;參數(shù)配置后的編譯器對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在所述被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件。8.如權(quán)利要求1至7中任意一項(xiàng)所述的方法,其特征在于,將所述嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入所述被移植嵌入式處理器時(shí),還包括生成相應(yīng)的編譯日志。9.一種嵌入式系統(tǒng)移植裝置,其特征在于,包括配置文件處理引擎,用于對(duì)預(yù)先生成的配置文件進(jìn)行解析,得到操作系統(tǒng)配置信息和編譯配置信息;操作系統(tǒng)移植處理模塊,與所述配置文件處理引擎相連,用于根據(jù)所述操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)的待編譯文件;操作系統(tǒng)編譯模塊,與所述配置文件處理引擎和操作系統(tǒng)編譯模塊相連,用于根據(jù)所述配置文件處理引擎解析得到的編譯配置信息,對(duì)所述待編譯文件進(jìn)行編譯,生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)的可執(zhí)行文件;可執(zhí)行文件導(dǎo)入模塊,與所述操作系統(tǒng)編譯模塊相連,用于將所述嵌入式操作系統(tǒng)可執(zhí)行文件導(dǎo)入到被移植嵌入式處理器。10.如權(quán)利要求9所述的裝置,其特征在于,所述操作系統(tǒng)配置信息包括處理器二進(jìn)制接口相關(guān)配置信息,中斷實(shí)現(xiàn)方式配置信息,操作系統(tǒng)相關(guān)實(shí)現(xiàn)配置信息,鏈接腳本相關(guān)配置信息,軟硬件可拓展部分配置信息;所述編譯配置信息包括編譯器選擇配置信息和編譯器相關(guān)參數(shù)配置信息。11.如權(quán)利要求9所述的裝置,其特征在于,還包括交互式處理器描述模塊,與所述配置文件處理引擎相連,用于利用人機(jī)交互代碼對(duì)被移植嵌入式處理器特性和操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述,并根據(jù)所描述的信息生成相應(yīng)的配置文件。12.如權(quán)利要求11所述的裝置,其特征在于,所述交互式處理器描述模塊包括描述子模塊,用于利用人機(jī)交互代碼對(duì)被移植嵌入式處理器的特性和操作系統(tǒng)的關(guān)鍵性信息進(jìn)行描述;配置子模塊,與所述描述子模塊相連,用于對(duì)所述交互式處理器描述模塊所描述的信息進(jìn)行配置;配置文件生成子模塊,與所述配置子模塊和配置文件處理引擎相連,用于將進(jìn)行配置后的所描述的信息,按照預(yù)定義格式進(jìn)行存儲(chǔ),生成相應(yīng)的配置文件,并輸出給所述配置文件處理引擎。13.如權(quán)利要求9所述的裝置,其特征在于,所述操作系統(tǒng)移植處理模塊包括調(diào)用子模塊,用于調(diào)用預(yù)先編輯的相應(yīng)的庫函數(shù);待編譯文件生成子模塊,與所述調(diào)用子模塊和配置文件處理引擎相連,用于根據(jù)所述庫函數(shù)和所述操作系統(tǒng)配置信息對(duì)嵌入式系統(tǒng)中與移植相關(guān)的文件進(jìn)行修改或者重新編寫,生成嵌入式操作系統(tǒng)的待編譯文件。14.如權(quán)利要求10所述的裝置,其特征在于,所述操作系統(tǒng)編譯模塊包括編譯器配置子模塊,以及與所述編譯器配置子模塊相連的編譯器,所述編譯器配置子模塊與所述配置文件處理引擎相連,用于根據(jù)所述編譯器選擇配置信息對(duì)所述編譯器的版本號(hào)進(jìn)行配置,并根據(jù)所述編譯器相關(guān)參數(shù)配置信息對(duì)所述編譯器進(jìn)行相關(guān)參數(shù)配置;編譯器與操作系統(tǒng)移植處理模塊,用于當(dāng)所述編譯器配置子模塊對(duì)其進(jìn)行配置后,對(duì)所述操作系統(tǒng)移植處理模塊生成的待編譯文件進(jìn)行編譯,生成可執(zhí)行在被移植嵌入式處理器的嵌入式操作系統(tǒng)可執(zhí)行文件。15.如權(quán)利要求9至14中任意一項(xiàng)所述的裝置,其特征在于,還包括與所述操作系統(tǒng)編譯模塊相連的記錄模塊,用于生成相應(yīng)的編譯日志。全文摘要本發(fā)明公開了一種嵌入式操作系統(tǒng)快速移植方法及其裝置。本發(fā)明的嵌入式操作系統(tǒng)快速移植方法通過解析配置文件,得到操作系統(tǒng)配置信息和編譯配置信息,再根據(jù)該操作系統(tǒng)配置信息和預(yù)先編輯的庫函數(shù),生成嵌入式操作系統(tǒng)待編譯文件,并根據(jù)編譯配置信息編譯待編譯文件,生成可執(zhí)行文件,最后將該可執(zhí)行文件直接導(dǎo)入到被移植嵌入式處理器。由于本發(fā)明的方法中預(yù)先生成的庫函數(shù)提供了對(duì)應(yīng)于配置文件的可參照的示例代碼,或者直接可復(fù)用的代碼,避免了必須先進(jìn)行相應(yīng)的學(xué)習(xí),再進(jìn)行相應(yīng)的代碼的修改或者編寫,從而使得開發(fā)人員能夠直接根據(jù)配置文件和庫函數(shù),對(duì)與移植相關(guān)的文件進(jìn)行修改或者編寫,進(jìn)而使得能夠快速完成移植工作,提高了移植效率。文檔編號(hào)G06F9/48GK102207887SQ201110114310公開日2011年10月5日申請(qǐng)日期2011年5月4日優(yōu)先權(quán)日2011年5月4日發(fā)明者胡亞弟申請(qǐng)人:中興通訊股份有限公司