?

ARM嵌入式Linux系統的實現

2018-01-28 11:02王暾
電子技術與軟件工程 2017年18期
關鍵詞:實現研究

王暾

摘要

在網絡化技術、智能化技術及信息化技術進步過程中,極大的發展了嵌入式技術,并于各個領域中廣泛的應用。Linux系統具有良好的穩定性、較高的可靠性等優點,屬于嵌入式領域中的新興力量,市場潛力與商業價值均非常巨大?,F階段,嵌入式處理器中應用最廣泛的為ARM,32位,性能高、功耗低,已成為Linux嵌入系統移植的重點之一。因此,本文探討了ARM嵌入式Linux系統的研究與實現。

【關鍵詞】ARM Linux系統 研究 實現

隨著嵌入式操作系統的使用,極大的提高了其可靠性及穩定性,也明顯的增強了系統多任務處理能力?,F階段,具有多種多樣的嵌入式操作系統類型,其中,開發首選為Linux系統,具有源碼開放、軟件資源豐富、內核功能強大、多任務處理、支持多種體系結構等優點,而當Linux系統應用于復雜系統中時,有必要研究出特定的硬件平臺與實際應用移植操作系統,以使其功能良好的實現。

1硬件平臺

本文在進行系統硬件單元開發時,以三星ARM920T處理器S3C2410X為平臺。S3C2410X微控制器中,內核為ARM920T,16/32bits,單獨16K指令及數據cache內置其中,支持多種操作系統,如Linux、Wince,利用AMBA作為總線結構,運行時,頻率能夠達到230MHz,性能良好,功耗低,在中高檔手持終端應用開發中較為適合。

2ARM嵌入式Linux系統的研究與實現

2.1建立交叉編譯環境

開發嵌入式系統時,與之配套的開發環境是必須要建立的,通常,編譯環境、調試環境、操作系統配置工具、下載工具均包含在開發環境中。最初開發嵌入式系統過程中,尚未建立目標系統平臺,因而交叉編譯在主機上進行,將需求的啟動引導代碼、操作系統核心生成;隨后,經串口或網絡,主機系統與目標系統間的通信連接有效建立,相互協作下,開發嵌入式系統的工作共同完成。因此,對于嵌入式系統開發來說,組成有兩部分,一部分為主機系統,一部分為目標系統。一般,嵌入式系統不存在軟件開發環境,需運行軟件的開發工作在主機上進行,但開發主機并不兼容目標系統的二進制執行級別,此時,交叉編譯工具即需要使用。開發ARM嵌入式Linux系統過程中,以arm-linux交叉工具鏈作為交叉工具。

2.2Bootloader的研究與移植

PC體系結構中,系統的引導加載程序包含兩部分,一部分為BIOS,另一部分為系統引導程序(位于硬盤MBR中)。但對于嵌入式系統,BIOS固件程序并不存在,較少應用硬盤作為存儲介質,系統存儲時,主要以Flash作為媒質,此種結構下,通過引導程序Bootloader來完成系統的啟動加載。實現Bootloader時,對硬件嚴重依賴,在嵌入式系統中,通過Bootloader的建立基本無法實現,通常,以特定體系結構CPU為依據,實現Bootloader。另外,Bootloader還會對嵌入式板級設備配置形成依賴,即盡管電路板設計時按照統一處理器進行,但Bootloader若想同時運行在兩塊板子上,源程序也要做出適當修改,之后再移植?;诖?,嵌入式Linux系統開發時,前提工作之一即為特定Bootloader的移植或開發。VIVI是一種Bootloader,具有強大的功能,支持的微處理器包含SA-1110、S3C2410兩種。本文在移植Bootloader時,以smdk2410為基礎,經修改后實現,修改過程中,硬件常數、Flash分區信息等均是需修改的參數。

2.3ARM Linux內核的移植

Linux包含穩定版與開發板兩種內核,穩定版內核強度為工業級,應用與部署可廣泛開展,對于新發布的,通常只對Bug做出修正,或將新設備驅動程序加入其中;而開發版內核中,多數東西都會較快的變化,加入的新特性所處的階通常為測試、試驗,穩定性較差,應用級操作系統并不適合采用。Linux內核移植時,穩定版內核優先選擇,本文使用2.4.18。移植ARM Linux內核時,應首先啟動內核,啟動過程中,引導任務由引導程序完成后,CPU控制權被Linux接管,之后Linux核心映像代碼由CPU執行,Linux啟動過程開始,運行init后,終端建立;隨后修改移植時需求的代碼,makefile文件的修改為內核啟動部分主要修改的內容,同時,還需要將NAND Flash支持加上,并填寫mtd分區表;接著進行內核配置,Linux內核對模塊化良好的支持,配置Linux內核時,make config、make oldconfig、made menuconfig、make xconfig為常用的方法;最后,實施內核編譯,內核依賴關系建立后,將內核映像、內核組建創建出來,完成編譯。

2.4系統燒寫

VIVI燒寫時,利用JTAG,JTAG線的一端連接計算機并口,另一端連接核心板右下角引出針,連接過程中,要對方向格外注意,保證其白色標記上下對應核心板插針上的白色標記。VIVI燒寫之后,啟動引導可正常進行,但系統此時并非真正可用,內核及根文件系統燒寫工作完成之后才能真正的使用。內核與根文件系統燒寫時,采用Xmodem協議,經串口進行,通過串口,連接主機與目標板,minicom-s輸入Linux終端中,設置minicon。串口配置時采用Serial port setup,奇偶校驗位、流量控制均不需要,默認值狀態保存設置。另外,VIVI啟動后,重新劃分NAND Flash區域,接著即可進行引導程序、內核、根文件系統的燒寫。完成所有燒寫工作后,板子重啟,稍等等信息出現后,表明系統己經正常進入,成功的完成移植。

3結論

本文以ARM處理器為基礎,成功的進行了Linux系統的構建,實現了嵌入式系統開發中有效移植引導程序的目的,具有較高的實用價值,但由于本文研究能力有限,還需要進行更為深入的研究,促進Linux系統的良好發展。

參考文獻

[1]張成法,李楠.基于ARM9的嵌入式Linux系統的設計與實現[J].商,2016(10):220.

[2]謝輝.嵌入式Linux系統在ARM處理器中關鍵技術分析[J].電大理工,2015(01):endprint

猜你喜歡
實現研究
FMS與YBT相關性的實證研究
遼代千人邑研究述論
視錯覺在平面設計中的應用與研究
EMA伺服控制系統研究
辦公室人員尚需制定個人發展規劃
淺析鐵路通信傳輸的構成及實現方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合