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

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

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

一文分析Uboot啟動(dòng)流程

如意 ? 來源:CSDN ? 作者:曹忠明 ? 2020-06-20 10:03 ? 次閱讀

Uboot是嵌入式系統(tǒng)中最常用的bootloader,這里我們以s3c2410為例分析一下uboot的啟動(dòng)流程。首先通過uboot的鏈接文件,我們可以看到uboot運(yùn)行是執(zhí)行的第一段代碼在start.S中。

ENTRY(_start)

SECTIONS

{

。 = 0x00000000;

。 = ALIGN(4);

.text :

{

cpu/arm920t/start.o (.text)

*(.text)

}

。 = ALIGN(4);

.rodata : { *(.rodata) }

。 = ALIGN(4);

.data : { *(.data) }

。 = ALIGN(4);

.got : { *(.got) }

。 = 。;

__u_boot_cmd_start = 。;

.u_boot_cmd : { *(.u_boot_cmd) }

__u_boot_cmd_end = 。;

。 = ALIGN(4);

__bss_start = 。;

.bss : { *(.bss) }

_end = 。;

}

我們找到這個(gè)文件,以這個(gè)文件為起點(diǎn)看uboot的啟動(dòng)流程。這里我們通過一個(gè)圖來說明這個(gè)過程。

最后我們把整個(gè)uboot在執(zhí)行過程中,代碼的搬移籍內(nèi)存的使用情況通過一個(gè)圖,來說明一下。

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

    關(guān)注

    5059

    文章

    18975

    瀏覽量

    302075
  • Uboot
    +關(guān)注

    關(guān)注

    4

    文章

    125

    瀏覽量

    28127
  • Uboot代碼
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    4268
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    讀懂MSA(測(cè)量系統(tǒng)分析)

    讀懂MSA(測(cè)量系統(tǒng)分析)
    的頭像 發(fā)表于 11-01 11:08 ?684次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂MSA(測(cè)量系統(tǒng)<b class='flag-5'>分析</b>)

    嵌入式系統(tǒng)的啟動(dòng)流程

    嵌入式系統(tǒng)的啟動(dòng)流程個(gè)復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動(dòng)的多個(gè)階段。
    的頭像 發(fā)表于 10-05 17:44 ?257次閱讀

    串口屏ModBus開發(fā)流程

    這里接前章節(jié),繼續(xù)迪屏的開發(fā),前章主要講解基礎(chǔ)開發(fā)流程,此章節(jié)開始講解迪ModBus協(xié)議棧的使用方法。前文指路:《迪串口屏基礎(chǔ)GUI
    的頭像 發(fā)表于 07-19 08:21 ?410次閱讀
    迪<b class='flag-5'>文</b>串口屏ModBus開發(fā)<b class='flag-5'>流程</b>

    求助,關(guān)于TRAVEO MCU閃存啟動(dòng)流程的問題求解

    我有個(gè)關(guān)于 TRAVEO MCU 閃存啟動(dòng)流程的問題。 Q) 架構(gòu) TRM - 34.3.3 閃存啟動(dòng)流程,(6)、(8)、(9)、(10
    發(fā)表于 05-30 06:25

    Linux啟動(dòng)流程基本分析

    Linux啟動(dòng)流程總的來說可以分成三個(gè)階段 Linux啟動(dòng)流程圖 ? 第步:上電 ?在 x86 系統(tǒng)中,將 1M 空間最上面的 0xF00
    的頭像 發(fā)表于 05-11 08:49 ?583次閱讀
    Linux<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>流程</b>基本<b class='flag-5'>分析</b>

    Rockchip 3588 系統(tǒng)啟動(dòng)流程

    Rockchip 3588是款高性能、低功耗的ARM處理器,廣泛應(yīng)用于智能電視、智能音箱和車載娛樂系統(tǒng)等領(lǐng)域。在本文中,我們將深入探討Rockchip 3588的系統(tǒng)啟動(dòng)流程。 系統(tǒng)啟動(dòng)
    的頭像 發(fā)表于 01-07 16:08 ?2291次閱讀

    Rockchip 系統(tǒng)啟動(dòng)流程

    Rockchip 系統(tǒng)的啟動(dòng)流程,包括 Boot ROM、Mask ROM、U-Boot、Linux 內(nèi)核等。 Boot ROM 階段: 在 Rockchip 系統(tǒng)啟動(dòng)的第階段,處
    的頭像 發(fā)表于 01-04 15:54 ?1186次閱讀

    SMP多核secondary cpu啟動(dòng)流程

    圖,詳細(xì)分析可以參考上篇博。其中以下流程執(zhí)行secondary cpu啟動(dòng)相關(guān)的些初始化工作: 在初始化完成且hotplug線程創(chuàng)建完成
    的頭像 發(fā)表于 12-05 17:41 ?734次閱讀
    SMP多核secondary cpu<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>流程</b>

    uboot啟動(dòng)BL1和BL2兩個(gè)階段介紹

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

    Uboot啟動(dòng)延時(shí)和讀取命令行輸入

    1.啟動(dòng)延時(shí) 如果配置了啟動(dòng)延遲功能,U-Boot等待用戶從控制臺(tái)(般為串口)輸入字符,等待的時(shí)間由頂層配置文件中的宏定義 CONFIG_BOOTDELAY 決定 。在此期間,只要用戶按下任意按鍵
    的頭像 發(fā)表于 12-04 17:16 ?1407次閱讀

    Uboot命令實(shí)現(xiàn)大致流程

    0x40。 (這里你應(yīng)該知道了為什么要使用bootm命令,以及為什么要是有uImage格式) 在前面我們?cè)?jīng)分析Uboot啟動(dòng)
    的頭像 發(fā)表于 12-04 17:09 ?378次閱讀
    <b class='flag-5'>Uboot</b>命令實(shí)現(xiàn)大致<b class='flag-5'>流程</b>圖

    UBoot如何跳轉(zhuǎn)Kernel

    首先我們知道kernel的鏡像最開始是壓縮的zImage格式的存在,然后Uboot有工具mkimage把其轉(zhuǎn)換為uImage。 什么?不知道?好,那我先給你整兩幅圖瞅瞅,你就知道了! 億圖這個(gè)水印
    的頭像 發(fā)表于 12-04 17:02 ?457次閱讀
    <b class='flag-5'>UBoot</b>如何跳轉(zhuǎn)Kernel

    詳解pcb不良分析

    詳解pcb不良分析
    的頭像 發(fā)表于 11-29 17:12 ?1108次閱讀

    U-Boot啟動(dòng)過程概述 U-Boot啟動(dòng)代碼具體分析

    階段:主要是SOC內(nèi)部的初始化,板級(jí)的初始化比較少,所以移植的修改量比較小。此階段由匯編語言編寫,代碼主體分布在/uboot/cpu/s5pc11x/start.S和/uboot/board/samsung/x210/low
    的頭像 發(fā)表于 11-27 10:24 ?3191次閱讀
    U-Boot<b class='flag-5'>啟動(dòng)</b>過程概述 U-Boot<b class='flag-5'>啟動(dòng)</b>代碼具體<b class='flag-5'>分析</b>

    springboot啟動(dòng)流程

    。 Spring Boot 的啟動(dòng)流程可以分為以下幾個(gè)步驟:初始化啟動(dòng)環(huán)境、加載自動(dòng)配置類、創(chuàng)建 Spring 上下文、啟動(dòng)嵌入式服務(wù)器。 初始化
    的頭像 發(fā)表于 11-22 16:04 ?624次閱讀