请教一下freeRTOS里的任务堆栈具体怎么理解

2019-12-10 18:32发布

第一次用RTOS写stm32f103上的程序,没有理解定义的任务堆栈大小,是指任务函数占用的临时变量空间吗?那如果在任务函数里还调用其他子函数,子函数的临时变量也要算在任务堆栈里吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
我是一个大白菜
1楼-- · 2019-12-11 19:03
wuha 发表于 2019-5-24 09:04
当然了,除非定义的全局变量,只要是任务函数内部用到的临时变量,传递参数等,都是通过给任务分配的堆里申 ...

谢谢指导,我明白了
我是一个大白菜
2楼-- · 2019-12-11 20:53
 精彩回答 2  元偷偷看……
我是一个大白菜
3楼-- · 2019-12-11 21:14
Jmhh247 发表于 2019-5-24 09:22
你的理解是正确的。

任务堆栈,是裸机和RTOS的明显区别之一

谢谢指导
我是一个大白菜
4楼-- · 2019-12-11 22:50
didadida 发表于 2019-5-24 10:04
是的,再切换到新任务的时候,栈指针也会切换的,所以调用的函数之类的临时变量都会占用当前任务的栈空间。 ...

谢谢指导
我是一个大白菜
5楼-- · 2019-12-11 22:50
styleno1 发表于 2019-5-24 10:46
多任务或前后台的栈的使用基本一样,包含动态局部变量、函数嵌套、中断的开支 ...

谢谢指导,我明白了

一周热门 更多>