论坛元老
 
- 积分
- 3510
- 金钱
- 3510
- 注册时间
- 2016-3-19
- 在线时间
- 846 小时
|
发表于 2023-6-21 10:34:27
|
显示全部楼层
之前使用 FreeRTOS 时 没有用到这个 _reclaim_reent 函数
等待用过这个函数的大佬们解答一下这个问题
如果您的工程中没有涉及到这个函数 可以通过宏定义裁剪掉这个功能
出现问题的原因是
源函数中
/* Free up the memory allocated by the scheduler for the task. It is up
to the task to free any memory allocated at the application level. */
#if ( configUSE_NEWLIB_REENTRANT == 1 )
{
_reclaim_reent( &( pxTCB->xNewLib_reent ) );
}
#endif /* configUSE_NEWLIB_REENTRANT */
而在您的配置文件中
/* The following flag must be enabled only when using newlib */
#define configUSE_NEWLIB_REENTRANT 1
所以如果您自己没有写这个函数 就会报错
可以去掉您配置文件中的这个宏定义
也可以将配置文件中的宏定义 改为 0
/* The following flag must be enabled only when using newlib */
#define configUSE_NEWLIB_REENTRANT 0
|
|