RTOS里堆栈大小设置,没有一个可计算的方法么?

[复制链接]
1036|1
 楼主| z_no1 发表于 2016-4-12 10:48 | 显示全部楼层 |阅读模式
前后台程序里,有HTML文件列出了最深调用需要用的堆栈深度,在RTOS里面为什么不能像这样计算出一个每个任务的堆栈大小呢?光靠实际运行来检测需要的堆栈深度是不够严谨的,除非你能遍历所有的代码和条件分支。
eyuge2 发表于 2016-4-12 16:00 | 显示全部楼层
你好,我理解是这样的。
1.你讲的前后台程序,应该是不允许中断嵌套的。如果允许中断嵌套,中断中又调用了几层函数,栈的深度也是计算不出来的。
前后台的程序,栈深度能计算出来的前提应该是调用树很清楚。
2.RTOS不能计算,实际上也是调用树不清楚造成的。ucos中应该有函数能够检测出本任务栈最大用了多少,当然这也是通过实际运行来检测的。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2659

帖子

10

粉丝
快速回复 在线客服 返回列表 返回顶部