c - 将 FreeRTOS 库添加到 Energia IDE
问题描述
我正在尝试将 FreeRTOS 库添加到专门用于德州仪器 CS3220SF 板的 Energia IDE。我已经使用 Energia 库集成了硬件并且想要使用 FreeRTOS 功能,我不想使用 TI-RTOS。
我使用本指南在 CCS IDE 中设置项目:https ://www.freertos.org/TI_CC3220_SimpleLink_FreeRTOS_Demo.html
首先,我在与我的项目相同的源文件夹中添加了所有 FreeRTOS 源(timers.h、task.h 等)和所需的 FreeRTOSConfig.h。
在 Energia IDE 中编译后出现此错误:
C:\Users\Fsydn\AppData\Local\Temp\ccDJlHYY.s: Assembler messages:
C:\Users\Fsydn\AppData\Local\Temp\ccDJlHYY.s:468: Error: selected processor does not support `vstmdbeq r0!,{s16-s31}' in Thumb mode
C:\Users\Fsydn\AppData\Local\Temp\ccDJlHYY.s:470: Error: instruction not allowed in IT block -- `mrs r1,control'
C:\Users\Fsydn\AppData\Local\Temp\ccDJlHYY.s:495: Error: selected processor does not support `vldmiaeq r0!,{s16-s31}' in Thumb mode
C:\Users\Fsydn\AppData\Local\Temp\ccDJlHYY.s:497: Error: instruction not allowed in IT block -- `msr psp,r0'
exit status 1
Error compiling for board CC3220SF-LAUNCHXL (80MHz).
解决方案
它抱怨您正在编译浮点指令,但传递给编译器的命令行选项并未说明目标设备具有浮点单元。您正在构建错误的FreeRTOS 源文件(如果 Cortex-M3 或 M4 没有浮点,则构建 FreeRTOS/Source/[compiler]/ARM_CM3,或者如果 Cortex-M4 有浮点,则构建 FreeRTOS/Source/[compiler]/ARM_CM4F),或者您的编译器命令行错误。