在Apple MAC上为STM编译ARM二进制文件的问题

在Apple MAC上为STM编译ARM二进制文件的问题

问题描述:

我想在Mac上编译一个项目,但是出现很多错误。它在Linux上编译得很好。我参考了STM研讨会随附的工具包。在Apple MAC上为STM编译ARM二进制文件的问题

运行时从/编译/调试cmake ../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../../tools/toolchain/nucleo_f746zg.cmake,我得到下面的输出..

/var/folders/fg/ldkpxwvn45v5y854s4zsw_b00000gn/T//ccBDWJKO.s:404: Error: selected processor does not support `dsb' in ARM mode 
/var/folders/fg/ldkpxwvn45v5y854s4zsw_b00000gn/T//ccBDWJKO.s:407: Error: selected processor does not support `isb' in ARM mode 
make[2]: *** [platform/nucleo-f746zg/CMakeFiles/alesi-platform-nucleo-f746zg.dir/osal/freertos/os_context.c.obj] Error 1 
make[1]: *** [platform/nucleo-f746zg/CMakeFiles/alesi-platform-nucleo-f746zg.dir/all] Error 2 
make: *** [all] Error 

有没有人有这个建议?我如何编译ARM代码? 我正在运行ARM GNU工具并使用arm-none-eabi-g ++和arm-none-eabi-gcc编译器。

+0

为什么你使用两个编译器GCC和G ++,它是你的要求?默认情况下,您的配置启用了dsp模式,您需要在构建脚本中检查谁正在执行此操作。 – LethalProgrammer

STM32系列微控制器基于Cortex内核,不能运行ARM指令集,它们使用Thumb-1和Thumb-2。

对于STM32F4系列,我使用像-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16这样的标志。

readme.txt from gcc-arm-embedded可以为您提供一些关于如何为目标架构选择最合适的标志的提示。

如果您是初学者,只需安装带有工具链的现成IDE即可。 Google for openSTM32。这是一个eclipse +插件+工具链。

它会为您节省很多天的搜索和配置