arm-none-eabi-ld无法找到-mcpu = cortex-m3

问题描述:

还有一个类似命名的问题,但它从未解决。arm-none-eabi-ld无法找到-mcpu = cortex-m3

我安装了arm-none-eabi gcc和binutils来自Ubuntu上的GNU Arm Embedded PPA。这个工具链通常工作正常。

今天,在我的Makefile中,我将-march=armv7-m -mcpu=cortex-m3作为一些选项链接在一起。这会立即导致ld失败,如下所示:

$ arm-none-eabi-ld -mcpu=cortex-m3 -march=armv7-m -Tcm3.ld # and some more options 
arm-none-eabi-ld: unrecognised emulation mode: arch=armv7-m 
Supported emulations: armelf 

我做了什么错?我似乎无法找到关于此的任何信息!


我也用我的其他工具链(CodeSourcery,2011年3月)测试了这个。该工具链通常可以正常工作,但现在也失败了。

我应该链接gcc而不是ld

看来,与gcc而不是ld链接解决了这个问题。我甚至可以传入链接描述文件而无需使用-Wl,-T

我仍然开放,为什么ld不起作用。