项目场景:

        STM32CubeMX 生成带有 RT-Thread Nano 的工程


问题描述

        在 main 函数中调用函数 rt_thread_create(…),编译时发生报错:

图1        相关代码
图2        编译报错

原因分析:

        🔅函数 rt_thread_create(…) 创建线程是采用动态分配的方式,内核对象从内存堆中创建

        通过查阅官方文档得知:

        ⭐内存堆功能是否使用取决于宏 RT_USING_HEAP 是否开启,RT-Thread Nano 默认不开启内存堆功能;

图3        官方文档

解决方案:

        1️⃣打开头文件 "rtconfig.h"

        2️⃣找到行 "#define RT_USING_HEAP",取消注释,重新编译即可;

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐