u-boot啟動(dòng)代碼start.S詳解

u-boot啟動(dòng)代碼start.S詳解

ID:37897734

大小:24.24 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2019-06-02

u-boot啟動(dòng)代碼start.S詳解_第1頁(yè)
u-boot啟動(dòng)代碼start.S詳解_第2頁(yè)
u-boot啟動(dòng)代碼start.S詳解_第3頁(yè)
u-boot啟動(dòng)代碼start.S詳解_第4頁(yè)
u-boot啟動(dòng)代碼start.S詳解_第5頁(yè)
資源描述:

《u-boot啟動(dòng)代碼start.S詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、U-BOOT一、U-BOOT的目錄結(jié)構(gòu)u-boot目錄下有18個(gè)子目錄,分別存放管理不通的源程序。這些目錄中所要存放的文件有其規(guī)則,可以分成三類。?第一類目錄與處理器體系結(jié)構(gòu)或者開發(fā)板硬件直接相關(guān);?第二類目錄是一些通用的函數(shù)或者驅(qū)動(dòng)程序;?第三類目錄是u-boot的應(yīng)用程序、工具或者文檔。Board:和一些已有開發(fā)板相關(guān)的文件,比如Makefile和u-boot.lds等都和具體開發(fā)板的硬件和地址分配有關(guān)。Common:與體系結(jié)構(gòu)無關(guān)的文件,實(shí)現(xiàn)各種命令的C文件。CPU:CPU相關(guān)文件,其中的子目錄都是以u(píng)-boot所支持的CPU為名,

2、比如有子目錄arm926ejs、mips、mpc8260和nios等,每個(gè)特定的子目錄中都包括cpu.c和interrupt.c和start.S。其中cpu.c初始化cpu、設(shè)置指令cache和數(shù)據(jù)cache等;interrupt.c設(shè)置系統(tǒng)的各種終端和異常,比如快速中斷,開關(guān)中斷、時(shí)鐘中斷、軟件中斷、預(yù)取中止和未定義指令等;start.S是u-boot啟動(dòng)時(shí)執(zhí)行的第一個(gè)文件,他主要是設(shè)置系統(tǒng)堆棧和工作發(fā)式,為進(jìn)入C程序奠定基礎(chǔ)。Disk:disk驅(qū)動(dòng)的分區(qū)處理代碼、Doc:文檔。Drivers:通用設(shè)備驅(qū)動(dòng)程序,比如各種網(wǎng)卡、支持CFI

3、的flash、串口和USB總線等。Dtt:數(shù)字溫度測(cè)量器或者傳感器的驅(qū)動(dòng)Examples:一些獨(dú)立運(yùn)行的應(yīng)用程序的例子。Fs:支持文件系統(tǒng)的文件,u-boot現(xiàn)在支持cramfs、fat、fdos、jffs2、yaffs和registerfs。Include:頭文件,還有對(duì)各種硬件平臺(tái)支持的會(huì)變文件,系統(tǒng)的配置文件和對(duì)文件系統(tǒng)支持的文件。Net:與網(wǎng)絡(luò)有關(guān)的代碼,BOOTP協(xié)議、TFTP協(xié)議RARP協(xié)議和NFS文件系統(tǒng)的實(shí)現(xiàn)。Lib_ppc:存放對(duì)PowerPC體系結(jié)構(gòu)通用的文件,主要用于實(shí)現(xiàn)PowerPC平臺(tái)通用的函數(shù),與PowerPC

4、體系結(jié)構(gòu)相關(guān)的代碼。Lib_i386:存放對(duì)X86體系結(jié)構(gòu)通用的文件,主要用于實(shí)現(xiàn)X86平臺(tái)通用的函數(shù),與PowerPc體系結(jié)構(gòu)相關(guān)的代碼。Lib_arm:存放對(duì)ARM體系結(jié)構(gòu)通用的文件,主要用于實(shí)現(xiàn)ARM平臺(tái)通用的函數(shù),與ARM體系結(jié)構(gòu)相關(guān)的代碼。Lib_generic:通用的多功能函數(shù)實(shí)現(xiàn)。Post:上電自檢。Rtc:實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)。Tools:創(chuàng)建S-Record格式文件和U-BOOTimages的工具。二、u-boot的編譯u-boot的源碼是通過GCC和Makefile組織編譯的,頂層目錄下的Makefile首先可以設(shè)置板子的定義

5、,然后遞歸地調(diào)用各級(jí)目錄下的Makefile,最后把編譯過的程序鏈接成u-boot的映像。頂層目錄下的Makefile,它是負(fù)責(zé)U-Boot整體配置編譯。每一種開發(fā)板在Makefile都需要有板子配置的定義,如smdk2442定義如下:smdk2442_config:?unconfig?@./mkconfig$(@:_config=)armarm920tsmdk2442執(zhí)行配置U-Boot的命令makesmdk2442_config,通過./mkconfig腳本生成include/config.mk的配置文件。文件內(nèi)容是根據(jù)Makefil

6、e對(duì)板子的配置生成的。配置環(huán)境和編譯過程如下所述,U-boot的編譯環(huán)境配置需要:cross-2.95.3.tar.bz2和s3c24x0_uboot_rel_0_0_1_061002.tar.bz2,將文件拷貝到/home/amoi/working/下,(chenpx@chenpx:/mnt/hgfs/share$cpcross-2.95.3.tar.bz2/home/amoi/working和chenpx@chenpx:/mnt/hgfs/share$cps3c-u-boot-1.1.6.tar.bz2/home/amoi/worki

7、ng),?然后對(duì)對(duì)文件進(jìn)行解壓(chenpx@chenpx:/home/chenpx/working$tarjxvfcross-2.95.3.tar.bz2和chenpx@chenpx:/home/chenpx/working$tarjxvfs3c24x0_uboot_rel_0_0_1_061002.tar.bz2),在/usr/local/目錄下建立一個(gè)arm文件夾(mkdir–p/usr/local/arm(-p?是需要時(shí)創(chuàng)建上層目錄,如目錄早已存在則不當(dāng)作錯(cuò)誤))將cross-2.95.3.tar.bz2解壓出來的移動(dòng)到/usr/

8、local/arm/下(mv2.95.3/usr/local/arm/)移動(dòng)后添加環(huán)境變量exportPATH=$PATH:/usr/local/2.95.3/bin/修改s3c24x0_ub

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。