STM32/STM8技术论坛
直播中

李淳鑫

8年用户 209经验值
私信 关注
[问答]

STM32库编译无法生成ELF文件

STM32固件库编译为一个.A文件,然后与其它的文件一起无法生成最后的ELF文件。如下
       arm-none-eabi-g++ -Tstm32_rom.ld -L. -mcpu= ... -Wall -o test.bin.elf main.o  dprint.o  ../STM32Library/objs/libstm32f10x.a
      出错提示:arm-none-eabi/bin/ld.exe: warning: cannot find entry symbol Reset_Handler; defaulting to 08000000
      
      如果把这个libstm32f10x.a 反解压为很多.o文件,再进行编译则可以完全正常。
      何解?

     有哪位碰到过这个问题?

回帖(6)

朱梁贡

2019-3-1 08:11:35
楼主你已经玩在了我们前列。
举报

刘琨

2019-3-1 08:19:18
1.启动文件添加了没?
2.在写需要链接的*.o文件的时候,顺序很重要。具体谁在前,我也忘记了,你查查吧。
举报

刘琨

2019-3-1 08:32:10
去你的链接脚本中找找看有没有Reset_Handler
举报

张倩

2019-3-1 08:37:43
引用: 60user160 发表于 2019-3-1 18:21
去你的链接脚本中找找看有没有Reset_Handler

感觉应该是链接文件中没有Reset_Handler!
举报

李淳鑫

2019-3-1 08:47:43
启动文件也是一个.o文件,给添加了.A文件中了。
Reset_Handle一定 是有的,否则将.A文件解开成.o文件也不会连接成功啊。如果把startup_stm32f103.o文件给拿出来,进行联接就没有问题了。 不清楚.o文件与.a文件的连接有什么不同。
举报

李悛

2019-3-1 09:03:51
举报

更多回帖

发帖
×
20
完善资料,
赚取积分