在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > U-Boot在LPC2210上的移植分析

            U-Boot在LPC2210上的移植分析

            作者: 時(shí)間:2012-03-22 來源:網(wǎng)絡(luò) 收藏

            1.引言

            是嵌入式軟件開發(fā)的第一個(gè)環(huán)節(jié),它為最終加載操作系統(tǒng)內(nèi)核映像建立了正確的環(huán)境。是一個(gè)開放源代碼的啟動引導(dǎo)加載程序。筆者以PHILIP公司生產(chǎn)的 處理器為硬件基礎(chǔ),詳細(xì)分析了軟件啟動流程,以及針對源碼本身并不支持的處理器應(yīng)用U-Boot作為 的移植方法,最后給出了U-Boot在上的移植實(shí)例。

            2.簡介

            Bootloader(引導(dǎo)加載程序)是系統(tǒng)加電后運(yùn)行的第一段軟件代碼。通過運(yùn)行Bootloader程序,可以初始化硬件設(shè)備,建立系統(tǒng)的內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)適合的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。最終,Bootloader把操作系統(tǒng)內(nèi)核映像加載到RAM中,并將系統(tǒng)控制權(quán)傳遞給它。通常Bootloader對硬件的依賴性非常強(qiáng),特別是在嵌入式系統(tǒng)世界,因此,在嵌入式系統(tǒng)世界里建立一個(gè)通用的Bootloader幾乎是不可能的。這就要求開發(fā)人員根據(jù)不同的硬件環(huán)境來開發(fā)適合自己開發(fā)板的Bootloader程序。

            3.U-Boot軟件結(jié)構(gòu)

            U-Boot,全稱Universal Boot Loader,是遵循GPL條款的開放源碼項(xiàng)目。U-Boot不僅僅支持嵌入式Linux系統(tǒng)的引導(dǎo),它還支持多種主流嵌入式操作系統(tǒng)。這是U-Boot 中universal的一層含義。另外一層含義則是U-Boot能夠支持MIPS、ARM、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正是U- Boot項(xiàng)目的開發(fā)目標(biāo),即支持盡可能多的嵌入式處理器和嵌入式操作系統(tǒng)。U-Boot軟件在頂層目錄下有18個(gè)子目錄,分別存放和管理不同的源程序。這些目錄按照其不同的規(guī)則可以分為三類:

            (1)與處理器體系或開發(fā)板硬件直接相關(guān),例如:/board,/cpu,/include等;

            (2)一些通用的函數(shù)或者驅(qū)動程序,例如:/lib_arm,/driver,/Dtt,/common等;

            (3)U-Boot的應(yīng)用程序,工具或者文檔,/tools,/Doc,/Fs,/Post,/net等。

            4.啟動流程分析

            U-Boot軟件的啟動程序分為Stage1和Stage2兩個(gè)階段。依賴于CPU體系結(jié)構(gòu)的代碼,通常都放在Stage1中,Stage1主要完成:硬件設(shè)備初始化;為加載Stage2準(zhǔn)備RAM空間,復(fù)制Stage2到RAM空間中;設(shè)置堆棧;跳轉(zhuǎn)到Stage2的C入口點(diǎn)。Stage2通常用 C語言來實(shí)現(xiàn),這樣可以實(shí)現(xiàn)更復(fù)雜的功能,而且代碼會具有更好的可讀性和移植性,在Stage2主要完成:初始化本階段要使用的硬件設(shè)備;檢測系統(tǒng)內(nèi)存映射;將kernel映像和根文件系統(tǒng)映像從Flash上讀到RAM空間;設(shè)置內(nèi)核啟動參數(shù),調(diào)用內(nèi)核。

            5.LPC2210下移植實(shí)例

            5.1移植前準(zhǔn)備工作

            移植過程中要從軟件和硬件兩個(gè)方面準(zhǔn)備。首先在Linux操作系統(tǒng)平臺下移植適合LPC2210處理器的交叉編譯環(huán)境,直接下載arm-elf- tools-20040427.sh,將它拷貝到根目錄并增加其可執(zhí)行權(quán)限,通過/arm-elf-tools-20040427.sh命令運(yùn)行腳本,查看/usr/local/bin目錄下有arm-elf開頭的編譯環(huán)境文件則證明交叉編譯環(huán)境安裝成功。

            開發(fā)板硬件平臺是基于ARM7TDMI RISC內(nèi)核的LPC2210處理器,由于Bootloader軟件是和底層的硬件是緊密相關(guān)的,所以在移植前要充分了解與移植有關(guān)的開發(fā)板硬件信息包括:系統(tǒng)硬件器件地址空間分配,初始化CPU流程、NOR FLASH,RAM驅(qū)動及擦寫芯片時(shí)序、網(wǎng)絡(luò)芯片驅(qū)動等。移植相關(guān)的硬件框圖如圖1所示:

            硬件框圖 圖1


            上一頁 1 2 3 下一頁

            關(guān)鍵詞: Bootloader U-Boot LPC2210

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉