ARM的嵌入式Linux移植體驗之基本概念
ARM是Advanced RISC Machines(高級精簡(jiǎn)指令系統處理器)的縮寫(xiě),是ARM公司提供的一種微處理器知識產(chǎn)權(IP)核。
ARM的應用已遍及工業(yè)控制、消費類(lèi)電子產(chǎn)品、通信系統、網(wǎng)絡(luò )系統、無(wú)線(xiàn)系統等各類(lèi)產(chǎn)品市場(chǎng)?;贏(yíng)RM 技術(shù)的微處理器應用約占據了32位RISC 微處理器75%以上的市場(chǎng)份額。揭開(kāi)你的手機、MP3、 PDA,嘿嘿,里面多半藏著(zhù)一個(gè)基于A(yíng)RM的微處理器!
ARM內核的數個(gè)系列(ARM7、ARM9、ARM9E、ARM10E、SecurCore、Xscale、StrongARM),各自滿(mǎn)足不同應用領(lǐng)域的需求,無(wú)孔不入的滲入嵌入式系統各個(gè)角落的應用。這是一個(gè)ARM的時(shí)代!
有人的地方就有江湖(《武林外傳》),有嵌入式系統的地方就有ARM。
構建一個(gè)復雜的嵌入式系統,僅有硬件是不夠的,我們還需要進(jìn)行操作系統的移植。我們通常在A(yíng)RM平臺上構建Windows CE、Linux、Palm OS等操作系統,其中Linux具有開(kāi)放源代碼的優(yōu)點(diǎn)。
日前,筆者作為某嵌入式ARM(硬件)/Linux(軟件)系統的項目負責人,帶領(lǐng)項目組成員進(jìn)行了下述工作:
(1)基于A(yíng)RM920T內核S3C2410A CPU的電路板設計;
(2)ARM處理下底層軟件平臺搭建:
a.Bootloader的移植;
b.嵌入式Linux操作系統內核的移植;
c.嵌入式Linux操作系統根文件系統的創(chuàng )建;
d.電路板上外設Linux驅動(dòng)程序的編寫(xiě)。
本文將真實(shí)地再現本項目開(kāi)發(fā)過(guò)程中作者的心得,以便與廣大讀者共勉。第一章將簡(jiǎn)單地介紹本ARM開(kāi)發(fā)板的硬件設計,第二章分析Bootloader的移植方法,第三章敘述嵌入式mizi Linux的移植及文件系統的構建方法,第四章講解外設的驅動(dòng)程序設計,第五章給出一個(gè)已構建好的軟硬件平臺上應用開(kāi)發(fā)的實(shí)例。
如果您有嵌入式系統的開(kāi)發(fā)基礎,您將非常容易領(lǐng)會(huì )本文講解地內容。即便是您從來(lái)沒(méi)有嵌入式系統的開(kāi)發(fā)經(jīng)歷,本文讀起來(lái)也不會(huì )生澀。
2.ARM體系結構
作為一種RISC體系結構的微處理器,ARM微處理器具有RISC體系結構的典型特征。還具有如下增強特點(diǎn):
(l)在每條數據處理指令當中,都控制算術(shù)邏輯單元(ALU)和移位器,以使ALU和移位器獲得最大的利用率;
(2)自動(dòng)遞增和自動(dòng)遞減的尋址模式,以?xún)?yōu)化程序中的循環(huán);
(3)同時(shí)Load和Store多條指令,以增加數據吞吐量;
(4)所有指令都條件執行,以增大執行吞吐量。
ARM體系結構的字長(cháng)為32位,它們都支持Byte(8位)、Halfword(16位)和Word(32位)3種數據類(lèi)型。
大部分應用程序都在User模式下運行。當處理器處于User模式下時(shí),執行的程序無(wú)法訪(fǎng)問(wèn)一些被保護的系統資源,也不能改變模式,否則就會(huì )導致一次異常。對系統資源的使用由操作系統來(lái)控制。
User模式之外的其它幾種模式也稱(chēng)為特權模式,它們可以完全訪(fǎng)問(wèn)系統資源,可以自由地改變模式。其中的FIQ、IRQ、supervisor、Abort和undefined 5種模式也被稱(chēng)為異常模式。在處理特定的異常時(shí),系統進(jìn)入這幾種模式。這5種異常模式都有各自的額外的寄存器,用于避免在發(fā)生異常的時(shí)候與用戶(hù)模式下的程序發(fā)生沖突。
還有一種模式是system模式,任何異常都不會(huì )導致進(jìn)入這一模式,而且它使用的寄存器和User模式下基本相同。它是一種特權模式,用于有訪(fǎng)問(wèn)系統資源請求而又需要避免使用額外的寄存器的操作系統任務(wù)。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論