鄧曉航
摘 要 隨著嵌入式系統(tǒng)的廣泛使用,人們對(duì)于嵌入式系統(tǒng)也進(jìn)行了范圍更廣,應(yīng)用更具體的研究,本文將根據(jù)嵌入式系統(tǒng)的主要特點(diǎn),從嵌入式處理器和嵌入式操作系統(tǒng)兩個(gè)方面對(duì)于嵌入式軟件的進(jìn)行一系列有針對(duì)性的分析,希望為我們嵌入式系統(tǒng)的開發(fā)研究能起到一定的作用。
關(guān)鍵詞 嵌入式系統(tǒng) 微內(nèi)核 內(nèi)存管理單元
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A
隨著中國的數(shù)字信息的快速發(fā)展,嵌入式系統(tǒng)程序的持續(xù)發(fā)展也更加開放和更加廣泛,它甚至已經(jīng)深入人們的生活,被利用于設(shè)計(jì)軍人,工程,研究和其他領(lǐng)域,可以說進(jìn)入了人們的生活和工作的各個(gè)方面,并已成為人類活動(dòng)密不可分的伙伴。最傳統(tǒng)的嵌入式系統(tǒng)中實(shí)現(xiàn)控制的程序要控制外部,可以是簡(jiǎn)單的請(qǐng)求,但不是實(shí)際的操作系統(tǒng),這就是傳統(tǒng)的嵌入式系統(tǒng)的最大的缺點(diǎn)。后來,由于C語言在操作應(yīng)用程序的開發(fā),嵌入式系統(tǒng)也開始涉足操作系統(tǒng),最好的例子就是Windows CE,而且由于其具有相對(duì)較低的成本和不錯(cuò)的網(wǎng)絡(luò)功能,因此在現(xiàn)代信息技術(shù)中有著廣泛的應(yīng)用范圍。
1 嵌入式系統(tǒng)的關(guān)鍵技術(shù)
1.1 嵌入式開發(fā)技術(shù)
主機(jī)和目標(biāo)機(jī)器的作用點(diǎn)在嵌入式開發(fā)過程中是不同的:主機(jī)進(jìn)行編譯,鏈接,并解決計(jì)算機(jī)運(yùn)行過程中的問題,而目標(biāo)機(jī)器就是運(yùn)行嵌入式軟件的硬件平臺(tái)。主機(jī)必須先將應(yīng)用程序轉(zhuǎn)換為可以運(yùn)行在目標(biāo)機(jī)器上的二進(jìn)制代碼。這個(gè)過程包括三個(gè)步驟:編譯、鏈接、處理。所謂翻譯就是指一個(gè)交叉編譯器實(shí)現(xiàn)的編譯過程。也就是利用交叉編譯器將運(yùn)行的電腦平臺(tái)轉(zhuǎn)換至另一個(gè)平臺(tái)在通過編譯器時(shí)生成的代碼。常用工具是交叉編譯器和嘴閃光燈UC/C ++(GCC)。在編纂過程中所產(chǎn)生的所有目標(biāo)文件都會(huì)鏈接到一個(gè)對(duì)象文件,這個(gè)過程被稱為連接。而在尋址物理內(nèi)存地址的過程中,系統(tǒng)會(huì)自動(dòng)將被分配給每個(gè)目標(biāo)的文件相對(duì)偏移。該過程生成的文件,就是可以執(zhí)行對(duì)嵌入式平臺(tái)的二進(jìn)制文件。
嵌入式開發(fā)過程中的第二個(gè)重要階段是在目標(biāo)機(jī)器上調(diào)試應(yīng)用程序,嵌入式調(diào)試通常運(yùn)用交叉調(diào)試器,通常設(shè)置成一個(gè)目標(biāo)機(jī)調(diào)試模式,他們是利用電纜或直接以太網(wǎng)或串行端口BDM電纜連接。在進(jìn)行任務(wù)級(jí)調(diào)試,源級(jí)和匯編級(jí)的調(diào)試時(shí)候,都需要將在主機(jī)上的應(yīng)用程序和操作系統(tǒng)的內(nèi)核下載保存至目標(biāo)機(jī)的RAM或直接轉(zhuǎn)換成目標(biāo)機(jī)器的ROM。目標(biāo)監(jiān)控調(diào)試器就是主機(jī)在目標(biāo)機(jī)器上運(yùn)行的用來控制應(yīng)用程序的代理(DebuggerAgent) ,前者被固定在目標(biāo)機(jī)器的內(nèi)存或者ROM,在目標(biāo)機(jī)器上電后能夠自動(dòng)啟動(dòng),并等待主機(jī)端的調(diào)試器發(fā)送命令,并與應(yīng)用程序調(diào)試器下載完成后,自動(dòng)運(yùn)行調(diào)試功能,將目標(biāo)機(jī)基本的調(diào)試信息反饋到主機(jī)。
1.2 嵌入式系統(tǒng)的軟件移植技術(shù)
1.2.1 字節(jié)順序
一般可以分為大小端字節(jié)順序,無論是大字節(jié)順序還是小字節(jié)順序,它們代表的主要是冗余的數(shù)據(jù)在程序的存放順序。低字節(jié),高地址字節(jié)的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,是小字節(jié)順序。而數(shù)據(jù)存儲(chǔ)在內(nèi)存中,以低地址高字節(jié)順序就稱為大字節(jié)順序。根據(jù)PC字節(jié)在不同平臺(tái)的順序不同,也會(huì)有些改變的存儲(chǔ)順序。
1.2.2 字節(jié)對(duì)齊
在嵌入式系統(tǒng)開發(fā)過程中,我們需要字節(jié)對(duì)齊,這是一個(gè)大問題。我們經(jīng)常使用的字節(jié)對(duì)齊的方法有很多,例如在GCC編譯器和makefile添加ACK結(jié)構(gòu),這種辦法可以有效地解決文章結(jié)構(gòu)的空隙,但由這種方法引起的轉(zhuǎn)換錯(cuò)誤,是不能夠解決的錯(cuò)誤。那么為了有效提高軟件的可移植性和互操作性,我們決定在同一個(gè)地方,同時(shí)安裝閉幕包拆包功能,添加一組發(fā)送報(bào)文的功能的數(shù)據(jù)包,這樣就可以輕松有效地解決字節(jié)序列比對(duì)問題。
1.2.3 位段
在嵌入式系統(tǒng)硬件平臺(tái)的開發(fā)過程中需要確定和分配空間段,而位段分配大多是由右至左,但有的特殊的卻是由左到右,因?yàn)椴煌瑪?shù)據(jù)就導(dǎo)致比特分配序列段訪問錯(cuò)誤。為了解決這個(gè)問題,你必須使用條件編譯的方式來編譯,這取決于不同的平臺(tái)上的定義位段的順序。
1.2.4 代碼優(yōu)化
由于嵌入式軟件的固有特性,它有一個(gè)對(duì)軟件具有非常高品質(zhì)的要求,因此在嵌入式系統(tǒng)開發(fā)過程中需要非常重要的代碼優(yōu)化,通過優(yōu)化的代碼就能夠很好地提高代碼工作效率,使代碼更小。
2 嵌入式系統(tǒng)的應(yīng)用探討
2.1 人機(jī)對(duì)話
我們的手機(jī)已經(jīng)可以實(shí)現(xiàn)人機(jī)對(duì)話,甚至一些兒童玩具也可以。如一些玩具可以被輸入我們的聲音,通過他們的控制來調(diào)用它。一些智能手機(jī)也可以通過簡(jiǎn)單地喊他們的名字就可以自動(dòng)撥打?qū)Ψ降碾娫?,這主要是由于語音相關(guān)技術(shù)通過嵌入式語音芯片在嵌入式操作系統(tǒng)中,實(shí)現(xiàn)了人與機(jī)器之間的對(duì)話,也使科技變得更加人性化。
2.2 多媒體網(wǎng)關(guān)
從南京東路移動(dòng)互聯(lián)網(wǎng)技術(shù)有限公司開發(fā)的多媒體網(wǎng)關(guān),通過藍(lán)牙設(shè)備之間的信息傳輸,使家庭的每個(gè)設(shè)備都可以連接在一起,共同使用于固網(wǎng),互聯(lián)網(wǎng)和其他網(wǎng)絡(luò)之間。這是什么,這就是流行在今天的家庭網(wǎng)絡(luò),可以通過網(wǎng)絡(luò)交換信息,這使我們的家庭交流更方便,其工作原理是在操作系統(tǒng)的控制下,使用本機(jī)的硬件設(shè)備和各種執(zhí)行機(jī)構(gòu),對(duì)于歸屬網(wǎng)絡(luò)中的個(gè)別設(shè)備進(jìn)行控制和檢查活動(dòng)。
2.3 移動(dòng)數(shù)據(jù)庫
中國人正在開發(fā)自己的移動(dòng)數(shù)據(jù)庫,主要是通過嵌入式系統(tǒng),使得移動(dòng)終端可以同步服務(wù)器,數(shù)據(jù)將被帶入到上述移動(dòng)終端,使得它可以在一定的時(shí)間內(nèi)訪問相關(guān)的資源數(shù)據(jù)庫,也可以移動(dòng)數(shù)據(jù)庫,例如,病人在救護(hù)車上搶救的過程中,醫(yī)務(wù)人員可以在汽車上查詢附近的醫(yī)院。
總之,在快速發(fā)展、科技日新月異的今天,嵌入式產(chǎn)品將會(huì)有更加廣泛的應(yīng)用。我們相信,只要發(fā)現(xiàn)嵌入式產(chǎn)品的發(fā)展規(guī)律,就可以滿足市場(chǎng)的需求,而我們也將能夠開發(fā)出越來越多越來越好的嵌入式產(chǎn)品。
參考文獻(xiàn)
[1] 張勇.項(xiàng)目比較法在嵌入式系統(tǒng)實(shí)訓(xùn)教學(xué)模式中的應(yīng)用探討[J].網(wǎng)絡(luò)與信息,2012.
[2] 羅麗麗,尹俊文,毛曉光.基于Hi3510和Linux2.6內(nèi)核嵌入式系統(tǒng)的存儲(chǔ)研究與應(yīng)用[J].計(jì)算機(jī)研究與發(fā)展,2009.
[3] 王磊,吉木斯.廠礦用繼電保護(hù)和自動(dòng)裝置設(shè)計(jì)淺析[J].電力系統(tǒng)保護(hù)與控制,2009.