Uboot啓動流程

做者:曹忠明,華清遠見嵌入式學院講師。php

Uboot是嵌入式系統中最經常使用的bootloader,這裏咱們以s3c2410爲例分析一下uboot的啓動流程。首先經過uboot的連接文件,咱們能夠看到uboot運行是執行的第一段代碼在start.S中。url

ENTRY(_start)
        SECTIONS
        {
                . = 0x00000000;spa

        . = ALIGN(4);
                .text :
                {
                        cpu/arm920t/start.o (.text)
                        *(.text)
                }blog

        . = ALIGN(4);
                .rodata : { *(.rodata) }內存

        . = ALIGN(4);
                .data : { *(.data) }get

        . = ALIGN(4);
                .got : { *(.got) }cmd

        . = .;
                __u_boot_cmd_start = .;
                .u_boot_cmd : { *(.u_boot_cmd) }
                __u_boot_cmd_end = .;im

        . = ALIGN(4);
                 __bss_start = .;
                .bss : { *(.bss) }
                _end = .;
        }cpu

咱們找到這個文件,以這個文件爲起點看uboot的啓動流程。這裏咱們經過一個圖來講明這個過程。img

最後咱們把整個uboot在執行過程當中,代碼的搬移籍內存的使用狀況經過一個圖,來講明一下。

相關文章
相關標籤/搜索