91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

uboot源碼結(jié)構(gòu)介紹

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:內(nèi)核新視界 ? 2023-12-07 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

首先引用wiki上的簡介:

u-boot 是一個主要用于嵌入式系統(tǒng)的引導(dǎo)加載程序,可以支持多種不同的計算機系統(tǒng)結(jié)構(gòu)。

u-boot最先是由德國DENX軟件中心團隊開發(fā),后續(xù)眾多有志于開放源碼bootloader移植工作的嵌入式開發(fā)人員將各個不同系列嵌入式處理器的移植工作不斷展開和深入,

以支持了更多的嵌入式操作系統(tǒng)的裝載與引導(dǎo)。

選擇u-boot的理由:

? 開放源碼;

? 支持多種嵌入式操作系統(tǒng)內(nèi)核的引導(dǎo),如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android;支持多個處理器系列,如PowerPC、ARM、x86、MIPS;

? 較高的可靠性和穩(wěn)定性;高度靈活的功能設(shè)置,適合U-Boot調(diào)試、操作系統(tǒng)不同引導(dǎo)要求、產(chǎn)品發(fā)布等;

? 豐富的設(shè)備驅(qū)動源碼,如串口、以太網(wǎng)、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、鍵盤等;

? 較為豐富的開發(fā)調(diào)試文檔與強大的網(wǎng)絡(luò)技術(shù)支持;

? 基于以上理由本篇文章對現(xiàn)在主流的armv8架構(gòu)的u-boot啟動流程進行詳細分析,以便所有人快速學(xué)習(xí)和理解u-boot的工作流程。

u-boot源碼結(jié)構(gòu)

這里只對一些常用的目錄進行說明:

? arch:各種架構(gòu)的啟動初始化流程代碼,鏈接腳本等均在此目錄對應(yīng)的架構(gòu)中存放;

? board:包含了大部分廠商的board初始化代碼,基本平臺化相關(guān)的代碼都在對應(yīng)的board目錄中,早期的一些board代碼在arch/xxx/xxx-+ mach中,現(xiàn)在基本不會放在arch目錄下面了;

? cmd:包含了大量實用的u-boot命令的實現(xiàn),比如md,cp,cmp,tftp,fastboot,ext4load等命令的實現(xiàn),我們也可以在此處添加自己實現(xiàn)的命令;

? common:包含了u-boot的核心初始化代碼,包括board_f,board_r,spl等一系列代碼;

? configs:包含了所有board的配置文件,可直接使用;

? drivers:大量驅(qū)動代碼的存放處;

? dts:編譯生成dtb,內(nèi)嵌dtb到u-boot的編譯規(guī)則定義目錄;

? env:環(huán)境變量功能實現(xiàn)代碼;

? fs:文件系統(tǒng)讀寫功能的實現(xiàn),里面包含了各類文件系統(tǒng)的實現(xiàn);

? include:所有公用頭文件的存放路徑;

? lib:大量通用功能實現(xiàn),提供給各個模塊使用;

? net:網(wǎng)絡(luò)相關(guān)功能的實現(xiàn);

? scripts:編譯,配置文件的腳本文件存放處;

? tools:測試和實用工具的實現(xiàn),比如mkimage的實現(xiàn)代碼在此處;

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9553

    瀏覽量

    391902
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3747

    瀏覽量

    133639
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7807

    瀏覽量

    93203
  • Uboot
    +關(guān)注

    關(guān)注

    4

    文章

    131

    瀏覽量

    29940
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    iTOP-3588開發(fā)板Android12源碼定制開發(fā)uboot開發(fā)

    iTOP-3588開發(fā)板Android12源碼定制開發(fā)uboot開發(fā)
    的頭像 發(fā)表于 06-06 11:46 ?2952次閱讀
    iTOP-3588開發(fā)板Android12<b class='flag-5'>源碼</b>定制開發(fā)<b class='flag-5'>uboot</b>開發(fā)

    嵌入式學(xué)習(xí)-ElfBoard ELF 1板卡- Uboot目錄結(jié)構(gòu)介紹

    我們將ELF1開發(fā)板資料包\\\\02-Linux 源代碼\\\\出廠內(nèi)核和uboot源碼\\\\uboot源碼\\\\uboot-imx-
    發(fā)表于 01-26 15:24

    I.MX6ULL-ElfBoard ELF1板卡- Uboot目錄結(jié)構(gòu)介紹

    我們將ELF1開發(fā)板資料包\\\\02-Linux 源代碼\\\\出廠內(nèi)核和uboot源碼\\\\uboot源碼\\\\uboot-imx-
    發(fā)表于 01-26 15:27

    飛凌嵌入式ElfBoard ELF 1板卡-Uboot目錄結(jié)構(gòu)介紹

    我們將ELF 1開發(fā)板資料包\02-Linux 源代碼\出廠內(nèi)核和uboot源碼\uboot源碼\uboot-imx-2016.03-elf
    發(fā)表于 05-22 10:53

    uboot源碼怎么查看spiflash分區(qū)表

    請問 uboot 源碼怎么查看 spiflash 分區(qū)表在那個工程文件里面?因為我換了 spiflash
    發(fā)表于 06-21 07:27

    uboot源碼沒有文件該怎么打補丁?

    韋東山的執(zhí)行打補丁命令部分是打到u-boot-1.1.6/board/100ask24x0/100ask24x0.c文件上,但uboot源碼好像沒有這個文件,這時怎么打補丁的?
    發(fā)表于 08-08 05:45

    嵌入式學(xué)習(xí)丨4412開發(fā)板-uboot源碼-匯編-源碼分析(一)

    在第一章中,介紹了迅為4412 的 iROM、啟動方式、源碼組成等;在第二章中,介紹uboot 編譯等。通過前面對編譯的詳細分析,了解到 uboot
    發(fā)表于 07-28 10:40

    請問uboot源碼什么時候釋放?

    版主好,我們買了兩塊imx8mm, 請問uboot源碼什么時候釋放,我們想研究一下ATF和TEE。感覺開放的資料教程很少,
    發(fā)表于 12-31 07:08

    使用yocto生成的uboot和工具,將uboot源碼拷貝出來編譯沒有uboot.imx文件是為什么?

    使用yocto生成的uboot和工具。將uboot源碼拷貝出來編譯,沒有uboot.imx文件,只有uboot.bin文件。
    發(fā)表于 01-07 08:05

    uboot源碼分析,思路還算清晰

    uboot源碼分析,思路還算清晰
    發(fā)表于 10-24 15:25 ?19次下載
    <b class='flag-5'>uboot</b><b class='flag-5'>源碼</b>分析,思路還算清晰

    Uboot中start.S源碼的指令級的詳盡解析

    Uboot中start.S源碼的指令級的詳盡解析
    發(fā)表于 10-30 08:47 ?28次下載
    <b class='flag-5'>Uboot</b>中start.S<b class='flag-5'>源碼</b>的指令級的詳盡解析

    基于Algorand源碼中agreement的模塊結(jié)構(gòu)介紹

    本篇主要介紹Algorand源碼中關(guān)于agreement的模塊結(jié)構(gòu)及業(yè)務(wù)邏輯架構(gòu),也是源碼中比較難以理解的地方,其它諸如節(jié)點、區(qū)塊、密碼、P2P網(wǎng)絡(luò)的
    發(fā)表于 09-05 11:25 ?1241次閱讀
    基于Algorand<b class='flag-5'>源碼</b>中agreement的模塊<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>介紹</b>

    嵌入式Linux開發(fā)-uboot常用命令介紹(下篇)

    這篇文章是UBOOT命令介紹的下篇,接著上篇文章介紹剩下的幾個命令用法。
    的頭像 發(fā)表于 08-14 08:55 ?3718次閱讀

    怎么使用uboot引導(dǎo)應(yīng)用程序?

    uboot默認是支持執(zhí)行應(yīng)用程序的,就像引導(dǎo)內(nèi)核一樣,我們也可以自己寫一個應(yīng)用程序,讓uboot啟動時引導(dǎo)。
    的頭像 發(fā)表于 02-17 16:01 ?2842次閱讀
    怎么使用<b class='flag-5'>uboot</b>引導(dǎo)應(yīng)用程序?

    uboot的啟動BL1和BL2兩個階段介紹

    之前對這個uboot源碼了解有些許遺忘。最近做AVB校驗,需要uboot到kernel的這個過程。這里再復(fù)習(xí)一下。 與大多數(shù)BootLoader一樣,uboot的啟動過程分為BL1和
    的頭像 發(fā)表于 12-04 17:53 ?4998次閱讀