基于Intel PXA272的Bootloader的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2007/8/31 0:00:00 訪問(wèn)次數(shù):488
來(lái)源:微計(jì)算機(jī)信息 作者:陳紅展 吳非 封仲淹 李錫武
摘要:在嵌入式系統(tǒng)中,Bootloader在完成引導(dǎo)加載系統(tǒng)鏡像的同時(shí),擴(kuò)展和增加了具體硬件模塊上的功能支持,以方便開發(fā)人員進(jìn)行開發(fā)和調(diào)試。這篇文章在基于IntelPXA272嵌入式處理器的一個(gè)硬件平臺(tái)上,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)支持從SD卡加載系統(tǒng)鏡像并啟動(dòng)系統(tǒng)的bootloader,并對(duì)其加載性能進(jìn)行測(cè)試和分析。
關(guān)鍵詞:Bootloader,嵌入式處理器,WinCE操作系統(tǒng),SD卡
1前言
PC機(jī)中的引導(dǎo)程序一般由BIOS和位于MBR的OS Bootloader(例如LILO或者GRUB)一起組成。然而在嵌入式系統(tǒng)中通常沒(méi)有像BIOS那樣的固件程序(有的嵌入式CPU有),因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由Bootloader來(lái)完成。但是隨著嵌入式系統(tǒng)的發(fā)展,Bootloader已經(jīng)逐漸在基本功能的基礎(chǔ)上進(jìn)行了擴(kuò)展,Bootloader可以更多地增加對(duì)具體系統(tǒng)的板級(jí)支持,即增加一些硬件模塊功能上的使用支持,以方便開發(fā)人員進(jìn)行開發(fā)和調(diào)試。編寫B(tài)ootLoader是開發(fā)WinCE系統(tǒng)第一步,也是關(guān)鍵的一步。只有得到一個(gè)穩(wěn)定工作的Loader程序,才能夠更進(jìn)一步開發(fā)WinCE的BSP,直至最后整個(gè)系統(tǒng)的成功!1】
2硬件平臺(tái)結(jié)構(gòu)
我們的硬件平臺(tái)采用PXA 272 作為處理器,工作頻率為512M HZ,內(nèi)部集成了64 M bytes NOR Flash。Intel PXA27X處理器是Intel公司推出的32位,基于Xscale架構(gòu)的高性能的嵌入式芯片!2】硬件平臺(tái)結(jié)構(gòu)中主要還包括了如下的主要器件:128 M SDRAM、AC97 codec、 LCD 控制器、IrDa芯片、藍(lán)牙UART、USB控制器。另外還集成了3.5吋、240×320 QVGA的TFT-LCD 觸摸屏、PCMCIA、SD/MMC等外設(shè)接口,WLAN模塊。
Intel的PXA 27X內(nèi)部支持SD Host的控制模塊,有SD Host控制寄存器和可以用于SD Host控制器的IO引腳,可用編程的方法對(duì)其功能進(jìn)行選擇;但對(duì)于SD卡的檢測(cè),寫保護(hù)和插槽的電源使能
等功能沒(méi)有專門的引腳。在本文實(shí)現(xiàn)中,對(duì)于卡檢測(cè)、電源引腳,通過(guò)GPIO擴(kuò)展來(lái)實(shí)現(xiàn)。和SD卡硬件相關(guān)的部分引腳定義如表1所示:【3】【4】
表1 PXA 272部分GPIO引腳功能定義
信號(hào) | 方向 | Intel 272功能引腳 | 說(shuō)明 |
SD_nPWREN | 輸入 | SDPWEN/GPB2 | SD插槽電源使能信號(hào)線 |
SD_DATA3 | 輸入/輸出 | SDDATA0/GPF5 | 4bit模式:DATA3 |
SD_DATA2 | 輸入/輸出 | SDDATA0/GPF4 | 4bit模式:DATA2 |
SD_DATA1 | 輸入/輸出 | SDDATA0/GPE5 | 4bit模式:DATA1 |
SD_DATA0 | 輸入/輸出 | SDDATA0/GPG2 | 4bit模式:DATA0 |
SD_CMD | 輸入/輸出 | SDCMD/GPG1 | SD命令線 |
SD_CLK | 輸入 | SDCLK/GPF3 | SDIO/SD卡時(shí)鐘線 |