问题:
最近在学习FreeRTOS,在编译韦东山老师的例程时,编译出错,
报了一大堆错误,都是些关于头文件、关键字、定义的错误,一脸懵
error: unknown type name ‘__forceinline’在这里插入图片描述

在这里插入图片描述

解决方法:
在魔法棒这里做出修改
在这里插入图片描述
在这里插入图片描述
然后代码这里要找到FreeRTOS的源码中,(我这里用的芯片是stm32f103,所以用的ARM_CM3,别的芯片自己找对应的替换)
FreeRTOS\Source\portable\GCC\ARM_CM3,把ARM_CM3中的文件替换到
自己调试的源码中FreeRTOS_01_create_task\FreeRTOS\Source\portable\RVDS\ARM_CM3

终于见到久违的无错误,撒花,哈哈哈😄
在这里插入图片描述

最终分析原因:
FreeRTOS编译错误,本质上就是 “为gnu89/C90时代写的代码,跑到了默认使用gnu11的新编译器上” 所导致的不兼容。

参考了st论坛的大神
https://shequ.stmicroelectronics.cn/thread-615410-1-1.html

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐