資源描述:
《基于ARM9的嵌入式Linux代碼移植》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、基于ARM9的嵌入式Linux代碼移植摘要:介紹了嵌入式Linux移植的方法和過程,給出了嵌入式開發(fā)環(huán)境下基于硬件平臺ARM9的bootloader、Linux內核移植的實現(xiàn)方案,該方案可為嵌入式系統(tǒng)的應用研究提供操作系統(tǒng)層面的支持。關鍵詞:嵌入式系統(tǒng);ARM;vivi;Linux移植O引言隨著計算機技術、通信技術以及Internet的飛速發(fā)展。嵌入式系統(tǒng)已得到越來越廣泛的應用。與此同時,嵌入式系統(tǒng)的復雜性也在不斷增加,嵌入式操作系統(tǒng)已經成為其中最重要的組成部分。目前,市場上存在著眾多的嵌入式操作系統(tǒng),而在這些系統(tǒng)之中,兼有Linux和嵌入式優(yōu)點的嵌入
2、式Linux操作系統(tǒng),憑借其在結構清晰、源代碼開放性、裁剪性好,開發(fā)與使用均易實現(xiàn)等方面的優(yōu)勢,擁有巨大的市場前景和商業(yè)機會。當前嵌入式Linux的一個熱點應用就是將Linux內核移植到一些典型的微控制器和微處理器上,提供操作系統(tǒng)層面支持,以實現(xiàn)嵌入式系統(tǒng)用軟件的開發(fā)。此研究基于Linux2.6內核的嵌入式Linux系統(tǒng),分析了所面臨的理論問題、關鍵技術,實現(xiàn)了Linux內核在ARM9平臺上的運行。1.開發(fā)環(huán)境介紹嵌入式IJnux移植是嵌入式系統(tǒng)開發(fā)的重要組成部分,它需要相應的軟件組件支持,同時又與目標硬件平臺關系密切。因此,在正式移植前,首先應明確嵌
3、入式系統(tǒng)開發(fā)的流程與開發(fā)環(huán)境,再根據目標硬件平臺的特點和所選擇的軟件組件,正確搭建功能完善的交叉開發(fā)環(huán)境,最后制定出合理的移植方案,從而使移植工作可以順利的進行。1.1ARM9硬件平臺本次移植采用斯道ARM9開發(fā)板作為硬件平臺,其基本構成為核心板和底板(外設板或基本板),核心板上集成了SamsungS3C2410處理器、64M的FLASH和64M的SDRAM,為應用研發(fā)提供了足夠的空間,基板則提供了豐富的外圍接口。其硬件平臺結構。此完整的應用系統(tǒng)具有體積小、耗電低、處理能力強等特點,能夠裝載和運行嵌入式Linux操作系統(tǒng)。用戶可以在這個系統(tǒng)平臺上自主進
4、行軟件開發(fā)。1.2Linux內核及處理器目前用于嵌入式Linux系統(tǒng)的內核大多數(shù)使用2.4.x版,然而,隨著嵌入式微處理器性能的不斷增強及其應用范圍的日趨擴大,Linux-2.6版內核由于其針對嵌入式系統(tǒng)應用的顯著特點,必將會越來越多的被應用于嵌入式系統(tǒng)移植與開發(fā)Linux系統(tǒng)之中。文中采用的是Linux-2.6版內核。vivi是韓國mizi公司開發(fā)的bootloader,適用于ARM9處理器,支持S3C2410X嵌入式ARM-Linux移植的應用處理器。和所有的bootloader一樣,vivi也有兩種工作模式,即啟動加載模式和下載模式。啟動加載模式
5、指在一段時間后(這個時間可更改)自行啟動Linux內核,它是vivi的默認模式。下載模式則是指vivi為用戶提供一個命令行接口,用戶可通過接口使用命令。2.系統(tǒng)移植方案在硬件方面,為支持NANDFlash引導模式,S3C2410A處理器在芯片內集成了4KB的被稱為steppingstone的SRAM。NANDFlash引導模式下,系統(tǒng)復位后NANDFlash中的前4位內容首先被復制到steppingstone,接著將steppingstone映射到nGCSO,即內存BankO起始她址為Ox00000000,隨后系統(tǒng)開始正常引導。同樣,在軟件方面,boo
6、tloader程序應被燒寫到NANDFlash最前面的部分。通常bootloader程序大于4KB,因此,在bootloader的前4KB程序段中,必須先完成內存SDRAM的初始化,并將自身完全復制到SDRAM中,同時設置必要的堆棧,然后跳轉到SDRAM中去執(zhí)行這一系列工作。這樣方可完成后續(xù)的初始化系統(tǒng)資源及裝載操作系統(tǒng)內核的任務。本次移植使用ARM9開發(fā)板,通過跳線方式設置OM[1:0]引腳來支持NANDFlash啟動模式,因此,移植方案使用NANDFlash+SDRAM的存儲模式,bootloader放在SDRAM中,內核和文件系統(tǒng)都放在NANDF
7、lash中,根據選用的方案,整個系統(tǒng)移植要做的工作包括兩方面:Bootloader:為裝載操作系統(tǒng)內核,支持NANDFlash及網絡下載和串口通信,從而方便嵌人式ARM.Linux移植以開發(fā)調試。Linux系統(tǒng):支持NANDFlash,并移植Cramfs+Yaffs混合文件系統(tǒng);支持NFS文件系統(tǒng)及網絡通信、串口等。1.Linux內核移植在同一硬件平臺上可以嵌入不同的嵌入式操作系統(tǒng),這就好比PC既可以安裝Windows又可以安裝Linux一樣。同樣,有些操作系統(tǒng)經過移植后即可運行在不同的硬件平臺上。通常情況下,如果一個系統(tǒng)可以在不同硬件平臺上運行,那么
8、這個系統(tǒng)便是可移植的。將某一個平臺的代碼運行在其他平臺上的過程稱作移植。嵌入式系統(tǒng)是&ldqu