版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、地址:中國(guó)深圳經(jīng)濟(jì)特區(qū)福田區(qū)中康路32號(hào)弘億大廈電話:6 傳真:9郵政編碼:518000 網(wǎng)址:http/地址:中國(guó)深圳市福田區(qū)上梅林梅林路10號(hào)申匯基大廈5樓電話: 3-672 傳真:1郵政編碼:518000 網(wǎng)址:http/1常用計(jì)算機(jī)的配置第一章Linux部分_3.BootLoader的移植第四部分2目 錄4.3.1 BootLoader 簡(jiǎn)介4.3.2 Blob 分析3系統(tǒng)的內(nèi)部結(jié)構(gòu)BootLoaderFSkernelAPPHardWare內(nèi)核代碼和各種驅(qū)動(dòng)的代碼44.3.1 BootLoader 簡(jiǎn)介BootLoader是什么?在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序54.3.1 Bo
2、otLoader 簡(jiǎn)介BootLoader的作用初始化底層硬件建立內(nèi)存空間的映射圖調(diào)用操作系統(tǒng)內(nèi)核GPIO,Memory物理地址和虛擬地址的映射64.3.1 BootLoader 簡(jiǎn)介BootLoader的組成固件(Fireware)中boot代碼Stage1(匯編部分)Stage2(C部分)固件(Fireware)中boot代碼硬件檢測(cè)資源分配74.3.1 BootLoader 簡(jiǎn)介Stage1(匯編部分)的作用硬件設(shè)備初始化拷貝 Boot Loader 的 stage2 到 RAM 空間中為加載 Boot Loader 的 stage2 準(zhǔn)備 RAM 空間跳轉(zhuǎn)到 stage2 的 C 入口
3、點(diǎn)設(shè)置好堆棧84.3.1 BootLoader 簡(jiǎn)介Stage2(C部分)的作用初始化本階段常用的硬件設(shè)備內(nèi)存映射mmap將kernel image文件和根文件系統(tǒng)image從flash讀到RAM空間調(diào)用內(nèi)核為內(nèi)核設(shè)置啟動(dòng)參數(shù)94.3.1 BootLoader 簡(jiǎn)介BootLoader種類RedbootARMbootVIVIBlobU-Boot10Redboot介紹1、來(lái)源2、支持的處理器構(gòu)架3、特性Redhat公司隨eCos發(fā)布的一個(gè)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è)測(cè)試功能等Redboot4.3.1 BootLoader 簡(jiǎn)介11ARMboot介紹1、來(lái)源2、支持的處理器構(gòu)架3、特性ARMboot是一個(gè)ARM平臺(tái)的開(kāi)源固件項(xiàng)目,它特別基于PPCBoot,一個(gè)為PowerPC平臺(tái)上的系統(tǒng)提供類似功能的姊妹項(xiàng)目。發(fā)布:CPU架構(gòu):StrongARM ,ARM720T ,PXA250 等,是為基于ARM或者StrongARMCPU的嵌入式系統(tǒng)所設(shè)計(jì)的ARMboot特性:支持多種類型的FLASH 允許映像文件
5、經(jīng)由BOOTP、DHCP、TFTP從網(wǎng)絡(luò)傳輸support串口下載 Image允許內(nèi)存的顯示及修改ARMboot4.3.1 BootLoader 簡(jiǎn)介12VIVI介紹1、來(lái)源2、支持的處理器構(gòu)架3、特性vivi是由mizi公司設(shè)計(jì)為ARM處理器系列設(shè)計(jì)的一個(gè)bootloader 發(fā)布:CPU架構(gòu):ARMVIVI特性:使用串口和主機(jī)通信 VIVI4.3.1 BootLoader 簡(jiǎn)介13U_Boot介紹1、來(lái)源2、支持的處理器構(gòu)架3、特性U_boot全稱Universal Boot Loader,是遵循GPL條款的開(kāi)放源碼項(xiàng)目。從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來(lái)。發(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 簡(jiǎn)介14Blob介紹1、來(lái)源2、支持的處理器構(gòu)架3、特性Jan-Derk Bakker and Erik Mouw發(fā)布的,是專門為StrongARM 構(gòu)架下的LART設(shè)計(jì)的發(fā)布:CP
7、U架構(gòu):Blob支持SA1100的LART主板,但用戶也可以自行修改移植,像Xscal等Blob特性: 初始化硬件(CPU速度,存儲(chǔ)器)引導(dǎo)Linux內(nèi)核并提供ramdisk 給LART下載一個(gè)內(nèi)核或者ramdisk 給FLASH片更新內(nèi)核或者ramdisk測(cè)定存儲(chǔ)配置并通知內(nèi)核Blob4.3.1 BootLoader 簡(jiǎn)介15目 錄4.3.1 BootLoader 簡(jiǎn)介4.3.2 Blob 分析161、include2、src3、Utils包含頭文件主要源碼軟件附帶的工具集 Blob4.3.2 Blob 分析174.3.2 Blob 分析Blob啟動(dòng)流程(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啟動(dòng)流程(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啟動(dòng)流程(stage1).text.start 段.section .text.start.global _start_start :bstart段名的定義全局標(biāo)號(hà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. 本站所有資源如無(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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東理工學(xué)院《畜牧機(jī)械》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東科技學(xué)院《譜學(xué)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東江門幼兒師范高等??茖W(xué)校《藏藥材栽培學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東行政職業(yè)學(xué)院《人力資源綜合實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東工程職業(yè)技術(shù)學(xué)院《創(chuàng)意傳播管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東第二師范學(xué)院《Photoshop圖像處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 《高效績(jī)團(tuán)隊(duì)》課件
- 廣安職業(yè)技術(shù)學(xué)院《房地產(chǎn)開(kāi)發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛州職業(yè)技術(shù)學(xué)院《翻譯概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 保潔消防培訓(xùn)課件
- 運(yùn)籌學(xué)(課件)
- 膠囊劑生產(chǎn)工藝流程圖
- 肝膽外科出科考試試卷
- 制藥廠安全事故應(yīng)急救援預(yù)案匯編
- 塔吊運(yùn)行作業(yè)方案
- 上市公司信息披露制度的跨國(guó)比較及借鑒
- 重慶中考數(shù)學(xué)最新26題練習(xí)及答案
- 飛機(jī)起落架緩沖器的設(shè)計(jì)航空專業(yè)
- 江蘇衛(wèi)視跨年演唱會(huì)電視轉(zhuǎn)播技術(shù)方案-209年精選文檔
- 石化公司裝置管道無(wú)損檢測(cè)施工方案A0
- 水電工程施工機(jī)械臺(tái)時(shí)費(fèi)定額(2004年版)
評(píng)論
0/150
提交評(píng)論