基於海思Hi3516dv300的u-boot-2016.11分析


1.先看鏈接腳本文件u-boot.lds ,文件位於u-boot-2016.11\arch\arm\cpu\armv7\hi3516dv300\hw_compressed

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)                 /* 設置輸出文件的架構體系為arm架構 */
ENTRY(_start)                    /* 將_start的值設置為入口地址 */
SECTIONS
{
    . = 0x80700000;
    __image_copy_start =.;          /* 鏡像起始地址 = 0x80700000 */
    . = ALIGN(4);
    .text    :                      /* 代碼段 */
    {
        __text_start = .;
        start.o (.text*)
        init_registers.o (.text*)
        lowlevel_init_v300.o (.text*)
        ddr_training_impl.o (.text*)
        ddr_training_console.o (.text*)
        ddr_training_ctl.o (.text*)
        ddr_training_boot.o (.text*)
        ddr_training_custom.o (.text*)
        uart.o (.text*)
        div0.o (.text*)
        emmc_boot.o (.text*)
        image_data.o (.text*)
            startup.o(.text*)
            reset.o(.text*)
        __init_end = .;
        ASSERT(((__init_end - __text_start) < 0x6000), "init sections too big!");
        *(.text*)
    }
    __text_end = .;

    . = ALIGN(4);
    .image : { *(.image) }

    . = ALIGN(4);
    .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }           /* 只讀數據段 */

    . = ALIGN(4);
    .data : { *(.data) }                                                 /* 數據段 */

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

    . = ALIGN(4);
    __image_copy_end =.;
    __bss_start = .;
    .bss : { *(.bss) }                                                   /* bss段 */
    __bss_end = .;
    _end = .;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM