嵌入式Linux在IOP331上的移植實(shí)現
在本嵌入式系統中我們選擇的是RedBoot,它是Red Hat的一個(gè)標準嵌入式操作系統引導和Debug環(huán)境。RedBoot在這里完成了BIOS和BootLoader的任務(wù),所以使用exec命令啟動(dòng)操作系統時(shí),控制權在操作系統手中。此時(shí),操作系統進(jìn)行了如下操作:使用0x00000100的boot標記à解壓縮內核à顯示版本信息à顯示系統基本信息(CPU、內存等)à使用內核參數準備啟動(dòng)Ramdisk文件系統à初始化并注冊系統設備à解壓縮在block 0的Ramdisk根文件系統映像à解壓并加載Ramdisk根文件系統à根據根文件系統中的初始化腳本文件運行。
使用RedBoot的exec命令啟動(dòng)操作系統,則串口能夠打印系統啟動(dòng)畫(huà)面,由此可以驗證移植成功。
在系統啟動(dòng)的時(shí)候使用initrd來(lái)實(shí)現由bootloader(RedBoot)掛載Ramdisk盤(pán),該盤(pán)作為根文件系統被掛載,并且供其它程序在它上面運行。
至此,整個(gè)操作系統移植過(guò)程結束,其流程如圖2所示。
3.移植驗證
IQ80331是Intel公司針對IOP331設計的評估板。板上資源除8M Flash、256M內存、JTAG外,還有網(wǎng)口和串口與主機通信。通過(guò)網(wǎng)口和TFTP協(xié)議可以從主機下載文件到評估板,通過(guò)串口可以在Linux主機上的minicom中向評估板發(fā)送和接收評估板消息。
我們將嵌入式Linux操作系統移植至評估板,并在上述基礎上搭建虛擬磁帶庫(VTL)。在IQ80331上連接一塊雙通道SCSI控制器 LSI53C1030T,1030T的一個(gè)通道連接SCSI磁盤(pán),另一個(gè)連接到主機主板上的單通道SCSI控制器LSI53C1020T上。這樣,在主機看來(lái),IQ80331、1030T和SCSI磁盤(pán)就組成了一個(gè)設備,讀寫(xiě)該設備跟直接讀寫(xiě)一個(gè)磁帶沒(méi)有區別。這就實(shí)現了一個(gè)虛擬磁帶庫。加載相關(guān)的 SCSI設備驅動(dòng)模塊后系統可以正常運行。
在主機端使用tar命令將38.0M的linux-2.6.15.4.tar.bz2文件寫(xiě)入SCSI磁盤(pán),耗時(shí)18.1s,平均速度2.1M/s,能夠正常穩定工作。占用系統時(shí)間約0.1s,充分體現了I/O處理器對系統輸入輸出處理的重要作用。
4.結論
經(jīng)驗證,移植后的系統穩定可靠,以此為基礎搭建的VTL系統能夠正常穩定工作,滿(mǎn)足設計要求。同時(shí),本文對于同類(lèi)XScale架構的處理器上的操作系統移植具有普遍意義。
本文作者創(chuàng )新點(diǎn):首次在虛擬磁帶庫設計中,將標準Linux操作系統移植到Intel 80331 I/O處理器,并對其過(guò)程進(jìn)行了詳細地闡述。
參考文獻:
[1] 毛德操,胡希明。嵌入式系統——采用公開(kāi)源代碼和StrongARM/XScale處理器[M].。浙江大學(xué)出版社,2003
[2] 馬忠梅,李善平,康慨等。ARM Linux嵌入式系統教程.。北京航空航天大學(xué)出版社,2004
[3] 林濤,孫鶴旭,云立軍等。Linux在嵌入式系統中地實(shí)現。微計算機信息,2004
[4] 陳金明,潘國良,白英彩?;贗ntel IOP處理器的存儲網(wǎng)絡(luò )技術(shù)的研究與實(shí)現。計算機應用與軟件,2006
評論