完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
求各位大神指导,现有链接脚本如下,使用 arm-none-eabi-ld 链接
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) ENTRY(_start) #define DDR_START 0x80000000 #define DDR_LEN 512M SECtiONS { . = DDR_START; .ivt : { . = . + 0x400; *(.ivt) } .boot_data : { __start_boot_data = .; *(.boot_data) } /* aligned to ease the hexdump read of generated binary */ .dcd_hdr ALIGN(16) : { __start_dcd = .; *(.dcd_hdr) } .dcd_wrt_cmd : { *(.dcd_wrt_cmd) } .dcd_data : { *(.dcd_data) } .text ALIGN(8) : { *(.text) } .rodata ALIGN(4) : { *(.rodata*) } .data ALIGN(4) : { *(.data*) } . = ALIGN(4); _end_of_copy = .; .bss ALIGN(4) : { *(.bss) } } 链接时生成了.map文件如下 Memory Configuration Name Origin Length Attributes *default* 0x00000000 0xffffffff Linker script and memory map 0x80000000 . = 0x80000000 .ivt 0x80000000 0x420 0x80000400 . = (. + 0x400) *fill* 0x80000000 0x400 00 *(.ivt) .ivt 0x80000400 0x20 crt0.o .boot_data 0x80000420 0xc 0x80000420 __start_boot_data = . *(.boot_data) .boot_data 0x80000420 0xc crt0.o .dcd_hdr 0x80000430 0x4 0x80000430 __start_dcd = . *(.dcd_hdr) .dcd_hdr 0x80000430 0x4 crt0.o .dcd_wrt_cmd 0x80000420 0x4 *(.dcd_wrt_cmd) .dcd_wrt_cmd 0x80000420 0x4 crt0.o .dcd_data 0x80000420 0x1f8 *(.dcd_data) .dcd_data 0x80000420 0x1f8 crt0.o .text 0x80000618 0x44 *(.text) .text 0x80000618 0x0 crt0.o .text 0x80000618 0x44 led.o 0x80000618 _start .glue_7 0x8000065c 0x0 .glue_7 0x00000000 0x0 linker stubs .glue_7t 0x8000065c 0x0 .glue_7t 0x00000000 0x0 linker stubs .vfp11_veneer 0x8000065c 0x0 .vfp11_veneer 0x00000000 0x0 linker stubs .v4_bx 0x8000065c 0x0 .v4_bx 0x00000000 0x0 linker stubs .iplt 0x8000065c 0x0 .iplt 0x00000000 0x0 crt0.o .rel.dyn 0x8000065c 0x0 .rel.iplt 0x00000000 0x0 crt0.o .rodata *(.rodata*) .data 0x8000065c 0x0 *(.data*) .data 0x8000065c 0x0 crt0.o .data 0x8000065c 0x0 led.o .igot.plt 0x8000065c 0x0 .igot.plt 0x00000000 0x0 crt0.o 0x8000065c . = ALIGN (0x4) 0x8000065c _end_of_copy = . .bss 0x8000065c 0x0 *(.bss) .bss 0x8000065c 0x0 crt0.o .bss 0x8000065c 0x0 led.o LOAD crt0.o LOAD led.o OUTPUT(led.elf elf32-littlearm) .ARM.attributes 0x00000000 0x18 .ARM.attributes 0x00000000 0x16 crt0.o .ARM.attributes 0x00000016 0x16 led.o Cross Reference Table Symbol File _end_of_copy crt0.o _start led.o crt0.o 其中 .dcd_wrt_cmd 和 .dcd_data 段为什么是0x80000420开始呢?按理来说不是应该从0x80000430和0x80000434开始吗? |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
762 浏览 0 评论
739 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之复制文件描述符
668 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之返回错误处理与相关函数
1448 浏览 0 评论
飞凌嵌入式ElfBoard-文件I/O的了解探究之文件描述符和FILE指针转换
1058 浏览 0 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 04:32 , Processed in 0.668834 second(s), Total 71, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
774