謝輝
福建省閩北職業(yè)技術(shù)學(xué)院 (南平 353011)
嵌入式系統(tǒng)是以應(yīng)用為核心、以計(jì)算機(jī)為基礎(chǔ)的多功能系統(tǒng),可以實(shí)現(xiàn)對(duì)硬軟件兩方面的裁剪,更好的適應(yīng)實(shí)際中對(duì)功能、可靠性、功耗及成本等多方面的要求。嵌入式處理器是嵌入式系統(tǒng)的核心組件,是實(shí)現(xiàn)控制、輔助系統(tǒng)運(yùn)行的重要硬件單元,它的功能和性能會(huì)影響到整個(gè)嵌入式系統(tǒng)的性能。目前嵌入式處理器的種類(lèi)很多、數(shù)量也很龐大,比較典型的有ARM、MIPS、MC6800、386EX等,其中ARM的應(yīng)用是最廣泛的。其組成主要包括以下接個(gè)方面:
嵌入式系統(tǒng)一般是有一個(gè)核心處理芯片構(gòu)成,其組成主要是由硬件和軟件兩個(gè)部分組成的,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視和管理等方面的功能,其硬件主要包括了微處理器、存儲(chǔ)器、外部設(shè)備以及控制端口和圖像處理器等設(shè)備裝置,其軟件主要包括 OS系統(tǒng)軟件(實(shí)現(xiàn)實(shí)時(shí)與多任務(wù)操作的操作系統(tǒng)的軟件)和相關(guān)的應(yīng)用程序軟件。
一般來(lái)講嵌入式系統(tǒng)主要是應(yīng)用在特定的環(huán)境之中,執(zhí)行專(zhuān)業(yè)領(lǐng)域的工作要求,因此普通的計(jì)算機(jī)系統(tǒng)一般不能夠適應(yīng)嵌入式系統(tǒng)對(duì)多樣性和適用性的要求,必須要使用專(zhuān)門(mén)的計(jì)算機(jī)系統(tǒng)來(lái)加強(qiáng)整體系統(tǒng)的處理能力,嵌入式Linux系統(tǒng)作為主要的應(yīng)用系統(tǒng)之一,其在ARM處理器中應(yīng)用優(yōu)勢(shì)主要表現(xiàn)為以下幾個(gè)方面:
(1)嵌入式Linux系統(tǒng)的具有較強(qiáng)的穩(wěn)定性。Linux操作系統(tǒng)的穩(wěn)定性主要是取決于系統(tǒng)的整體設(shè)計(jì)結(jié)構(gòu),在現(xiàn)在的嵌入式Linux操作系統(tǒng)中他充分的吸取了UNIX操作系統(tǒng)的經(jīng)驗(yàn),最大化的提現(xiàn)了操作系統(tǒng)設(shè)計(jì)的現(xiàn)代理念,能夠有效的保證對(duì)所有的漏洞都能及時(shí)的發(fā)現(xiàn)更正,從而大大地增加了系統(tǒng)的穩(wěn)定性。
(2)嵌入式Linux是完全免費(fèi)的操作平臺(tái)。目前我們使用的Linux系統(tǒng)是一款免費(fèi)的操作系統(tǒng),用戶(hù)通過(guò)網(wǎng)絡(luò)或者是其他的途徑都可以免費(fèi)的獲得,并且可以進(jìn)行源代碼的修改,這樣就可以使程序員充分發(fā)揮自我的想象,不斷的對(duì)嵌入式Linux系統(tǒng)進(jìn)行完善發(fā)展。
(3)嵌入式Linux系統(tǒng)可以支持多種主流平臺(tái)?,F(xiàn)在的嵌入式Linux系統(tǒng)在多種硬件平臺(tái)之上都是可以運(yùn)行的,尤其是在ARM處理器之上,這種系統(tǒng)可以運(yùn)行在不同的實(shí)體中,同時(shí)也可以支出多種處理及多個(gè)處理同時(shí)工作的功能,這樣就可以大大的提高系統(tǒng)的性能。
隨著科技的發(fā)展,嵌入式系統(tǒng)已經(jīng)成為了當(dāng)今最為熱門(mén)的一個(gè)領(lǐng)域之一,它的迅猛發(fā)展受到了社會(huì)各界人士的廣泛關(guān)注,其應(yīng)用已經(jīng)滲透到了社會(huì)生活的方方面面。目前嵌入式的處理器已經(jīng)占到分散式處理器市場(chǎng)的90%之多,尤其是嵌入式Linux系統(tǒng)其應(yīng)用的更加廣泛,主要來(lái)說(shuō)嵌入式Linux系統(tǒng)在ARM處理器中關(guān)鍵技術(shù)環(huán)節(jié)分為以下幾個(gè)方面:
(1)Bootloader移植技術(shù)
在嵌入式系統(tǒng)之中,操作系統(tǒng)的內(nèi)核是不能直接運(yùn)行的,我們必須要在操作系統(tǒng)前先運(yùn)行一段程序,也就是當(dāng)系統(tǒng)復(fù)位后,嵌入系統(tǒng)中的處理器就會(huì)從處理器的制造商預(yù)先安排的地址上獲取指令,這個(gè)存放地址的代碼就是Bootloader,這個(gè)程序就是Bootloader移植技術(shù),它和PC機(jī)中的BIOS程序相似,通過(guò)應(yīng)用這一段程序就可以很好的完成硬件設(shè)備的初始化,同時(shí)還建立起一個(gè)內(nèi)存空間的映射圖,這樣就可以把系統(tǒng)裝備中的硬軟件都聯(lián)系起來(lái),使之處于一個(gè)合適的運(yùn)行態(tài)勢(shì)之中,從而為操作系統(tǒng)的運(yùn)行做好準(zhǔn)備。
(2)編譯內(nèi)核技術(shù)
我們經(jīng)常用到的 Linux系統(tǒng)是一個(gè)單內(nèi)核的系統(tǒng),他一般在單獨(dú)的內(nèi)核地址空間之中運(yùn)行,具有著簡(jiǎn)單易操作、性能比高這樣的優(yōu)勢(shì);同時(shí),Linux系統(tǒng)也吸取了微內(nèi)核的特點(diǎn),在系統(tǒng)中引入了獨(dú)特的模塊化設(shè)計(jì)及搶占式的內(nèi)核,以保證新的系統(tǒng)能夠支持內(nèi)核線程,使其具有微內(nèi)核系統(tǒng)的優(yōu)點(diǎn),從而有效的避免微內(nèi)核性能損失這一缺陷問(wèn)題。
在使用嵌入式的Linux系統(tǒng)的ARM處理器中,我們廣大的用戶(hù)可以依據(jù)Linux系統(tǒng)的模塊化設(shè)計(jì)優(yōu)勢(shì)來(lái)根據(jù)具體的實(shí)際要求編譯滿(mǎn)足自我要求的最精簡(jiǎn)的操作內(nèi)核,這樣就可以大大的降低嵌入式系統(tǒng)在處理器設(shè)置中的總體能耗。
(3)構(gòu)建根文件系統(tǒng)技術(shù)
根文件系統(tǒng)是嵌入式Linux系統(tǒng)在啟動(dòng)的時(shí)候必須要掛載的文件系統(tǒng),它與普通的文件相比其最大的區(qū)別就是它包含了Linux系統(tǒng)在啟動(dòng)時(shí)所必須的目錄及關(guān)鍵性的文件內(nèi)容,比如,Linux系統(tǒng)在啟動(dòng)的時(shí)候可能必須要需要init目錄下的有關(guān)文件,那么這時(shí)Linux在掛載分區(qū)的時(shí)候就一定要找到/etc/fstab這個(gè)掛載文件,任何的包括這些Linux系統(tǒng)啟動(dòng)所需要的文件都可以成為根文件系統(tǒng)的。
(4)驅(qū)動(dòng)程序開(kāi)發(fā)技術(shù)
從嵌入式系統(tǒng)的邏輯結(jié)構(gòu)上來(lái)看,驅(qū)動(dòng)程序的功能主要表現(xiàn)為三個(gè)方面,一是驅(qū)動(dòng)程序處于嵌入式系統(tǒng)邏輯結(jié)構(gòu)的中間層,這一層的作用就是至于硬軟件層之間粘合軟件與硬件,這樣就可以大大的提高軟件的可移植性和可復(fù)用性;二是可以通過(guò)驅(qū)動(dòng)程序使應(yīng)用程序?qū)崿F(xiàn)對(duì)底層硬件的安全訪問(wèn)提高系統(tǒng)的安全性和訪問(wèn)效率,實(shí)現(xiàn)驅(qū)動(dòng)系統(tǒng)在內(nèi)核的狀態(tài)下就可以直接的對(duì)硬件進(jìn)行操作;三是驅(qū)動(dòng)程序文件節(jié)點(diǎn)可以有效的控制訪問(wèn)權(quán)限,這主要是因?yàn)轵?qū)動(dòng)程序一般是處于運(yùn)行中的內(nèi)核狀態(tài)之下,而要想實(shí)現(xiàn)用戶(hù)訪問(wèn)就必須要處于用戶(hù)狀態(tài)之下,沒(méi)有直接訪問(wèn)的硬件設(shè)備。在嵌入式Linux系統(tǒng)之中,驅(qū)動(dòng)程序是整個(gè)操作系統(tǒng)的關(guān)鍵組成部分,它在內(nèi)核源程序中占有較大的比重,大約占到了總體積的60%左右,這足以看出驅(qū)動(dòng)程序?qū)τ谇度胧絃inux系統(tǒng)的重要性,所以要加強(qiáng)嵌入式Linux系統(tǒng)在 ARM 處理器中的應(yīng)用就必須要加強(qiáng)驅(qū)動(dòng)程序技術(shù)的發(fā)展,為嵌入式Linux系統(tǒng)提供良好的運(yùn)行環(huán)境。
隨著人們對(duì)嵌入式系統(tǒng)的應(yīng)用范圍越來(lái)越廣泛,嵌入式軟件的開(kāi)發(fā)也開(kāi)始不斷的發(fā)展,針對(duì)不同的應(yīng)用環(huán)境,嵌入式系統(tǒng)必須進(jìn)行不斷的移植和構(gòu)建,這是每一個(gè)程序員工都應(yīng)該掌握的基本功能,上文我們介紹了嵌入式Linux系統(tǒng)在ARM處理器中的應(yīng)用情況,了解嵌入式Linux系統(tǒng)在ARM平臺(tái)上的主要移植過(guò)程,從而為嵌入式系統(tǒng)的持續(xù)發(fā)展做了充足的準(zhǔn)備,在今后的實(shí)際中研發(fā)科研人員要根據(jù)實(shí)際的要求及人們的要求,進(jìn)一步的發(fā)展嵌入式系統(tǒng),不斷的完善嵌入式系統(tǒng)的構(gòu)造,從而在社會(huì)的各個(gè)領(lǐng)域都發(fā)揮重要的作用。
[1]李祥.嵌入式遠(yuǎn)程糧倉(cāng)溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].中小企業(yè)管理與科技(下旬刊),2013,12:270-271.
[2]武苗苗,郭雯雯.嵌入式 Linux操作系統(tǒng)通信管理機(jī)的設(shè)計(jì)研究[J].電子技術(shù)與軟件工程,2013,20:62.
[3]陳怡,李艷.ARM背景下嵌入式Linux網(wǎng)絡(luò)數(shù)據(jù)傳輸性能分析[J].電子技術(shù)與軟件工程,2013,20:17.