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