Uboot之u-boot.lds的链接脚本

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)        //指定程序的入口点,在start.s中的_start。
SECTIONS
{
    . = 0x00000000;

    . = ALIGN(4);    //4个字节对齐
    .text :        //文本段
     {
        cpu/arm920t/start.o    (.text)
        *(.text)
    }

    . = ALIGN(4);
    .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }     //数据只读段

    . = ALIGN(4);
    .data : { *(.data) }                 //数据段

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

    . = .;                             //存放uboot中的命令
    __u_boot_cmd_start = .;
    .u_boot_cmd : { *(.u_boot_cmd) }
    __u_boot_cmd_end = .;
                                             //BSS段,block by start symbol
    . = ALIGN(4);
    __bss_start = .;
    .bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
    _end = .;
}
由u-boot.lds的内容可以看出,start.o在链接时被安排到最开始的位置。将编译生成的.o和.a文件按照board/samsung/config.mk文件的代码段起始地址即TEXT_BASE = 0x33F80和uboot.lds链接脚本进行连接。
因此可得到elf格式的uboot。
ELF:Linux操作系统下的可执行映像文件。
AXF:ARM的调试文件,ADS常试用。
BIN:真正的可执行文件,可写到Flash或RAM中运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值