<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          U-Boot在LPC2210上的移植分析

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

          5.4 board/dx2210開發(fā)板相關文件

          在這個目錄中主要包含dx2210.c、config.mk、flash.c、memsetup.S、u-boot.lds幾個文件。在 dx2210.c文件中主要工作為初始化開發(fā)板,在文件中編寫int board_init(void)函數(shù)定義各個復用I/O端口的信息、初始化RAM芯片等完成初始化工作。由于在u-boot代碼中是用抽象成一種結構體來描述開發(fā)板硬件信息以便于移植工作,因此在文件中修改:

          gd->bd->bi_arch_number=MACH_TYPE_; //開發(fā)板架構ID號

          gd->bd->bi_boot_params=0x81000100; //傳遞給ucinux內核的參數(shù)

          gd->bd->bi_dram[0].start=PHYS_SDRAM_1;

          gd->bd->bi_dram[0].size=PHYS_SDRAM_1_SIZE; //RAM內存配置

          u-boot.lds是給Linker程序使用的配置文件,主要修改部分:

          SECTIONS

          { .=0x80000000; //起始地址為0x80000000

          .=ALIGN(4); //4字節(jié)對齊

          .text :

          { cpu//start.o (.text)

          *(.text) //text段的起始是start.S的text段

          memsetup.S匯編文件主要是用來初始化RAM,在memsetup.S文件中配置開發(fā)板用到的存儲器組,然后根據(jù)MT45W4MW16芯片手冊驅動RAM;Flash芯片的驅動代碼在flash.c文件中,由于開發(fā)板的Flash芯片SST39VF160與B2開發(fā)板芯片相同,直接復制后即可。

          6.生成目標文件完成移植工作

          移植工作完成后在SHELL環(huán)境下依次運行如下命令:make clean; make dx2210_config;make。成功編譯后生成4個映像文件分別是:u-boot.hex文件: 映像原始的INTEL HEX格式文件;u-boot.map文件:y映像的符號表;u-boot.srec文件:映像的S-Record格式文件;System.map文件: U-Boot映像的符號表。使用Flash燒寫工具將u-boot.hex文件按照16進制格式下載到Nor Flash中,再將uclinux內核映像文件和根文件系統(tǒng)影響文件init.img燒寫到Nor Flash的指定地址后,可以看到如圖2所示的存儲空間分布:

          圖2 存儲空間映射

          其中u-boot映像文件存放在Flash的起始地址0x80000000處,相當于程序的邏輯地址0x0處與硬件確定的復位向量相符合;u-boot在stage2部分將Flash中的內核映像和根文件系統(tǒng)映像復制到從0x81008000開始的2MB內存范圍內,空出來的32K內存空間主要來存放uclinux內核的一些全局的數(shù)據(jù)結構,如啟動參數(shù)和內核頁表等信息。

          7.結束語

          本文首先闡述了引導程序得基本原理,在介紹了開放源代碼程序U-Boot軟件基礎上,以 ARM7處理器及其相關開發(fā)板為例,完成了U-Boot軟件的移植工作。前期的啟動引導程序的移植工作是嵌入式系統(tǒng)開發(fā)的重要環(huán)節(jié),在此基礎上可以更加深入的進行嵌入式系統(tǒng)開發(fā)。

          本文作者創(chuàng)新點:本文在詳細的分析U-Boot軟件的基礎上,針對U-Boot軟件本身并不支持的ARM7 LPC2210,本文介紹了在U-Boot軟件中添加相關代碼的方法并完成移植的實例,為更加深入的后續(xù)嵌入式開發(fā)打下良好基礎。

          參考文獻:

          [1] The Denx U-Boot and Linux Guide. http://www.denx.de/twiki/bin/view/DULG/Manual.

          [3] 周立功等.ARM嵌入式系統(tǒng)基礎教程[M].北京航空航天大學出版社.2005.1; 129-154

          [4] 孫瓊.嵌入式Linux應用程序開發(fā)詳解[M].人民郵電出版社.2006.7; 108-128

          [5] 白偉平,包啟亮.基于ARM的嵌入式Boot Loader淺析[J].微計算機信息,2006,4:99-100


          上一頁 1 2 3 下一頁

          關鍵詞: Bootloader U-Boot LPC2210

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();