完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
诸位前辈,我想请教一个问题。在编写裸机程序时,各个源文件都用gcc的-g -O0 -c选项编译,链接时用ld的默认lds脚本产生的elf文件包含了调试信息。但是如果用了自定义的lds脚本,elf里就没有调试信息了,这个问题有办法解决吗?
自定义lds脚本如下: ENTRY(_start) SECtiONS{ . = 0x00000000; .text ALIGN(4) : AT(0) {head.o init.o nand.o} . = 0x30000000; _beginofrest = .; rest ALIGN(4) : AT(4096) { *.o } _endofrest = .; } |
|
相关推荐
2个回答
|
|
$ nm -a head.o显示包含了调试信息
00000000 t $a 00000078 t $d 00000000 n .ARM.attributes 00000000 b .bss 00000000 d .data 00000000 N .debug_abbrev 00000000 N .debug_aranges 00000000 N .debug_info 00000000 N .debug_line 00000000 t .text 00000000 T _start 00000060 t dead_loop U disable_watchdog 0000001c t handleFIQ 00000064 t handleIRQ 00000014 t handleNotused 00000008 t handleSWI 00000010 t handledataAbort 0000000c t handleprefetchAbort 00000004 t handleundef U init_led 00000044 t init_led_return U init_timer0 00000058 t init_timer0_return U int_handler 00000074 t int_return U load_nand_program_sdram U main U memory_setup U mpll_setup 00000020 t reset |
|
|
|
nm -a TestTimer.elf就显示没有调试信息了:
00000000 t .text 30000000 A _beginofrest 30000614 A _endofrest 00080000 T _stack 00000000 T _start 00000060 t dead_loop 00000190 T disable_watchdog 0000001c t handleFIQ 00000064 t handleIRQ 00000014 t handleNotused 00000008 t handleSWI 00000010 t handledataAbort 0000000c t handleprefetchAbort 00000004 t handleundef 00000000 a init.c 30000088 T init_led 00000044 t init_led_return 30000000 T init_timer0 00000058 t init_timer0_return 30000394 T int_handler 00000074 t int_return 00000000 a interrupt.c 00000638 T load_nand_program_sdram 300000e0 T main 00000000 a main.c 000001c8 T memory_setup 000001a0 T mpll_setup 00000000 a nand.c 00000548 T nand_read 00000524 T nand_reset 00000020 t reset 30000000 t rest 00000318 t s3c2440_nand_deselect_chip 000002c0 t s3c2440_nand_select_chip 000004ec t s3c2440_read_data 00000254 t s3c2440_wait_idle 00000388 t s3c2440_write_addr_lp 00000348 t s3c2440_write_cmd 00000678 t s3c2440nand 怎么样用自定义的lds脚本定义section的同时,仍能够在elf文件里包含调试信息呢?请前辈们不吝赐教啊 |
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2187 浏览 6 评论
1987 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4545 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 08:28 , Processed in 0.731821 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号