UCOSII通过OSTaskStkChk()函数计算OSTaskCreateExt()创建的线程的任务栈剩余量
其中,prio为任务的优先级,p_stk_data为指向OS_STK_DATA结构体的指针,用于存储任务栈的信息。其中,p_tos为指向任务栈栈顶的指针,p_stk为指向任务栈栈底的指针,stk_size为任务栈的大小。其中,prio为OSTaskCreateExt()创建的线程的优先级。
·
OSTaskStkChk()函数可以用来计算任务栈的剩余量,其原型如下:
INT8U OSTaskStkChk (INT8U prio, OS_STK_DATA *p_stk_data);
其中,prio为任务的优先级,p_stk_data为指向OS_STK_DATA结构体的指针,用于存储任务栈的信息。
OSTaskCreateExt()函数用于创建任务,其原型如下:
OS_ERR OSTaskCreateExt (void (*task)(void *p_arg),
void *p_arg,
OS_STK *p_tos,
INT8U prio,
INT16U id,
OS_STK *p_stk,
INT32U stk_size,
void *p_ext,
INT16U opt);
其中,p_tos为指向任务栈栈顶的指针,p_stk为指向任务栈栈底的指针,stk_size为任务栈的大小。
因此,可以通过以下代码计算OSTaskCreateExt()创建的线程的任务栈剩余量:
OS_STK_DATA stk_data;
OSTaskStkChk(prio, &stk_data);
INT32U stk_free = stk_data.OSFree;
其中,prio为OSTaskCreateExt()创建的线程的优先级。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)