![第4部分 Linux部分-3.BootLoader的移植_第1頁](http://file4.renrendoc.com/view/d1844df3a977634532d3233183aa3f6d/d1844df3a977634532d3233183aa3f6d1.gif)
![第4部分 Linux部分-3.BootLoader的移植_第2頁](http://file4.renrendoc.com/view/d1844df3a977634532d3233183aa3f6d/d1844df3a977634532d3233183aa3f6d2.gif)
![第4部分 Linux部分-3.BootLoader的移植_第3頁](http://file4.renrendoc.com/view/d1844df3a977634532d3233183aa3f6d/d1844df3a977634532d3233183aa3f6d3.gif)
![第4部分 Linux部分-3.BootLoader的移植_第4頁](http://file4.renrendoc.com/view/d1844df3a977634532d3233183aa3f6d/d1844df3a977634532d3233183aa3f6d4.gif)
![第4部分 Linux部分-3.BootLoader的移植_第5頁](http://file4.renrendoc.com/view/d1844df3a977634532d3233183aa3f6d/d1844df3a977634532d3233183aa3f6d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、地址:中國深圳經(jīng)濟(jì)特區(qū)福田區(qū)中康路32號弘億大廈電話:6 傳真:9郵政編碼:518000 網(wǎng)址:http/地址:中國深圳市福田區(qū)上梅林梅林路10號申匯基大廈5樓電話: 3-672 傳真:1郵政編碼:518000 網(wǎng)址:http/1常用計算機(jī)的配置第一章Linux部分_3.BootLoader的移植第四部分2目 錄4.3.1 BootLoader 簡介4.3.2 Blob 分析3系統(tǒng)的內(nèi)部結(jié)構(gòu)BootLoaderFSkernelAPPHardWare內(nèi)核代碼和各種驅(qū)動的代碼44.3.1 BootLoader 簡介BootLoader是什么?在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序54.3.1 Bo
2、otLoader 簡介BootLoader的作用初始化底層硬件建立內(nèi)存空間的映射圖調(diào)用操作系統(tǒng)內(nèi)核GPIO,Memory物理地址和虛擬地址的映射64.3.1 BootLoader 簡介BootLoader的組成固件(Fireware)中boot代碼Stage1(匯編部分)Stage2(C部分)固件(Fireware)中boot代碼硬件檢測資源分配74.3.1 BootLoader 簡介Stage1(匯編部分)的作用硬件設(shè)備初始化拷貝 Boot Loader 的 stage2 到 RAM 空間中為加載 Boot Loader 的 stage2 準(zhǔn)備 RAM 空間跳轉(zhuǎn)到 stage2 的 C 入口
3、點設(shè)置好堆棧84.3.1 BootLoader 簡介Stage2(C部分)的作用初始化本階段常用的硬件設(shè)備內(nèi)存映射mmap將kernel image文件和根文件系統(tǒng)image從flash讀到RAM空間調(diào)用內(nèi)核為內(nèi)核設(shè)置啟動參數(shù)94.3.1 BootLoader 簡介BootLoader種類RedbootARMbootVIVIBlobU-Boot10Redboot介紹1、來源2、支持的處理器構(gòu)架3、特性Redhat公司隨eCos發(fā)布的一個BOOT方案發(fā)布:CPU架構(gòu): ARM,MIPS,MN10300,PowerPC, Renesas SHx,v850,x86等Redboot特性:支持ECOS,
4、Linux操作系統(tǒng)引導(dǎo)在線讀寫Flash支持串行口kermit,S-record下載代碼監(jiān)控(minitor)命令集:讀寫I/O,內(nèi)存,寄存器、 內(nèi)存、外設(shè)測試功能等Redboot4.3.1 BootLoader 簡介11ARMboot介紹1、來源2、支持的處理器構(gòu)架3、特性ARMboot是一個ARM平臺的開源固件項目,它特別基于PPCBoot,一個為PowerPC平臺上的系統(tǒng)提供類似功能的姊妹項目。發(fā)布:CPU架構(gòu):StrongARM ,ARM720T ,PXA250 等,是為基于ARM或者StrongARMCPU的嵌入式系統(tǒng)所設(shè)計的ARMboot特性:支持多種類型的FLASH 允許映像文件
5、經(jīng)由BOOTP、DHCP、TFTP從網(wǎng)絡(luò)傳輸support串口下載 Image允許內(nèi)存的顯示及修改ARMboot4.3.1 BootLoader 簡介12VIVI介紹1、來源2、支持的處理器構(gòu)架3、特性vivi是由mizi公司設(shè)計為ARM處理器系列設(shè)計的一個bootloader 發(fā)布:CPU架構(gòu):ARMVIVI特性:使用串口和主機(jī)通信 VIVI4.3.1 BootLoader 簡介13U_Boot介紹1、來源2、支持的處理器構(gòu)架3、特性U_boot全稱Universal Boot Loader,是遵循GPL條款的開放源碼項目。從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來。發(fā)布
6、:CPU架構(gòu):PowerPC (MPC5xx,MPC8xx,MPC82xx,MPC7xx,MPC74xx4xx), ARM (ARM7,ARM9,StrongARM,Xscale),MIPS,x86U-boot特性:SCC/FEC以太網(wǎng)支持BOOTP/TFTP引導(dǎo)IP,MAC預(yù)置功能 在線讀寫FLASH,IIC,EEROM,RTC支持WatchDog,LCD logo等U_Boot4.3.1 BootLoader 簡介14Blob介紹1、來源2、支持的處理器構(gòu)架3、特性Jan-Derk Bakker and Erik Mouw發(fā)布的,是專門為StrongARM 構(gòu)架下的LART設(shè)計的發(fā)布:CP
7、U架構(gòu):Blob支持SA1100的LART主板,但用戶也可以自行修改移植,像Xscal等Blob特性: 初始化硬件(CPU速度,存儲器)引導(dǎo)Linux內(nèi)核并提供ramdisk 給LART下載一個內(nèi)核或者ramdisk 給FLASH片更新內(nèi)核或者ramdisk測定存儲配置并通知內(nèi)核Blob4.3.1 BootLoader 簡介15目 錄4.3.1 BootLoader 簡介4.3.2 Blob 分析161、include2、src3、Utils包含頭文件主要源碼軟件附帶的工具集 Blob4.3.2 Blob 分析174.3.2 Blob 分析Blob啟動流程(stage1)b start_sta
8、rt :bl define_gpiobl clock_enable bl setup_memory Main() ldrpc, =mainGPIO口的初始化GPIO口的初始化CPU主頻設(shè)置和內(nèi)存的初始化跳轉(zhuǎn)到main函數(shù)184.3.2 Blob 分析Blob啟動流程(stage2)Main()uart_init()time_init() config_init()printf()iflash_init() eth_init()mdelay(1)_asm_(mov r0, #3; mcr p14,0,r0,c6,c0,0);autobootYautoboot_mode()Nwhile(!bExi
9、t)Nreturn 0;YDisplayMenu()iNum = getc()if(iNum =.)YbSelect = truewhile (!bSelect)NYswitch(iNum)Case.Case.N194.3.2 Blob 分析Blob啟動流程(stage1).text.start 段.section .text.start.global _start_start :bstart段名的定義全局標(biāo)號的定義.section .textstart :bldefine_gpioblclock_enableblsetup_memory.text 段204.3.2 Blob 分析GPIO口初
10、始化 ldrr1, =GPIO_BASEldrr0, =_GPSR0strr0, r1, #GPSR0ldrr0, =_GPCR0strr0, r1, #GPCR0ldrr0, =_GAFR0Lstrr0, r1, #GAFR0Lldrr0, =_GAFR0Ustrr0, r1, #GAFR0Uldrr0, =_GPDR0strr0, r1, #GPDR0 #define GPIO_BASE0 x40E00000 #define _GPDR0 0 x00208000 | (116) #define GPDR00 x00CGPIO口的基址GPIO狀態(tài)寄存器的設(shè)置GPIO功能替換寄存器的設(shè)置GPI
11、O方向寄存器的設(shè)置214.3.2 Blob 分析GPIO口的內(nèi)部結(jié)構(gòu)圖方向寄存器功能替換寄存器狀態(tài)寄存器狀態(tài)寄存器224.3.2 Blob 分析GPIO口初始化 ldrr1, =GPIO_BASE.ldrr0, =_GPDR0strr0, r1, #GPDR0 #define GPIO_BASE0 x40E00000 #define _GPDR0 0 x00208000 | (1 8, UART_DLH);uart_put(BaudToDLV(UART_BAUDRATE) & 0 xFF, UART_DLL);.設(shè)置GPIO34為FFRXD設(shè)置串口波特率294.3.2 Blob 分析串口初始化
12、pxa_gpio_mode(GPIO34_FFRXD_MD);#define GPIO34_FFRXD_MD (34 | GPIO_ALT_FN_1_IN)#define GPIO_ALT_FN_1_IN0 x100GPIO34_FFRXD_MD=0 x122pxa_gpio_mode(0 x122);304.3.2 Blob 分析串口初始化void pxa_gpio_mode(int mode) /mode=0 x122 int gpio = mode & GPIO_MD_MASK_NR; /gpio=0 x22 int fn = (mode & GPIO_MD_MASK_FN) 8; /
13、fn= 0 x01 int gafr; if (mode & GPIO_MD_MASK_DIR) /if(0)GPDR(gpio) |= GPIO_bit(gpio); else GPDR(gpio) &= GPIO_bit(gpio); . return;#define GPIO_MD_MASK_NR 0 x07f#define GPIO_MD_MASK_FN 0 x300#define GPIO_MD_MASK_DIR 0 x080314.3.2 Blob 分析串口初始化void pxa_gpio_mode(int mode) /mode=0 x122 . / gpio=0 x22 fn=
14、 0 x01 if (mode & GPIO_MD_MASK_DIR) /if(0)GPDR(gpio) |= GPIO_bit(gpio); else GPDR(gpio) &= GPIO_bit(gpio); /(GPDR1)&=0 x04 gafr = GAFR(gpio) & (0 x3 (gpio) & 0 xf)*2); GAFR(gpio) = gafr | (fn (gpio) & 0 xf)*2); return;#define GPIO_bit(x) (1 (x) & 0 x1f) #define GPDR(x) (*(x) & 0 x7f) 3)# define _REG2(x,y)(*(volatile unsigned long *)(unsigned long)(x) + (y)324.3.2 Blob 分析串口初始化334.3.2 Blob 分析串口初始化void pxa_gpio_mode(int mode) /mode=0 x122 . / gpio=0 x22 fn= 0 x01 gafr = GAFR(gpio) & (0 x3 (gpio) & 0 xf)*2); /gafr=0 x?c? GAFR(gpio) = gafr | (fn (gpio) & 0 xf)*2); /GAFR1_L=0 x?d?
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- UPS不間斷電源項目可行性研究報告(備案立項申請)
- 鍛造鋁合金輪轂項目可行性研究報告標(biāo)準(zhǔn)立項報告
- 景德鎮(zhèn)遠(yuǎn)大機(jī)械設(shè)備有限公司介紹企業(yè)發(fā)展分析報告
- 2021-2026年中國生態(tài)板市場深度評估及行業(yè)投資前景咨詢報告
- 中國工業(yè)以太網(wǎng)媒體轉(zhuǎn)換器行業(yè)市場占有率及投資前景預(yù)測分析報告
- 2025年中國多肽藥物行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 理賠申請書范本
- 2025年牽繩機(jī)項目投資可行性研究分析報告
- 固廢綜合利用項目申請報告范本參考(立項申請)
- 中國AI平板機(jī)器人行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資分析研究報告(2024-2030版)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 腎性高血壓的護(hù)理
- 國際貨物運輸委托代理合同(中英文對照)全套
- 全面新編部編版四年級下冊語文教材解讀分析
- 《建筑工程質(zhì)量檢驗評定標(biāo)準(zhǔn)》
- 教學(xué)能力大賽-教學(xué)實施報告《大學(xué)英語2c》
- 江蘇農(nóng)牧科技職業(yè)學(xué)院單招《職業(yè)技能測試》參考試題庫(含答案)
- VDA6.3 2023過程審核教材
- 高職應(yīng)用語文教程(第二版)教案 3管晏列傳
- 高中物理《光電效應(yīng)》
- 高中教師職業(yè)發(fā)展規(guī)劃及目標(biāo)
評論
0/150
提交評論