版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要:介紹了一款優(yōu)秀的嵌入式BootLoader—UBoot,詳細講解了它的運行原理,著重討論了其在S3C2410上的移植過程,并對移植結果進行了測試。關鍵詞關鍵詞:UBoot;S3C2410;移植;BootLoader引言BootLoader是嵌入式系統(tǒng)軟件開發(fā)的第一個環(huán)節(jié),它緊密地將軟硬件銜接在一起,對于一個嵌入式設備后續(xù)的軟件開發(fā)至關重要。BootLoader還涉及到許多硬件相關的知識,對于普通的嵌入式開發(fā)板,它又是不可跳過的步驟
2、,所以做好它的移植工作是必須的,對于后續(xù)的開發(fā)工作也是有益的。UBoot是當前比較流行、功能強大的BootLoader,它操作簡便,可以支持多種體系結構的處理器,同時提供了完備的命令體系。S3C2410是三星公司一款基于ARM920T的嵌入式通用處理器。本文的移植平臺就是以S3C2410為核心的HHARM9EDUR2開發(fā)板,這塊開發(fā)板的硬件資源配置較為完善。主要硬件資源有:S3C2410處理器;1片IntelTE28f128FLASH(
3、16M);2片HynixHY57V561620SDRAM(64M);10100M自適應網(wǎng)絡芯片DM9000;USBHostDevice;RS2322RS4851串口;LQ035FLM08L256K色TFT真彩LCD顯示屏;全功能JTAG調試口等。UBootUBoot簡介簡介UBoot是DasUBoot的簡稱,是由denx軟件中心依照GPL發(fā)布的公共軟件,作為系統(tǒng)啟動的引導模塊,UBoot支持多種處理器架構,比如PowerPC、ARM、M
4、IPS和x86等。目前,UBoot源代碼在sourcefge網(wǎng)站的社區(qū)服務器中,Inter上有一群自由開發(fā)人員對其進行維護和開發(fā),它的項目主頁是:projectsuboot。當下載并解壓UBoot源碼包后,會形成如下的目錄結構:board,和一些已有開發(fā)板有關的文件;common,實現(xiàn)各種UBoot命令的C文件;cpu,CPU相關文件,其中的子目錄都是以UBoot所支持的CPU命名的;disk,disk驅動的分區(qū)處理代碼;doc,文檔;
5、drivers,通用設備驅動程序;fs,支持文件系統(tǒng)的文件;include,頭文件,對各種硬件平臺支持的匯編文件,系統(tǒng)的配置文件和對文件系統(tǒng)支持的文件;:與網(wǎng)絡有關的代碼;libarm,與ARM體系結構相關的代碼;tools,創(chuàng)建SRecd格式文件和UBootImages的工具。本文中UBoot的移植就是根據(jù)HHARM9EDUR2開發(fā)板的硬件資源在以上的目錄中修改或者添加相關源文件,并且重新編譯的過程。移植工作開始之前,了解UBoot的
6、運行過程是十分必要的。UUBootBoot運行過程分析運行過程分析UBoot編譯后的代碼定義一般不超過100kB,并且這100kB又分成兩個階段來執(zhí)行。第一階段的代碼在start.s中定義,大小不超過10kB,它包括從系統(tǒng)上電后在0x00000000地址開始執(zhí)行的部分。這部分代碼運行在Flash◆flash.c.UBoot讀、寫和刪除Flash設備的源代碼文件。由于不同開發(fā)板中Flash存儲器的種類各不相同,所以,修改flash.c時需
7、參考相應的Flash芯片手冊。它包括如下幾個函數(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),從內存復制數(shù)據(jù)。由于本文開發(fā)板所用flash芯片為IntelTE28f128,在boardcmi目錄中有此flash.c,只需對其稍加修改即可使用?!鬽emsetup.c.初始化時鐘、SMC控制器和SDRAM控制器。為了以后能用UBoot的GO命令執(zhí)行修改過的用loadb或tftp下載的UBoot.在標記符“0:”上加入五句:movr3,pcldrr4,=0x3FFF0000r3,r3,r4以
9、上三句得到實際起動的內存地址aadr0,r0,r3用GO命令調試uboot時,啟動地址在RAMaddr2,r2,r3把初始化內存信息的地址,加上實際起動地址◆S3C2410.C.設置各種總線時鐘,打開數(shù)據(jù)Cache和指令Cache,并設置相關內存參數(shù)。◆Makefile.修改:OBJS:=S3C2410.oflash.omemsetup.o◆UBoot.lds.作如下修改:.textcpuarm920tstart.o(.text)(.t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- uboot移植文檔
- uboot-2010-03移植到tq2440記錄
- am335x uboot spl分析
- android系統(tǒng)在beagleboard上的移植
- uboot啟動流程
- Android系統(tǒng)在Beagleboard上的移植.doc
- 胚胎移植在畜牧生產(chǎn)上的意義匯總
- Android系統(tǒng)在Beagleboard上的移植2.doc
- u-boot在mpc8265平臺上的移植與分析
- uc-os-Ⅱ在51上的移植與應用.pdf
- Android系統(tǒng)在Beagleboard上的移植(楊景翔).doc
- 干細胞移植在糖尿病治療上的應用
- KVM在嵌入式系統(tǒng)上的移植研究.pdf
- MiniGUI在嵌入式操作系統(tǒng)T-Kernel上的分析與移植.pdf
- h.264解碼算法優(yōu)化及在arm上的移植
- uC-OS Ⅱ在ARM上的移植與系統(tǒng)擴展.pdf
- Rmos操作系統(tǒng)在MIPS處理器上的移植.pdf
- ARMLinux在嵌入式設備上的移植及驅動開發(fā).pdf
- 畢業(yè)論文-android系統(tǒng)在beagleboard上的移植【精校排版】
- 硬件平臺STM32在TinyOS系統(tǒng)上的移植開發(fā).pdf
評論
0/150
提交評論