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)推薦
一文讀懂MSA(測(cè)量系統(tǒng)分析)
發(fā)表于 11-01 11:08
?684次閱讀
嵌入式系統(tǒng)的啟動(dòng)流程是一個(gè)復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動(dòng)的多個(gè)階段。
發(fā)表于 10-05 17:44
?257次閱讀
這里接前一章節(jié),繼續(xù)迪文屏的開發(fā),前章主要講解基礎(chǔ)開發(fā)流程,此章節(jié)開始講解迪文ModBus協(xié)議棧的使用方法。前文指路:《迪文串口屏基礎(chǔ)GUI
發(fā)表于 07-19 08:21
?410次閱讀
我有一個(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)流程總的來說可以分成三個(gè)階段 Linux啟動(dòng)流程圖 ? 第一步:上電 ?在 x86 系統(tǒng)中,將 1M 空間最上面的 0xF00
發(fā)表于 05-11 08:49
?583次閱讀
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)流程,包括 Boot ROM、Mask ROM、U-Boot、Linux 內(nèi)核等。 Boot ROM 階段: 在 Rockchip 系統(tǒng)啟動(dòng)的第一階段,處
發(fā)表于 01-04 15:54
?1186次閱讀
圖,詳細(xì)分析可以參考上篇博文。其中以下流程執(zhí)行secondary cpu啟動(dòng)相關(guān)的一些初始化工作: 在初始化完成且hotplug線程創(chuàng)建完成
發(fā)表于 12-05 17:41
?734次閱讀
之前對(duì)這個(gè)uboot的源碼了解有些許遺忘。最近做AVB校驗(yàn),需要uboot到kernel的這個(gè)過程。這里再復(fù)習(xí)一下。 與大多數(shù)BootLoader一樣,
發(fā)表于 12-04 17:53
?2788次閱讀
1.啟動(dòng)延時(shí) 如果配置了啟動(dòng)延遲功能,U-Boot等待用戶從控制臺(tái)(一般為串口)輸入字符,等待的時(shí)間由頂層配置文件中的宏定義 CONFIG_BOOTDELAY 決定 。在此期間,只要用戶按下任意按鍵
發(fā)表于 12-04 17:16
?1407次閱讀
0x40。 (這里你應(yīng)該知道了為什么要使用bootm命令,以及為什么要是有uImage格式) 在前面我們?cè)?jīng)分析過Uboot的啟動(dòng)流
發(fā)表于 12-04 17:09
?378次閱讀
首先我們知道kernel的鏡像最開始是壓縮的zImage格式的存在,然后Uboot有工具mkimage把其轉(zhuǎn)換為uImage。 什么?不知道?好,那我先給你整兩幅圖瞅瞅,你就知道了! 億圖這個(gè)水印
發(fā)表于 12-04 17:02
?457次閱讀
一文詳解pcb不良分析
發(fā)表于 11-29 17:12
?1108次閱讀
第一階段:主要是SOC內(nèi)部的初始化,板級(jí)的初始化比較少,所以移植的修改量比較小。此階段由匯編語言編寫,代碼主體分布在/uboot/cpu/s5pc11x/start.S和/uboot/board/samsung/x210/low
發(fā)表于 11-27 10:24
?3191次閱讀
。 Spring Boot 的啟動(dòng)流程可以分為以下幾個(gè)步驟:初始化啟動(dòng)環(huán)境、加載自動(dòng)配置類、創(chuàng)建 Spring 上下文、啟動(dòng)嵌入式服務(wù)器。 初始化啟
發(fā)表于 11-22 16:04
?624次閱讀
評(píng)論