版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、AM335xubootspl分析芯片到uboot啟動流程ROM→SPL→uboot.img簡介在335x中ROMcode是第一級的bootlader。mpu上電后將會自動執(zhí)行這里的代碼,完成部分初始化和引導(dǎo)第二級的bootlader,第二級的bootlader引導(dǎo)第三級bootader,在ti官方上對于第二級和第三級的bootlader由uboot提供。SPLTounifyallexistingimplementationsfaseco
2、ndaryprogramloader(SPL)toallowsimplyaddingofnewimplementationsthisgenericSPLframewkhasbeencreated.Withthisframewkalmostallsourcefilesfaboardcanbereused.Nocodeduplicationsymlinkingisnecessaryanyme.1BasicARMinitialization2
3、UARTconsoleinitialization3ClocksDPLLlocking(minimal)4SDRAMinitialization5Mux(minimal)6BootDeviceinitialization(basedonwherewearebootingfrom.MMC1MMC2NOnen)7BootloadingrealubootfromtheBootDevicepassingcontroltoit.ubootspl源
4、代碼分析一、makefile分析打開spl文件夾只有一個makefile可見spl都是復(fù)用uboot原先的代碼。主要涉及的代碼文件為uboot2011.09psp04.06.00.03archarmcpuarmv7uboot2011.09psp04.06.00.03archarmlibuboot2011.09psp04.06.00.03driversLD:=$(TOPDIR)board$(BOARDDIR)ubootspl.lds這個為
5、鏈接腳本二、ubootspl.ldsSram0x402F0400Sdram0x80000000.bss.TEXT(archarmcpuarmv7start.o).rodata.data__start為程序開始__image_copy_end_end三、代碼解析__start為程序開始(archarmcpuarmv7start.S).globl_start這是在定義uboot的啟動定義入口點(diǎn),匯編程序的缺省入口是start標(biāo)號,用戶也可以
6、在連接腳本文件中用ENTRY標(biāo)志指明其它入口點(diǎn)。.global是GNUARM匯編的一個偽操作,聲明一個符號可被其他文檔引用,相當(dāng)接下來是對各個段代碼的定義略Rest:(archarmcpuarmv7start.S)blsave_boot_paramssave_boot_params:(archarmcpuarmv7ti81xxlowlevel_init.S)#ifdefCONFIG_SPL_BUILDldrr4=ti81xx_boot_
7、deviceti81xx_boot_device=BOOT_DEVICE_N啟動方式ldrr5[r0#BOOT_DEVICE_OFFSET]r5r5#BOOT_DEVICE_MASKstrr5[r4]#endifbxlr回到reset:(archarmcpuarmv7start.S)設(shè)置cpu的工作模式設(shè)置CPU的狀態(tài)類型為SVC特權(quán)模式mrsr0cpsrbicr0r0#0x1frr0r0#0xd3msrcpsrr0cpu_init_c
8、rit:(archarmcpuarmv7start.S)movr0#0@setupfMCRmcrp150r0c8c70@invalidateTLBsmcrp150r0c7c50@invalidateicachemcrp150r0c7c56@invalidateBParraymcrp150r0c7c104@DSBmcrp150r0c7c54@ISB關(guān)閉mmu緩存mrcp150r0c1c00bicr0r0#0x00002000@clearb
9、its13(V)bicr0r0#0x00000007@clearbits2:0(CAM)rr0r0#0x00000002@setbit1(A)Alignrr0r0#0x00000800@setbit11(Z)BTB#ifdefCONFIG_SYS_ICACHE_OFFbicr0r0#0x00001000@clearbit12(I)Icache#elserr0r0#0x00001000@setbit12(I)Icache#endifmcr
10、p150r0c1c00調(diào)用初始化函數(shù)moviplr@perseverelinkregacrosscallbllowlevel_init@gosetuppllmuxmemylowlevel_init:(archarmcpuarmv7ti81xxlowlevel.S)Thelinkregisterissavedinipbystart.Smovr6ipcheckifwearealreadyrunningfromRAMldrr2_lowleve
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于AM335X的RTU設(shè)計與實(shí)現(xiàn).pdf
- 基于TI AM335x的金融終端平臺設(shè)計與實(shí)現(xiàn).pdf
- 基于AM335X針織圓緯機(jī)提花控制系統(tǒng)研制.pdf
- 基于TI AM335x平臺的Android設(shè)備功耗管理研究與應(yīng)用.pdf
- 基于AM335X的智能公交車載終端軟件設(shè)計和開發(fā).pdf
- am335x處理器上用dm9000c擴(kuò)展網(wǎng)絡(luò)技術(shù)及問題分析
- Am335x掃描控制器設(shè)備驅(qū)動程序的開發(fā)與應(yīng)用.pdf
- 基于TI AM335x平臺的3G視頻通話技術(shù)研究與實(shí)現(xiàn).pdf
- uboot在sc上的移植分析
- uboot移植文檔
- uboot啟動流程
- gata4突變p.s335x載體構(gòu)建及初步功能分析
- 小麥SPL基因的比較分析和功能研究.pdf
- 112.01.21(335).DWG
- 112.01.21(335).DWG
- AM60+x%Nd合金的腐蝕行為研究.pdf
- 112.01.21(335).DWG
- uboot第二階段代碼
- 112.01.21(335).DWG
- uboot-2010-03移植到tq2440記錄
評論
0/150
提交評論