uboot在sc上的移植分析_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要:介紹了一款優(yōu)秀的嵌入式BootLoader—UBoot,詳細(xì)講解了它的運(yùn)行原理,著重討論了其在S3C2410上的移植過(guò)程,并對(duì)移植結(jié)果進(jìn)行了測(cè)試。關(guān)鍵詞關(guān)鍵詞:UBoot;S3C2410;移植;BootLoader引言BootLoader是嵌入式系統(tǒng)軟件開發(fā)的第一個(gè)環(huán)節(jié),它緊密地將軟硬件銜接在一起,對(duì)于一個(gè)嵌入式設(shè)備后續(xù)的軟件開發(fā)至關(guān)重要。BootLoader還涉及到許多硬件相關(guān)的知識(shí),對(duì)于普通的嵌入式開發(fā)板,它又是不可跳過(guò)的步驟

2、,所以做好它的移植工作是必須的,對(duì)于后續(xù)的開發(fā)工作也是有益的。UBoot是當(dāng)前比較流行、功能強(qiáng)大的BootLoader,它操作簡(jiǎn)便,可以支持多種體系結(jié)構(gòu)的處理器,同時(shí)提供了完備的命令體系。S3C2410是三星公司一款基于ARM920T的嵌入式通用處理器。本文的移植平臺(tái)就是以S3C2410為核心的HHARM9EDUR2開發(fā)板,這塊開發(fā)板的硬件資源配置較為完善。主要硬件資源有:S3C2410處理器;1片IntelTE28f128FLASH(

3、16M);2片HynixHY57V561620SDRAM(64M);10100M自適應(yīng)網(wǎng)絡(luò)芯片DM9000;USBHostDevice;RS2322RS4851串口;LQ035FLM08L256K色TFT真彩LCD顯示屏;全功能JTAG調(diào)試口等。UBootUBoot簡(jiǎn)介簡(jiǎn)介UBoot是DasUBoot的簡(jiǎn)稱,是由denx軟件中心依照GPL發(fā)布的公共軟件,作為系統(tǒng)啟動(dòng)的引導(dǎo)模塊,UBoot支持多種處理器架構(gòu),比如PowerPC、ARM、M

4、IPS和x86等。目前,UBoot源代碼在sourcefge網(wǎng)站的社區(qū)服務(wù)器中,Inter上有一群自由開發(fā)人員對(duì)其進(jìn)行維護(hù)和開發(fā),它的項(xiàng)目主頁(yè)是:projectsuboot。當(dāng)下載并解壓UBoot源碼包后,會(huì)形成如下的目錄結(jié)構(gòu):board,和一些已有開發(fā)板有關(guān)的文件;common,實(shí)現(xiàn)各種UBoot命令的C文件;cpu,CPU相關(guān)文件,其中的子目錄都是以UBoot所支持的CPU命名的;disk,disk驅(qū)動(dòng)的分區(qū)處理代碼;doc,文檔;

5、drivers,通用設(shè)備驅(qū)動(dòng)程序;fs,支持文件系統(tǒng)的文件;include,頭文件,對(duì)各種硬件平臺(tái)支持的匯編文件,系統(tǒng)的配置文件和對(duì)文件系統(tǒng)支持的文件;:與網(wǎng)絡(luò)有關(guān)的代碼;libarm,與ARM體系結(jié)構(gòu)相關(guān)的代碼;tools,創(chuàng)建SRecd格式文件和UBootImages的工具。本文中UBoot的移植就是根據(jù)HHARM9EDUR2開發(fā)板的硬件資源在以上的目錄中修改或者添加相關(guān)源文件,并且重新編譯的過(guò)程。移植工作開始之前,了解UBoot的

6、運(yùn)行過(guò)程是十分必要的。UUBootBoot運(yùn)行過(guò)程分析運(yùn)行過(guò)程分析UBoot編譯后的代碼定義一般不超過(guò)100kB,并且這100kB又分成兩個(gè)階段來(lái)執(zhí)行。第一階段的代碼在start.s中定義,大小不超過(guò)10kB,它包括從系統(tǒng)上電后在0x00000000地址開始執(zhí)行的部分。這部分代碼運(yùn)行在Flash◆flash.c.UBoot讀、寫和刪除Flash設(shè)備的源代碼文件。由于不同開發(fā)板中Flash存儲(chǔ)器的種類各不相同,所以,修改flash.c時(shí)需

7、參考相應(yīng)的Flash芯片手冊(cè)。它包括如下幾個(gè)函數(shù):unsignedlongflashinit(void),F(xiàn)lash初始化;intflasherase(flashinfotinfo,intsfirst,intslast),F(xiàn)lash擦除;volatilestaticintwritehwd(flashinfotinfo,ulongdest,ulongdata),F(xiàn)lash寫入;intwritebuff(flashinfotinfo,usr

8、c,ulongaddr,ulongcnt),從內(nèi)存復(fù)制數(shù)據(jù)。由于本文開發(fā)板所用flash芯片為IntelTE28f128,在boardcmi目錄中有此flash.c,只需對(duì)其稍加修改即可使用。◆memsetup.c.初始化時(shí)鐘、SMC控制器和SDRAM控制器。為了以后能用UBoot的GO命令執(zhí)行修改過(guò)的用loadb或tftp下載的UBoot.在標(biāo)記符“0:”上加入五句:movr3,pcldrr4,=0x3FFF0000r3,r3,r4以

9、上三句得到實(shí)際起動(dòng)的內(nèi)存地址aadr0,r0,r3用GO命令調(diào)試uboot時(shí),啟動(dòng)地址在RAMaddr2,r2,r3把初始化內(nèi)存信息的地址,加上實(shí)際起動(dòng)地址◆S3C2410.C.設(shè)置各種總線時(shí)鐘,打開數(shù)據(jù)Cache和指令Cache,并設(shè)置相關(guān)內(nèi)存參數(shù)?!鬗akefile.修改:OBJS:=S3C2410.oflash.omemsetup.o◆UBoot.lds.作如下修改:.textcpuarm920tstart.o(.text)(.t

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論