蘇珂珂 鄭俊珂 王中志 王欣迪
摘要 科學(xué)技術(shù)的發(fā)展,使嵌入式系統(tǒng)的應(yīng)用范圍越來(lái)越廣泛,這也使許多學(xué)者紛紛對(duì)嵌入式系統(tǒng)進(jìn)行大量的研究,從而在很大程度上促進(jìn)了嵌入式系統(tǒng)的發(fā)展,使嵌入式系統(tǒng)的性能得到了極大的提升。本文通過對(duì)嵌入式系統(tǒng)進(jìn)行簡(jiǎn)要的介紹,明確了嵌入式系統(tǒng)的特點(diǎn),在此基礎(chǔ)上對(duì)嵌入式系統(tǒng)開發(fā)過程中的關(guān)鍵技術(shù)進(jìn)行了深入的研究。
[關(guān)鍵詞]嵌入式系統(tǒng) 系統(tǒng)開發(fā) 關(guān)鍵技術(shù)
現(xiàn)代化信息技術(shù)的不斷發(fā)展,使各個(gè)領(lǐng)域?qū)η度胧较到y(tǒng)的應(yīng)用需求變得越來(lái)越迫切,這使嵌入式系統(tǒng)的開發(fā)工作變得越來(lái)越重要,并已經(jīng)全面滲透到了人們的生產(chǎn)生活當(dāng)中。在以往的嵌入式系統(tǒng)應(yīng)用中,由于其自身性能較低、功能也不夠完善,這使其難以滿足人們的處理需求,而編程語(yǔ)言的不斷發(fā)展,使嵌入系統(tǒng)的開發(fā)水平得到了顯著提高,嵌入式技術(shù)也由此取得了巨大的突破。為此,以下便對(duì)嵌入式系統(tǒng)進(jìn)行簡(jiǎn)要的介紹。
1 嵌入式系統(tǒng)簡(jiǎn)介
1.1 系統(tǒng)處理器
在嵌入式系統(tǒng)中設(shè)置有三大裝置,分別是微型處理器、嵌入式DSP及微控制器,微型處理器位于系統(tǒng)的電路板中,電路板中嵌入有許多功能模塊,其通過單片機(jī)來(lái)對(duì)嵌入式系統(tǒng)進(jìn)行控制,同時(shí)在電路板中還擴(kuò)展有相應(yīng)的存儲(chǔ)器。一般來(lái)說(shuō),單片機(jī)的形狀為三菱形的,嵌入式系統(tǒng)中的嵌入式DSP能夠?qū)r(shí)間離散訊息進(jìn)行分析,同時(shí)還能使嵌入式系統(tǒng)的編程效率得以明顯提高。
1.2 系統(tǒng)內(nèi)核
在嵌入式系統(tǒng)中的相關(guān)操作主要是利用內(nèi)核層來(lái)實(shí)現(xiàn)。用戶在對(duì)嵌入式系統(tǒng)的功能進(jìn)行使用時(shí),嵌入式系統(tǒng)只需調(diào)用相應(yīng)的程序就能夠?qū)崿F(xiàn)。近些年來(lái),嵌入式系統(tǒng)的功能模塊數(shù)量不斷增多,其內(nèi)核容量同樣也有所擴(kuò)大,而這便使嵌入式系統(tǒng)對(duì)圖象的處理難度大幅增加,因此需要對(duì)內(nèi)核進(jìn)行進(jìn)一步的開發(fā),減少內(nèi)核內(nèi)存,在這種形勢(shì)下,微型內(nèi)核由此應(yīng)運(yùn)而生,通過微型內(nèi)存的應(yīng)用,能夠使嵌入式系統(tǒng)的操作效率得到極大提高。
1.3 系統(tǒng)內(nèi)核的加載方式
在嵌入式系統(tǒng)中,其內(nèi)核的加載方式既可以在Flash中進(jìn)行直接加載,也可以在內(nèi)存當(dāng)中加載運(yùn)行,在Flash加載中,內(nèi)核會(huì)將可執(zhí)行的內(nèi)容燒寫至Flash中,當(dāng)系統(tǒng)啟動(dòng)后,便會(huì)對(duì)Flash中的某個(gè)地址進(jìn)行執(zhí)行,該方法是嵌入式系統(tǒng)的主要方法。而內(nèi)核加載方式則是將內(nèi)核中的內(nèi)容進(jìn)行壓縮,然后將相應(yīng)的壓縮文件存儲(chǔ)到Flash中,當(dāng)系統(tǒng)啟動(dòng)后,其會(huì)對(duì)內(nèi)存在存儲(chǔ)的壓縮內(nèi)容進(jìn)行解壓并執(zhí)行,雖然該加載方式較為繁瑣一些,但其運(yùn)行速度卻要比Flash運(yùn)行方式更快,這是因?yàn)镽AM相比于Flash來(lái)說(shuō),在存取速率方面要更有優(yōu)勢(shì)。在嵌入式系統(tǒng)中,由于其內(nèi)部機(jī)制為內(nèi)存管理,因此系統(tǒng)中的用戶程序鏈接方式為靜態(tài)鏈接,其系統(tǒng)內(nèi)部的內(nèi)核與應(yīng)用程序的代碼編繹,均是由靜態(tài)鏈接所生成的二進(jìn)制影像文件實(shí)現(xiàn)運(yùn)行的。
2 嵌入式系統(tǒng)開發(fā)中的關(guān)鍵技術(shù)研究
2.1 開發(fā)過程中的相關(guān)技術(shù)
在嵌入式系統(tǒng)開發(fā)過程中,主要包括宿主機(jī)與目標(biāo)機(jī)兩個(gè)部分的開發(fā),宿主機(jī)能夠?qū)η度胧较到y(tǒng)中的代碼編譯、定址及鏈接進(jìn)行執(zhí)行,而目標(biāo)機(jī)則是嵌入式系統(tǒng)中的硬件平臺(tái)。在對(duì)嵌入式系統(tǒng)進(jìn)行開發(fā)時(shí),需要將應(yīng)用程序轉(zhuǎn)換成相應(yīng)的二進(jìn)制代碼,這些二進(jìn)制代碼能夠在目標(biāo)機(jī)中運(yùn)行。在上述開發(fā)過程中,主要可分為三個(gè)步驟,分別是編譯過程;鏈接過程與定址過程,其中,嵌入式系統(tǒng)中的交叉編譯器能夠進(jìn)行編譯,交叉編譯器屬于一種計(jì)算機(jī)平臺(tái)中的代碼生成編譯器,較為常見的交叉編譯器是GNU C/C++ (gcc),它會(huì)將所有編譯完成的目標(biāo)文件均和一個(gè)目標(biāo)文件進(jìn)行鏈接,這便是鏈接過程。而定址過程則會(huì)在目標(biāo)文件的各個(gè)偏移位置對(duì)相應(yīng)的物理存儲(chǔ)器地址進(jìn)行指定,在定址過程中所生成的文件便是二進(jìn)制文件。在嵌入式系統(tǒng)調(diào)試過程中,主要是利用交叉調(diào)試器來(lái)進(jìn)行,其調(diào)試方式通常采用宿主機(jī)-目標(biāo)機(jī)形勢(shì),宿主機(jī)與目標(biāo)機(jī)之間的連接是通過以太網(wǎng)或串行口線來(lái)實(shí)現(xiàn)的,在交叉調(diào)試任務(wù)中,主要包括任務(wù)級(jí)調(diào)試、匯編級(jí)調(diào)試與源碼級(jí)調(diào)試,在調(diào)試過程中需要將宿主機(jī)中存儲(chǔ)的系統(tǒng)內(nèi)核與應(yīng)用程序分別下載到目標(biāo)機(jī)當(dāng)中的RAM或ROM當(dāng)中。當(dāng)目標(biāo)機(jī)運(yùn)行后,會(huì)對(duì)宿主機(jī)中的調(diào)試器控制命令進(jìn)行接收,同時(shí)配合調(diào)試器來(lái)對(duì)應(yīng)用程序進(jìn)行下載、運(yùn)行與調(diào)試,然后將調(diào)試信息發(fā)送到宿主機(jī)當(dāng)中。
2.2 軟件移植技術(shù)
在嵌入式系統(tǒng)開發(fā)中,軟件移植技術(shù)無(wú)疑是其中的一項(xiàng)關(guān)鍵技術(shù),其是以移植協(xié)議來(lái)完成軟件功能移植的,在移植協(xié)議中主要包括三個(gè)部分,分別是字節(jié)順序、字節(jié)對(duì)齊與位段空間分配。在字節(jié)順序中,現(xiàn)有的字節(jié)順序主要包括小段字節(jié)與大段字節(jié)兩種方式,小段字節(jié)順序是依據(jù)存儲(chǔ)地址中的數(shù)據(jù)排列順序來(lái)實(shí)現(xiàn)的,也就是低地址用于存儲(chǔ)低字節(jié)數(shù)據(jù),高地址則用于存儲(chǔ)高字節(jié)數(shù)據(jù)。而大段字節(jié)則恰好與小段字節(jié)的排序順序是對(duì)調(diào)的。在字節(jié)對(duì)齊方面,現(xiàn)有的字節(jié)對(duì)齊方式非常多,其主要是以GCC中的MakeFile命令來(lái)編譯字節(jié),然后對(duì)這些字節(jié)進(jìn)行對(duì)齊,不過這種對(duì)齊方式會(huì)存在一些缺陷,因此需要在收數(shù)據(jù)包位置與發(fā)數(shù)據(jù)位置中分別加入相應(yīng)的拆包函數(shù)與組包函數(shù),以此提高嵌入式系統(tǒng)中軟件的互通性與移植性。位段空間分配也是軟件移植技術(shù)中的重要因素,通常在對(duì)位段進(jìn)行分配時(shí),其順序應(yīng)從左至右進(jìn)行,也有一部分系統(tǒng)是從右向左進(jìn)行的。通過位段排序來(lái)確保嵌入式系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行準(zhǔn)確保存,并利用編程方法來(lái)編譯位段排序,這樣在位段排序過程中只需要將對(duì)應(yīng)的程序進(jìn)行直接調(diào)用即可。
3 結(jié)語(yǔ)
總而言之,本文通過對(duì)嵌入式系統(tǒng)開發(fā)中的關(guān)鍵技術(shù)進(jìn)行深入的研究,可以了解到,嵌入式系統(tǒng)中的設(shè)計(jì)方法與技術(shù)研發(fā)與其他系統(tǒng)有著很大的區(qū)別,嵌入式系統(tǒng)中的開發(fā)平臺(tái)并不是通用的,它是一種特制的開發(fā)平臺(tái),這也使嵌入式系統(tǒng)的研發(fā)難度往往較大,因此對(duì)嵌入式系統(tǒng)研發(fā)中的關(guān)鍵技術(shù)進(jìn)行了解與掌握是必不可少的。而研發(fā)出性能更佳的嵌入式系統(tǒng)操作平臺(tái),更是諸多科研人員追求的共同目標(biāo)。
參考文獻(xiàn)
[1]金瑋斌,薛質(zhì),黃劭瓊.基于WinPE的嵌入式實(shí)時(shí)仿真系統(tǒng)的設(shè)計(jì)與研究[J].信息安全與技術(shù),2014,5 (01): 55-59.
[2]曾景,嵌入式系統(tǒng)關(guān)鍵技術(shù)分析與開發(fā)應(yīng)用[J],通訊世界,2016 (04):289.
[3]汪磊華,嵌入式系統(tǒng)關(guān)鍵技術(shù)分析與開發(fā)應(yīng)用[J].中國(guó)新通信,2018,20(02):83.