我试图将FreeRTOS库添加到专门用于Texas Instruments 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 source files(如果不带浮点的Cortex-M3或M4,则构建FreeRTOS / Source / [compiler] / ARM_CM3;如果带浮点,则构建FreeRTOS / Source / [compiler] / ARM_CM4F),或者您的编译器命令行错误。

关于c - 将FreeRTOS库添加到Energia IDE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59239398/

10-12 15:04