我使用STM32Cube生成了一个代码库,用于在Atollic TrueSTUDIO中使用STM32F205RB。该项目没有构建,给出错误:
arm-atollic-eabi-gcc -c -mthumb -std=gnu90 -DUSE_HAL_DRIVER -DSTM32F205xx -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube/Inc -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube/Drivers/STM32F2xx_HAL_Driver/Inc -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Inc -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube/Drivers/CMSIS/Include -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube/Drivers/CMSIS/Device/ST/STM32F2xx/Include -IC:\Users\Elliott\Atollic\TrueSTUDIO\ARM_workspace\USBInterfaceCUBE\USBInterfaceCube\Projects\TrueSTUDIO\USBInterfaceCube Configuration/Debug/ -Os -ffunction-sections -fdata-sections -g -Wall -o Drivers\STM32F2xx_HAL_Driver\stm32f2xx_hal_rcc.o ..\..\..\..\Drivers\STM32F2xx_HAL_Driver\Src\stm32f2xx_hal_rcc.c
C:\Users\Elliott\AppData\Local\Temp\ccnE9ju5.s: Assembler messages:
C:\Users\Elliott\AppData\Local\Temp\ccnE9ju5.s:288: Error: selected processor does not support Thumb mode `rbit r3,r3'
C:\Users\Elliott\AppData\Local\Temp\ccnE9ju5.s:298: Error: selected processor does not support Thumb mode `clz r3,r3'
...
我不太确定该去哪一个 - 我已经看到了改变编译器选项的建议,虽然我无法在TrueSTUDIO中找到这样做的地方(有些事我担心的是当我选择项目属性> C / C ++ Build>设置,我收到错误"当前显示的页面包含无效值" - 但是,我也在TrueSTUDIO中新创建的项目中遇到同样的错误)
非常感谢任何想法,建议或澄清!
答案 0 :(得分:3)
在此IDE中,您必须在project / right_click / properties中设置uC。然后它将知道在-mcpu
gcc选项中要设置什么。
[] 1
答案 1 :(得分:2)
我遇到了同样的问题,我通过添加-mcpu=cortex-m3
答案 2 :(得分:0)
经过多次填充,我相信我找到了问题的根源 - 由STM32Cube生成的启动脚本用于MDK-ARM(我已经仔细检查过 - 我当然选择了使用Cube的TrueSTUDIO,看起来像个bug?) 。通过在TrueSTUDIO中创建一个新项目并通过Cube生成的项目从该项目复制/粘贴.s文件,我可以在没有任何错误的情况下编译我的代码。
查看startup_stm32f205xx.s的顶部,我可以看到以下行:
;* Description : STM32F205xx devices vector table for MDK-ARM toolchain.
正确的文件提到TrueSTUDIO:
* @brief STM32F2xx Devices vector table for Atollic TrueSTUDIO toolchain.
答案 3 :(得分:-1)
我遇到了这个问题。检查配置设置以查看是否已安装STM设备。我必须更改我的stm