os_task_stack 用于查询指定任务对应的栈空间或内存池大小, 是 HRTOS 中用于任务资源监控的重要接口。
该函数支持普通任务与快速任务两种类型, 通过不同的数据结构解析其内存占用情况, 可用于调试、优化与系统监控。
| 参数 | 说明 |
|---|---|
| id | 任务ID |
返回任务对应的栈大小或内存池大小;
返回 -1 表示参数非法。
1. 参数合法性判断
判断任务ID是否越界,防止非法访问。
2. 普通任务解析
从任务状态字中提取内存池信息(bit3~bit6), 该字段记录了任务分配的栈空间大小。
3. 快速任务解析
快速任务使用独立的存储表, 栈大小通过表值左移计算得到。