日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1. U-Boot簡介

Das U-Boot 是一個主要用于嵌入式系統的引導加載程序,可以支持多種不同的計算機系統結構,包括 PPC、ARM、AVR32、MIPS、x86、68k、NIOS 與 MicroBlaze。這也是一套在GNU通用公共許可證之下發布的自由軟件。具有十大黃金法則:小巧、快速、簡單、可移植、可配置、可調試、易用、可維護、優雅、開源。

所以本文試圖從其設計的角度進行分析這些黃金法則,以期自己在軟件工程思想的角度能有所獲,同時也將自己筆記分享(Keep it open),方便與人交流,以期獲得更為深入的理解與體悟。

廢話說了蠻多,Let‘s go:

2. U-Boot 文件夾拓撲結構

基于 u-boot-u-boot-2016.09.y 的文件夾結構如下:

arch 體系架構依賴

api 機器架構獨立 API,外部調用接口

實現 I/O,如標準化輸入輸出,顯示,網絡 API、存儲 API 等,為 cmd 提供支持

board 板級依賴實現。

cmd shell 命令實現

common 與架構無關的雜項獨立功能

configs 板級配置文件

disk 磁盤分區實現

doc 文檔

drivers 通用設備驅動程序

examples 應用示例代碼

fs 文件系統實現(cramfs,ext2,jffs 等)

include 頭文件

lib 通用庫

license

net 網絡通訊實現

post 上電自檢是實現

scripts 構建腳本以及 Makefile

tests 各種單元測試

tools 生成 S-Record 或 U-Boot 映像的工具等。

3. 項目管理

U-Boot 采用 Kconfig 進行項目管理,實現可裁剪可配置,新版 U-Boot 已支持 make menuconfig 功能,實現了易用的設計目標。其配置界面與內核一樣。

淺析U-Boot構架設計

4. 模塊層次架構分析

淺析U-Boot構架設計

arch 實現了不同體系結構的 CPU,指令集、設備樹底層抽象,利用鏈接綁定實現了符號入口相對位置保持不變,故才能實現將內核鏡像拷貝到內存然后進行引導的功能。lib 實現了初始化 C 運行時環境(棧 / 堆指針等的初始化),dts 實現了設備樹的底層體系架構依賴的具體抽象剝離。

machine ,由于同樣的內核相同,各家芯片外設都不盡相同,所以將各自個性實現剝離實現于此,這主要體系在 ARM 體系的芯片,由于 ARM 公司售賣 IP,各家芯片廠商在內核的基礎上延伸出各自不同的芯片,所以需要將差異性剝離實現。

board, 實現了產業鏈下游,設備廠商的差異性,對于產品設計而言,需要將各自在 boot 階段需要嚴格初始化的實現放在這里,比如 IO 口的初始化,產品中大部分 IO 口必須顯式設置其初始狀態。

driver 這里實現了 boot 階段必要的設備驅動,如網口、顯示等。

dts 實現了設備樹

api 實現了基本的 IO,如標準化輸入輸出,顯示,網絡 API、存儲 API 等,為 cmd 提供支持。

disk 實現了輕量級磁盤管理

fs 文件系統實現(cramfs,ext2,jffs 等)

lib 通用庫,比如 CRC 算法,加密算法,壓縮算法,字符串操作等

cmd 實現了 U-Boot 命令集。

net 實現網絡協議層

cmd shell 命令集,調用下層實現用戶接口功能,如下載,引導,存儲環境變量,打印信息等。

common 是 U-Boot 主體,如系統停留在 U-Boot 階段,CPU 始終在執行一個死循環,run_main_loop。

5. 基于 armv8 無 SPL 的啟動流程分析

5.1 匯編程序執行階段

淺析U-Boot構架設計

5.2 C 執行階段

board_init_r 的調用,進入 C 執行階段,如下:

淺析U-Boot構架設計

至此,粗淺的將 U-Boot 的架構設計分析了一下。還有很多設計細節有待深挖。文中僅代表個人理解觀點。

分享到:
標簽:構架 Boot
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定