错误环境
错误码如下
167 | static portFORCE_INLINE void vPortSetBASEPRI( uint32_t ulBASEPRI )
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(162): note: expanded from macro 'portFORCE_INLINE'
162 | #define portFORCE_INLINE __forceinline
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(170): error: expected 'volatile', 'inline', 'goto', or '('
170 | {
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(178): error: unknown type name '__forceinline'
178 | static portFORCE_INLINE void vPortRaiseBASEPRI( void )
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(162): note: expanded from macro 'portFORCE_INLINE'
162 | #define portFORCE_INLINE __forceinline
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(183): error: expected 'volatile', 'inline', 'goto', or '('
183 | {
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(193): error: unknown type name '__forceinline'
193 | static portFORCE_INLINE void vPortClearBASEPRIFromISR( void )
| ^
../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F\portmacro.h(162): note: expanded from macro 'portFORCE_INLINE'
162 | #define portFORCE_INLINE __forceinline
error总数达160+
解决方案
最近组里有人问这个问题,正巧之前我看到的那篇文章没了,在这里记一下
cubemx里配的freertos如果用arm5编译不会出问题,如果选择arm6,则会报许多错
可以直接替换cubemx下载的芯片包里的文件,从而不用每次生成工程都要自己手动复制粘贴
打开cubemx芯片软件包下载的位置,不知道位置的可以在这cubemx>>help>>updater里看
我以f4为例,选择你用的版本,进入
...\STM32Cube_FW_F4_V1.25.2\Middlewares\Third_Party\FreeRTOS\Source\portable
将RVDS文件夹里的ARM_CM4F文件夹替换为GCC里的ARM_CM4F文件夹即可
重新用cubemx生成工程,现在可以用arm6编译了
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43481066/article/details/114982741