99久久久久国产-99久久久久国产精品免费-99久久久久久久-99久久久免费精品免费-99久久免费费视频在线观看

131 1300 0010
行業(yè)動(dòng)態(tài)
  • 導(dǎo)航欄目
  • 產(chǎn)品新聞
  • 企業(yè)新聞
  • 行業(yè)動(dòng)態(tài)
  • U-Boot架構(gòu)淺析之u-boot架構(gòu)的特點(diǎn)分析
    U-Boot架構(gòu)淺析之u-boot架構(gòu)的特點(diǎn)分析
  • U-Boot架構(gòu)淺析之u-boot架構(gòu)的特點(diǎn)分析
  •   發(fā)布日期: 2020-04-01  瀏覽次數(shù): 1,461

     導(dǎo)讀:嵌入式Linux系統(tǒng)搭建,bootloader是必不可少的一環(huán),而U-Boot已成嵌入式Linux事實(shí)標(biāo)準(zhǔn)。所以較為深入的分析U-Boot的設(shè)計(jì),對(duì)于更好的理解U-Boot的工作原理有著重要意義。

      1. U-Boot簡(jiǎn)介

     

      Das U-Boot 是一個(gè)主要用于嵌入式系統(tǒng)的引導(dǎo)加載程序,可以支持多種不同的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),包括PPC、ARM、AVR32、MIPS、x86、68k、Nios與MicroBlaze。這也是一套在GNU通用公共許可證之下發(fā)布的自由軟件。《百度百科》

      見(jiàn)http://www.denx.de/wiki/U-Boot

      如其官網(wǎng)上所述,具有十大黃金法則:小巧、快速、簡(jiǎn)單、可移植、可配置、可調(diào)試、易用、可維護(hù)、優(yōu)雅、開(kāi)源。

      (1. Keep it Small,2. Keep it Fast,3. Keep it Simple,4. Keep it Portable;5. Keep it Configurable;6. Keep it Debuggable;7. Keep it Usable;8. Keep it Maintainable;9. Keep it Beautiful;10. Keep it Open)

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

      廢話說(shuō)了蠻多,Let‘s go:

      2. U-Boot文件夾拓?fù)浣Y(jié)構(gòu)

      基于u-boot-u-boot-2016.09.y的文件夾結(jié)構(gòu)如下:

      

      arch 體系架構(gòu)依賴

      api 機(jī)器架構(gòu)獨(dú)立API,外部調(diào)用接口

      實(shí)現(xiàn)I/O,如標(biāo)準(zhǔn)化輸入輸出,顯示,網(wǎng)絡(luò)API、存儲(chǔ)API等,為cmd提供支持

      board 板級(jí)依賴實(shí)現(xiàn)。

      cmd shell命令實(shí)現(xiàn)

      common 與架構(gòu)無(wú)關(guān)的雜項(xiàng)獨(dú)立功能

      configs 板級(jí)配置文件

      disk 磁盤分區(qū)實(shí)現(xiàn)

      doc 文檔

      drivers 通用設(shè)備驅(qū)動(dòng)程序

      examples 應(yīng)用示例代碼

      fs 文件系統(tǒng)實(shí)現(xiàn)(cramfs,ext2,jffs等)

      include 頭文件

      lib 通用庫(kù)

      license

      net 網(wǎng)絡(luò)通訊實(shí)現(xiàn)

      post 上電自檢是實(shí)現(xiàn)

      scripts 構(gòu)建腳本以及Makefile

      tests 各種單元測(cè)試

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

      3. 項(xiàng)目管理

      U-Boot采用Kconfig進(jìn)行項(xiàng)目管理,實(shí)現(xiàn)可裁剪可配置,新版U-Boot已支持make menuconfig功能,實(shí)現(xiàn)了易用的設(shè)計(jì)目標(biāo)。其配置界面與內(nèi)核一樣。

      

      4. 模塊層次架構(gòu)分析

      

      arch 實(shí)現(xiàn)了不同體系結(jié)構(gòu)的CPU,指令集、設(shè)備樹(shù)底層抽象,利用鏈接綁定實(shí)現(xiàn)了符號(hào)入口相對(duì)位置保持不變,故才能實(shí)現(xiàn)將內(nèi)核鏡像拷貝到內(nèi)存然后進(jìn)行引導(dǎo)的功能。lib實(shí)現(xiàn)了初始化C運(yùn)行時(shí)環(huán)境(棧/堆指針等的初始化),dts實(shí)現(xiàn)了設(shè)備樹(shù)的底層體系架構(gòu)依賴的具體抽象剝離

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

      board, 實(shí)現(xiàn)了產(chǎn)業(yè)鏈下游,設(shè)備廠商的差異性,對(duì)于產(chǎn)品設(shè)計(jì)而言,需要將各自在boot階段需要嚴(yán)格初始化的實(shí)現(xiàn)放在這里,比如IO口的初始化,產(chǎn)品中大部分IO口必須顯式設(shè)置其初始狀態(tài)。

      driver 這里實(shí)現(xiàn)了boot階段必要的設(shè)備驅(qū)動(dòng),如網(wǎng)口、顯示等。

      dts 實(shí)現(xiàn)了設(shè)備樹(shù)

      api 實(shí)現(xiàn)了基本的IO,如標(biāo)準(zhǔn)化輸入輸出,顯示,網(wǎng)絡(luò)API、存儲(chǔ)API等,為cmd提供支持。

      disk 實(shí)現(xiàn)了輕量級(jí)磁盤管理

      fs 文件系統(tǒng)實(shí)現(xiàn)(cramfs,ext2,jffs等)

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

      cmd 實(shí)現(xiàn)了U-Boot命令集。

      net 實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議層

      cmd shell命令集,調(diào)用下層實(shí)現(xiàn)用戶接口功能,如下載,引導(dǎo),存儲(chǔ)環(huán)境變量,打印信息等。

      common 是U-Boot 主體,如系統(tǒng)停留在U-Boot階段,CPU始終在執(zhí)行一個(gè)死循環(huán),run_main_loop()。

      5.基于armv8無(wú)SPL的啟動(dòng)流程分析

      5.1 匯編程序執(zhí)行階段

      

      5.2 C執(zhí)行階段

      board_init_r的調(diào)用,進(jìn)入C執(zhí)行階段,如下:

      

      至此,粗淺的將U-Boot的架構(gòu)設(shè)計(jì)分析了一下。還有很多設(shè)計(jì)細(xì)節(jié)有待深挖。文中僅代表個(gè)人理解觀點(diǎn),錯(cuò)誤在所難免,歡迎交流。


  • ·上一篇:
    ·下一篇:
  • 其他關(guān)聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機(jī):131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權(quán)所有:Copyright?2010-2023 www.qingjujia.cn 電話:13113000010 粵ICP備2021111333號(hào)
    主站蜘蛛池模板: 乱人xxx国语对白91| 免费级毛片| 亚洲国产精品免费| 小泽玛利亚一区二区| videosg最新欧美另类| 日韩亚洲制服丝袜中文字幕| 国产日韩久久| 国产精品播放| 你懂的最新网址| 一级片成人| 青青草国产三级精品三级| 99久久99这里只有免费的精品| 国产乱弄视频在线观看| 网红福利在线| 大毛片| 麻豆视频在线免费| 黄污视频免费观看| 欧美成人精品福利在线视频| 毛片在线网| 伊人婷婷色香五月综合缴缴情| 久久成人国产精品免费| 美国一级毛片免费看成人| 免费看一片| 久久国产这里只有精品| 色综合中文字幕| 91麻豆国产在线观看| 欧美精品亚洲精品日韩经典| 日韩精品欧美在线| 亚洲欧美精选| 久久精品国产999大香线焦| 美国一级做a爰片性色毛片| 亚洲精品资源在线| 91青青青青青爽在线| 激情五月色婷婷| 国产精品免费视频播放| 在线观看精品国产| 91网站桃色| 高清免费国产在线观看| 国产一区二区视频在线| 日韩在线视频免费观看| 五月亭亭六月丁香|