新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > BLOB啟動流程與Bootloader程序可移植性研究

        BLOB啟動流程與Bootloader程序可移植性研究

        作者: 時間:2011-09-02 來源:網(wǎng)絡 收藏
        2.2 不同構(gòu)架下

        本文引用地址:http://www.104case.com/article/150266.htm

          根據(jù)可知,對于不同架構(gòu)的CPU,盡管處理相似,但是實現(xiàn)方法不同,主要體現(xiàn)在的第一階段對CPU的設置上。所以這部分的硬件相關(guān)代碼基本上要重新編寫。

          多數(shù)在stage1的代碼不易由C語言實現(xiàn),因而大多采用匯編語言實現(xiàn)。以U-boot為例,stage1代碼主要位于start.S、IO.S、Cache.S中,其中最重要的是start.S。該代碼主要針對特定處理器,對其內(nèi)部各個寄存器進行設置并初始化CPU。主要完成設置處理器工作模式、初始化緩沖區(qū)、設置堆棧、設置中斷向量、內(nèi)存控制器初始化[6]。

          完成stage1代碼編寫之后,還需要按照相同構(gòu)架下Bootloader的方法對相關(guān)代碼進行編寫。

          2.3 提高可性的方案設計

          目前影響B(tài)ootloader可移植性的因素主要有:CPU不同架構(gòu),同一架構(gòu)不同CPU型號,目標板硬件不同結(jié)構(gòu)。針對以上問題提出了幾點提高可移植性的方案設計。

          (1)對于遵從GPL協(xié)議的開源Bootloader,可以根據(jù)不同架構(gòu)和不同硬件定制相應的驅(qū)動文件,如各種.c和.h文件。考慮到目前嵌入式硬件種類非常多,需要大量開源軟件開發(fā)者的支持,盡管不能覆蓋所有硬件,但在一定范圍內(nèi)可以大大減少嵌入式系統(tǒng)開發(fā)的工作量。

          (2)在上一步的基礎上,采用類似Linux內(nèi)核配置的方法(如make menuconfig或make xconfig),用終端式的配置菜單對具體硬件進行設置,減少移植過程中代碼級的修改。

          在實驗過程中實現(xiàn)了在PXA255目標板及SA1110目標板的移植。此項已經(jīng)應用在清華大學精密測試技術(shù)與儀器國家重點實驗室的嵌入式生物特征識別平臺上,可以實現(xiàn)、內(nèi)核鏡像、文件系統(tǒng)鏡像的下載及內(nèi)核的引導。


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 无为县| 津市市| 黎川县| 依兰县| 西和县| 呼图壁县| 玉环县| 静乐县| 纳雍县| 福清市| 平安县| 左贡县| 建平县| 噶尔县| 兴安盟| 仲巴县| 凭祥市| 和硕县| 满洲里市| 红原县| 天津市| 广州市| 西林县| 民丰县| 赤城县| 文安县| 汾阳市| 晋城| 谢通门县| 曲松县| 陆良县| 城口县| 蒙山县| 根河市| 荔波县| 孟津县| 临潭县| 肇州县| 都江堰市| 盱眙县| 岗巴县|