使用标准GCC编译ARM Cortex M3?

Boj*_*les 9 embedded microcontroller gcc arm cortex-m3

是否可以使用带--target开关的vanilla GCC编译ARM Cortex M3(LPC1768)的C/C++代码,还是需要编译GCC,binutils等来执行此操作?

小智 10

如前所述,这些不是你唯一的选择.我建议尝试这个由ARM工程师准备的工具链:用于ARM嵌入式处理器的GNU工具.它专为Cortex-M和Cortex-R内核量身定制,无需注册即可下载.


ism*_*ail 3

CodeSourcery G++支持多种 ARM 处理器,包括 Cortex-M3。除非您需要专业支持,否则它也是免费的。

  • 不过,llvm 可以开箱即用地进行交叉编译,您可以使用 -march=arm 为arm 构建。取决于你在做什么 (2认同)
  • cortex-m3 仅支持thumb/thumb2,因此在编译(使用gcc)时要小心指定处理器类型,否则它将默认为arm 指令。我关于 llvm -march=arm 的评论将构建arm,它可能是 -march=thumb 来构建拇指。 (2认同)