国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 基礎常識 > 正文

詳解uboot各目錄下的文件作用

2020-02-03 22:09:35
字體:
來源:轉載
供稿:網友

uboot下載地址:http://ftp.denx.de/pub/u-boot/

1、目錄分布

2、目錄結構變化:

u-boot-2010.03及以前版本

├── api                存放uboot提供的接口函數
├── board              根據不同開發板定制的代碼,代碼也不少
├── common             通用的代碼,涵蓋各個方面,已命令行處理為主
├── cpu                與體系結構相關的代碼,uboot的重頭戲
├── disk                磁盤分區相關代碼
├── doc                文檔,一堆README開頭的文件
├── drivers            驅動,很豐富,每種類型的設備驅動占用一個子目錄
├── examples           示例程序
├── fs                 文件系統,支持嵌入式開發板常見的文件系統
├── include            頭文件,已通用的頭文件為主
├── lib_【arch】        與體系結構相關的通用庫文件
├── nand_spl           NAND存儲器相關代碼
├── net                網絡相關代碼,小型的協議棧
├── onenand_ipl
├── post               加電自檢程序
└── tools              輔助程序,用于編譯和檢查uboot目標文件

從u-boot-2010.06版本開始把體系結構相關的內容合并,原先的cpu與lib_arch內容全部納入arch中,并且其中增加inlcude文件夾;分離出通用庫文件lib。u-boot-2010.06及以后版本

├── api                存放uboot提供的接口函數
├── arch               與體系結構相關的代碼,uboot的重頭戲
├── board              根據不同開發板定制的代碼,代碼也不少
├── common             通用的代碼,涵蓋各個方面,已命令行處理為主
├── disk                磁盤分區相關代碼
├── doc                文檔,一堆README開頭的文件
├── drivers            驅動,很豐富,每種類型的設備驅動占用一個子目錄
├── examples           示例程序
├── fs                 文件系統,支持嵌入式開發板常見的文件系統
├── include            頭文件,已通用的頭文件為主
├── lib                通用庫文件
├── nand_spl           NAND存儲器相關代碼
├── net                網絡相關代碼,小型的協議棧
├── onenand_ipl
├── post               加電自檢程序
└── tools              輔助程序,用于編譯和檢查uboot目標文件

3、移植工作涉及的目錄情況

從uboot代碼根目錄,可以看出其已經非常龐大,功能也很豐富。

移植工作最主要的是看對應的處理器和開發板代碼,2010.06版本以后處理器相關的代碼集中在arch、board目錄。(以前版本主要在cpu和board目錄)

先看一下arch目錄:

arch
├── arm
├── avr32
├── blackfin
├── i386
├── m68k
├── microblaze
├── mips
├── nios2
├── powerpc
├── sh
└── sparc

如果我們移植的是mips的處理器,所以參考一下arch/mips目錄:

arch/mips
├── cpu
├── include
└── lib

arch/mips目錄下有三個目錄,其他的處理器目錄下也是這個結構:

cpu子目錄對應一種處理器的不同產品型號或者系列;

include子目錄是處理器用到的頭文件;

lib目錄對應用到處理器公用的代碼;

下面看看cpu下的內容,arch/mips/cpu目錄下的內容:

arch/mips/cpu
├── asc_serial.c
├── asc_serial.h
├── au1x00_eth.c
├── au1x00_serial.c
├── au1x00_usb_ohci.c
├── au1x00_usb_ohci.h
├── cache.S
├── config.mk
├── cpu.c
├── incaip_clock.c
├── incaip_wdt.S
├── interrupts.c
├── Makefile
└── start.S          整個uboot代碼入口點

目前最新版本(2011.6版本開始)中cpu目錄中建立mips32目錄,把incaip和au1x00也分類放在不同的目錄中。

u-boot.lds是ld程序也就是連接器的腳本文件,這個文件描述了如何連接目標文件,ld程序會根據這個文件的指示按照需求把不同的目標文件連接在一起生成供燒寫到開發板的程序。

該文件放在board對應的目錄中。

4、移植u-boot的版本選擇情況

由于u-boot的各版本沒有重大變化,各版本移植起來基本相同,也正因為如此,大多數版本均有人移植過,主要是arm體系結構的。

如cortex A8使用 u-boot-1.3.4;cortex M3 上u-boot-1.1.6、u-boot-1.2.0等均有人移植過。

考慮到我們目前的編譯器較新,編譯舊版本u-boot時會出現錯誤,警告也很多;新版本的u-boot目錄結構也較清晰,因此選用較新版本的u-boot。

最新版本(2011.06)Makefile中沒有mips的部分,不知道為什么。(2011.03版本中同樣也是)

u-boot-2010.12的Makefile沒有問題,編譯incaip通過,沒有任何警告和錯誤,因此最終選擇u-boot-2010.12作為我們的移植版本。

以上所述是小編給大家介紹的uboot各目錄下的文件作用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德阳市| 额敏县| 永川市| 莱州市| 长垣县| 安西县| 井冈山市| 曲阳县| 石阡县| 水富县| 城步| 佳木斯市| 故城县| 葵青区| 江西省| 长沙县| 泽州县| 龙陵县| 金平| 柞水县| 洪泽县| 丰都县| 清河县| 台山市| 新营市| 木兰县| 保康县| 商水县| 大兴区| 呼玛县| 民勤县| 青川县| 额尔古纳市| 额敏县| 新乡市| 定西市| 大关县| 新乡市| 讷河市| 聂拉木县| 翁牛特旗|