0

我已经使用 STM32Cube 为 STM32F205RB 生成了一个代码库,以便在 Atollic TrueSTUDIO 中使用。该项目未构建,出现错误:

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>Settings,我收到一个错误“当前显示的页面包含无效值” - 但是,我在 TrueSTUDIO 中新创建的项目上也遇到同样的错误)

非常感谢任何想法,建议或澄清!

4

4 回答 4

3

我遇到了同样的问题,我通过添加来解决它-mcpu=cortex-m3

于 2016-09-30T13:10:24.570 回答
3

在此 IDE 中,您必须在 project/right_click/properties 中设置 uC。然后它将知道在-mcpugcc 选项中设置什么。[ 在此处输入图像描述] 1

于 2020-01-14T20:29:01.470 回答
0

经过一番折腾,我相信我已经找到了问题的根源——STM32Cube生成的启动脚本是针对MDK-ARM的(我已经仔细检查了——我当然用Cube选择了TrueSTUDIO,看起来像个bug?)。通过在 TrueSTUDIO 中创建一个新项目并将 .s 文件从该项目复制/粘贴到 Cube 生成的项目上,我可以让我的代码编译没有任何错误。

查看 startup_stm32f205xx.s 的顶部,我可以看到以下行:

;* Description        : STM32F205xx devices vector table for MDK-ARM toolchain. 

正确的文件提到了 TrueSTUDIO:

* @brief     STM32F2xx Devices vector table for Atollic TrueSTUDIO toolchain. 
于 2015-05-24T22:44:30.173 回答
-1

我有这个问题。检查配置设置以查看您的 STM 设备是否已安装。我必须改变我的stm

于 2020-01-14T12:26:34.553 回答