• lds 文件说明


    主要符号说明

    1. OUTPUT_FORMAT(bfdname)

    指定输出可执行文件格式.

    1. OUTPUT_ARCH(bfdname)

    指定输出可执行文件所运行 CPU 平台

    1. ENTRY(symbol)

    指定可执行文件的入口段

    段定义说明

    1.  段定义格式

    SECTIONS { ...

    段名 : {

    内容

    }

    ...

    }

    5.1.3 u­boot.lds 文件说明

    OUTPUT_FORMAT("elf32­littlearm", "elf32­littlearm", "elf32­littlearm")

    ;指定输出可执行文件是 elf 格式,32 位 ARM 指令,小端 OUTPUT_ARCH(arm)

    ;指定输出可执行文件的平台为 ARM

    ENTRY(_start)

    ;指定输出可执行文件的起始代码段为_start. SECTIONS

    {

    . = 0x00000000  ; 从 0x0 位置开始

    . = ALIGN(4) ; 代码以 4 字节对齐

    .text      :  ;指定代码段

    {

    cpu/arm920t/start.o   (.text) ; 代码的第一个代码部分

    *(.text) ;其它代码部分

    }

    . = ALIGN(4)

    .rodata : { *(.rodata) } ;指定只读数据段

    . = ALIGN(4);

    .data : { *(.data) } ;指定读/写数据段

    . = ALIGN(4);

    .got : { *(.got) } ;指定 got 段, got 段式是 uboot 自定义的一个段, 非标准段

        u_boot_cmd_start = . ;把  u_boot_cmd_start 赋值为当前位置, 即起始位置

    .u_boot_cmd : { *(.u_boot_cmd) } ;指定 u_boot_cmd 段, uboot 把所有的 uboot 命令放在该段.

        u_boot_cmd_end = .;把  u_boot_cmd_end 赋值为当前位置,即结束位置

    . = ALIGN(4);

        bss_start = .; 把  bss_start 赋值为当前位置,即 bss 段的开始位置

    .bss : { *(.bss) }; 指定 bss 段

    _end = .; 把_end 赋值为当前位置,即 bss 段的结束位置

    }

  • 相关阅读:
    实验二 结对编程 第二阶段
    实验二 结对编程 第一阶段
    实验一 GIT 代码版本管理
    实验五 单元测试
    实验四 代码审查
    结对编程 第二阶段
    结对编程 第一阶段
    实验一 GIT代码版本管理
    实验五 单元测试
    实验四 代码评审
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11105616.html
Copyright © 2020-2023  润新知