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

Posted liuxinyong236

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于海思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 = .;
}

 

以上是关于基于海思Hi3516dv300的u-boot-2016.11分析的主要内容,如果未能解决你的问题,请参考以下文章

海思芯片(hi3516dv300)uboot启动过程分析

海思Hi3516DV300---部署yolov5检测+Sort跟踪算法

设置海思芯片MMZ内存OS内存详解

Hi3516开发笔记:海思HI3516DV300芯片介绍,入手开发板以及Demo测试

海思Hi3516DV300之Ubuntu20.04环境搭建和编译

海思Hi3516DV300之Ubuntu20.04环境搭建和编译