色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

麥辣雞腿堡 ? 來源:TrustZone ? 作者:Hcoco ? 2023-12-04 17:53 ? 次閱讀

之前對這個uboot的源碼了解有些許遺忘。最近做AVB校驗,需要uboot到kernel的這個過程。這里再復習一下。

與大多數BootLoader一樣,uboot的啟動過程分為BL1和BL2兩個階段。

BL1階段通常是開發板的配置等設備初始化代碼,需要依賴依賴于SoC體系結構,通常用匯編語言來實現;

BL2階段主要是對外部設備如網卡、Flash等的初始化以及uboot命令集等的自身實現,通常用C語言來實現。

1、BL1階段

uboot的BL1階段代碼通常放在start.s文件中,用匯編語言實現,其主要代碼功能如下:

? (1) 指定uboot的入口。在鏈接腳本uboot.lds中指定uboot的入口為start.S中的_start。

? (2)設置異常向量(exception vector)

? (3)關閉IRQ、FIQ,設置SVC模式

? (4)關閉L1 cache、設置L2 cache、關閉MMU

? (5)根據OM引腳確定啟動方式

? (6)在SoC內部SRAM中設置棧

? (7)lowlevel_init(主要初始化系統時鐘SDRAM初始化、串口初始化等)

? (8)設置開發板供電鎖存

? (9)設置SDRAM中的棧

? (10)將uboot從SD卡拷貝到SDRAM中

? (11)設置并開啟MMU

? (12)通過對SDRAM整體使用規劃,在SDRAM中合適的地方設置棧

? (13)清除bss段,遠跳轉到start_armboot執行,BL1階段執行完

2、BL2階段

start_armboot函數位于lib_arm/board.c中,是C語言開始的函數,也是BL2階段代碼中C語言的 主函數,同時還是整個u-boot(armboot)的主函數,BL2階段的主要功能如下:

? (1)規劃uboot的內存使用

? (2)遍歷調用函數指針數組init_sequence中的初始化函數

? (3)初始化uboot的堆管理器mem_malloc_init

? (4)初始化SMDKV210開發板的SD/MMC控制器mmc_initialize

? (5)環境變量重定位env_relocate

? (6)將環境變量中網卡地址賦值給全局變量的開發板變量

? (7)開發板硬件設備的初始化devices_init

? (8)跳轉表jumptable_init

? (9)控制臺初始化console_init_r

? (10)網卡芯片初始化eth_initialize

? (11)uboot進入主循環main_loop

這里主要對第二個階段BL2進行一個分析。

3、start_armboot函數分析

start_armboot函數的主要功能如下:

? (1)遍歷調用函數指針數組init_sequence中的初始化函數

依次遍歷調用函數指針數組init_sequence中的函數,如果有函數執行出錯,則執行hang函數,打印出”### ERROR ### Please RESET the board ###”,進入死循環。

? (2)初始化uboot的堆管理器mem_malloc_init

? (3)初始化SMDKV210的SD/MMC控制器mmc_initialize

? (4)環境變量重定位env_relocate

? (5)將環境變量中網卡地址賦值給全局變量的開發板變量

? (6)開發板硬件設備的初始化devices_init

? (7)跳轉表jumptable_init

? (8)控制臺初始化console_init_r

? (9)網卡芯片初始化eth_initialize

? (10)uboot進入主循環main_loop

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • soc
    soc
    +關注

    關注

    38

    文章

    4199

    瀏覽量

    218796
  • 函數
    +關注

    關注

    3

    文章

    4345

    瀏覽量

    62870
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    97973
  • Uboot
    +關注

    關注

    4

    文章

    125

    瀏覽量

    28293
收藏 人收藏

    評論

    相關推薦

    tiny210上uboot啟動分析

    (0xd002_0000處,其中0xd002_0010之前的16字節儲存BL1的校驗信息和BL1尺寸)中,并對BL1進行校驗,校驗OK轉入BL1
    發表于 06-27 17:04

    【OK210試用體驗】S5PV210 IROM BL0啟動

    ,在啟動引導階段兩個作用:一是IROM運行時使用的數據變量所在的區域,二是IROM,即BL0會將外存中的BL1引導到該區域中。因為IROM
    發表于 07-23 15:35

    【OK210試用體驗】+ 《uboot啟動過程分析》

    ,其中0xd002_0010之前的16字節存儲的的BL1的校驗信息和BL1尺寸)中,并對BL1進行校驗,檢驗OK轉入BL1進行執行;
    發表于 08-25 12:36

    【OK210試用體驗】+ 《uboot啟動過程分析》

    (DDR);BL2加載內核,把OS在SDRAM中運行起來,最終OS是運行在SDRAM(內存)中的。在這個過程中,u-boot需要初始化的硬件是CPU和DDR,所以,這兩個硬件必須在u-boot階段就做
    發表于 08-26 21:12

    【NanoPi M2試用體驗】+SD卡啟動BL1拷貝BL2到DDR2中運行

    裸機程序SD卡啟動BL1拷貝BL2到DDR2中運行;代碼的拷貝會用到一些指針函數,第一參數為SD卡存放
    發表于 06-11 17:03

    S5PV210uboot啟動過程分析

    BL1 尺寸)中,并對 BL1 進行校驗,校驗 OK 轉入 BL1 進行執行; BL1 繼續初始化,并將 BL2 復制到 IRAM 中并
    發表于 11-15 10:50

    自制s5pv210啟動ubootBL1代碼

    自制s5pv210啟動ubootBL1代碼
    發表于 02-10 23:21

    關于iTop4412 iROM階段啟動流程簡析

    iTop4412 irom啟動和Exynos4212 iROM Booting Guide是一樣的。iROM階段啟動流程本次介紹如何構建Exynos4412中的
    發表于 04-21 11:45

    TF-A的不同啟動階段有哪些

    不同的啟動階段,按照鏈式結構依次啟動,ATF 代碼啟動流程如圖所示: 當芯片復位以后首先運行 bl1 代碼,
    的頭像 發表于 09-11 16:54 ?975次閱讀
    TF-A的不同<b class='flag-5'>啟動</b><b class='flag-5'>階段</b>有哪些

    啟動(Cold boot)流程及階段劃分

    restart--冷啟動 reset--熱啟動 ATF冷啟動實現分為5步驟: ? BL1 - AP Trusted ROM,一般為Boot
    的頭像 發表于 11-07 15:17 ?2581次閱讀
    冷<b class='flag-5'>啟動</b>(Cold boot)流程及<b class='flag-5'>階段</b>劃分

    code層面 ATF中bl1啟動

    系統上電之后首先會運行ChipRom,之后會跳轉到ATF的bl1中繼續執行。bl1主要初始化CPU、設定異常向量、將bl2的鏡像加載到安全RAM中,然后跳轉到bl2中開始運行。
    的頭像 發表于 11-07 15:53 ?1145次閱讀
    code層面 ATF中<b class='flag-5'>bl1</b>的<b class='flag-5'>啟動</b>

    ATF中bl2啟動

    bl2_entrypoint。該函數定義在bl2/aarch64/bl2_entrypoint.S文件中。該階段的執行流程如圖所示。 bl2
    的頭像 發表于 11-07 15:59 ?875次閱讀
    ATF中<b class='flag-5'>bl2</b>的<b class='flag-5'>啟動</b>

    ATF中如何用函數完成bl2啟動

    bl2_main函數 bl2_main函數完成了bl2階段的主要操作,包括 ? 對下一階段鏡像
    的頭像 發表于 11-07 16:04 ?748次閱讀

    ATF中bl2bl31的跳轉介紹

    bl2bl31的跳轉 在bl2_main函數中最終會調用smc(BL1_SMC_RUN_IMAGE,(unsigned long)next_bl
    的頭像 發表于 11-07 16:09 ?1017次閱讀

    armv8 u-boot的啟動介紹

    先看arm官網提供的一張圖: 上圖詳細概括了arm官方推薦的armv8的啟動層次結構: 官方將啟動分為了BL1BL2BL31,
    的頭像 發表于 12-07 11:09 ?2400次閱讀
    armv8 u-boot的<b class='flag-5'>啟動</b><b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 美国女孩毛片 | 亚洲国产中文字幕在线视频 | 野花视频在线观看免费 | 6080yy 久久 亚洲 日本 | 区产品乱码芒果精品P站在线 | 欧美自拍亚洲综合图区 | 少妇无码太爽了视频在线播放 | 全身无赤裸裸美女网站 | 果冻传媒在线观看完整版免费 | 国产精品一区二区制服丝袜 | 日韩男明星 | 偷偷鲁青春草原视频 | 伊人天天躁夜夜躁狠狠 | 国产亚洲精品网站在线视频 | 国产精品日本一区二区在线播放 | 拔萝卜电视剧高清免费 | 成人国产在线不卡视频 | 色欲精品国产AV久久久 | 97视频免费上传播放 | 亚洲欧美日韩在线观看一区二区三区 | 3D动漫网站HOXXXxes | 亚洲国产中文在线视频免费 | 男女久久久国产一区二区三区 | 护士12p | 97国产蝌蚪视频在线观看 | 手机在线看片欧美亚洲 | 女朋友的妈妈在线观看 | 成年视频国产免费观看 | 大陆极品少妇内射AAAAAA | 国产在线精品亚洲第一区 | 含羞草传媒在线观看 | 伊人久久大香线蕉无码麻豆 | 伊人网综合在线观看 | 午夜国产大片免费观看 | 迅雷成人论坛 | 91popny蜜桃臀| 国产高潮国产高潮久久久久久 | 天美传媒在线观看免费完整版 | 极品少妇高潮啪啪AV无码 | 亚洲国产AV精品一区二区蜜芽 | 国产毛A片久久久久久无码 国产毛A片啊久久久久久A |