|
劉凱嵌入式視頻百度云_ARM的嵌入式系統(tǒng)Bootloader啟動(dòng),嵌入式技術(shù)視頻教程, 嵌入式技術(shù)視頻教程下載, 嵌入式技術(shù)應(yīng)用開(kāi)發(fā)視頻, 嵌入式技術(shù)與應(yīng)用基礎(chǔ)視頻, 嵌入式技術(shù)與應(yīng)用入門(mén)視頻, 嵌入式技術(shù)與應(yīng)用入門(mén)視頻教程, 嵌入式技術(shù)與應(yīng)用入門(mén)視頻教程下載, 嵌入式技術(shù)與應(yīng)用視頻, 嵌入式技術(shù)與應(yīng)用視頻教程, 嵌入式技術(shù)與應(yīng)用視頻教程下載, 嵌入式技術(shù)與應(yīng)用視頻介紹, 嵌入式技術(shù)原理與應(yīng)用視頻, 嵌入式加物聯(lián)網(wǎng)視頻, 嵌入式加物聯(lián)網(wǎng)視頻下載, 嵌入式架構(gòu)在視頻會(huì)議中的應(yīng)用, 嵌入式監(jiān)控如何刪除視頻, 嵌入式監(jiān)控如何刪除視頻教程,
64MHZ貨源 PDF 芯片資料 報(bào)價(jià) | 基于ARM的嵌入式系統(tǒng)Bootloader啟動(dòng)流程分析 電子論壇 您現(xiàn)在的位置:64MHZ 的貨源和報(bào)價(jià) 64MHZ 的相關(guān)技術(shù)信息 其他型號(hào) 香港華爾國(guó)際電子有限公司聯(lián)系人:陳小姐
電話:0755-83014464/83957734 >>更多供應(yīng)商 基于ARM的嵌入式系統(tǒng)Bootloader啟動(dòng)流程分析 一.引言:
對(duì)于PC機(jī),其開(kāi)機(jī)后的初始化處理器配置、硬件初始化等操作是由BIOS(Basic Input /Output System)完成的,但對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),出于經(jīng)濟(jì)性、價(jià)格方面的考慮一般不配置BIOS,因此我們必須自行編寫(xiě)完成這些工作的程序,這就是所需要的開(kāi)機(jī)程序。而在嵌入式系統(tǒng)中,通常并沒(méi)有像 BIOS 那樣的固件程序,啟動(dòng)時(shí)用于完成初始化操作的這段代碼被稱(chēng)為Bootloader程序,因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由Bootloader 來(lái)完成。簡(jiǎn)單地說(shuō),通過(guò)這段程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖(有的CPU沒(méi)有內(nèi)存映射功能如S3C44B0),從而將系統(tǒng)的軟硬件環(huán)境設(shè)定在一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核、運(yùn)行用戶(hù)應(yīng)用程序準(zhǔn)備好正確的環(huán)境。Bootloader依賴(lài)于實(shí)際的硬件和應(yīng)用環(huán)境,因此要為嵌入式系統(tǒng)建立一個(gè)通用、標(biāo)準(zhǔn)的Bootloader是非常困難的。Bootloader也依賴(lài)于具體的嵌入式板級(jí)設(shè)備的配置,這也就是說(shuō),對(duì)于兩塊不同的嵌入式主板而言,即使它們是基于同一 CPU 而構(gòu)建,要想讓運(yùn)行在一塊板子上的 Bootloader 程序也能運(yùn)行在另一塊板子上,通常都需要修改 Bootloader 的源程序。二.啟動(dòng)流程
系統(tǒng)加電復(fù)位后,幾乎所有的 CPU都從由復(fù)位地址上取指令。比如,基于 ARM7TDMI內(nèi)核的CPU在復(fù)位時(shí)通常都從地址 0x00000000處取它的第一條指令。而以微處理器為核心的嵌入式系統(tǒng)通常都有某種類(lèi)型的固態(tài)存儲(chǔ)設(shè)備(比如EEPROM、FLASH等)被映射到這個(gè)預(yù)先設(shè)置好的地址上。因此在系統(tǒng)加電復(fù)位后,處理器將首先執(zhí)行存放在復(fù)位地址處的程序。通過(guò)集成開(kāi)發(fā)環(huán)境可以將Bootloader定位在復(fù)位地址開(kāi)始的存儲(chǔ)空間內(nèi),因此Bootloader是系統(tǒng)加電后、操作系統(tǒng)內(nèi)核或用戶(hù)應(yīng)用程序運(yùn)行之前,首先必須運(yùn)行的一段程序代碼。對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),有的使用操作系統(tǒng),也有的不使用操作系統(tǒng),比如功能簡(jiǎn)單僅包括應(yīng)用程序的系統(tǒng),但在系統(tǒng)啟動(dòng)時(shí)都必須執(zhí)行Bootloader,為系統(tǒng)運(yùn)行準(zhǔn)備好軟硬件運(yùn)行環(huán)境。
系統(tǒng)的啟動(dòng)通常有兩種方式,一種是可以直接從Flash啟動(dòng),另一種是可以將壓縮的內(nèi)存映像文件從Flash(為節(jié)省Flash資源、提高速度)中復(fù)制、解壓到RAM,再?gòu)腞AM啟動(dòng)。當(dāng)8MHZ,Fout=64MHZ*/
strr1,[r0]
.endif
ldr r0,=CLKCON
ldr r1,=0x7ff8 /*所有單元時(shí)鐘允許*/
str r1,[r0]
/*為BDMA設(shè)置復(fù)位值*/
ldr r0,=BDIDES0
ldr r1,=0x40000000 /* BDIDESn 復(fù)位值應(yīng)為 0x40000000 */
str r1,[r0]
ldr r0,=BDIDES1
ldr r1,=0x40000000 /* BDIDESn 復(fù)位值應(yīng)為 0x40000000 */
str r1,[r0]
/*設(shè)置存儲(chǔ)器控制寄存器,存儲(chǔ)器的配置數(shù)據(jù)都存儲(chǔ)在SMRDATA為起始地址的數(shù)據(jù)表中,下面的代碼可以一次將預(yù)先配置好的初始化數(shù)據(jù)存入與存儲(chǔ)器控制器相關(guān)的13個(gè)寄存器,這些寄存器則是以0x01c80000為起始地址的13個(gè)連續(xù)的3 |
|