我在尝试为 ARM Cortex-M4 编译一些代码时收到以下错误 使用
gcc -mcpu=cortex-m4 arm.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
arm.c:1: error: bad value (cortex-m4) for -mtune= switch
我正在关注GCC 4.7.1 ARM options 。不确定我是否错过了一些关键选项。任何使用 GCC for ARM 的启动都会非常有帮助。
最佳答案
正如 starblue 在评论中暗示的那样,该错误是因为您使用的是为 x86 CPU 编译而构建的 native 编译器,而不是用于编译到 ARM 的交叉编译器。
GCC 在任何给定的编译器二进制文件中仅支持单一通用架构类型 - 因此,尽管 GCC 的相同副本可以针对 32 位和 64 位 x86 机器进行编译,但您无法同时编译到 x86 和 ARM使用相同的 GCC 副本 - 您需要一个特定于 ARM 的 GCC。
(正如 auselen 所建议的,获得一个预构建的工具将为您节省大量工作,即使您只是将其用作设置的起点。您需要有 GCC、binutils 和至少一个 C 库,这些都是独立的开源项目,预构建版本已经完成了组合工作。我会推荐 Sourcery CodeBench Lite 因为这是我公司制作的一个,我确实认为它是一个相当不错。)
关于c - 为 ARM 编译时出现 GCC 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166252/