找回密码
 注册
关于网站域名变更的通知
查看: 309|回复: 1
打印 上一主题 下一主题

怎么知道堆栈使用了多少?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-6 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
怎么知道堆栈使用了多少?$ N3 q: R$ @6 c7 `4 H3 g& F
7 l2 w6 d9 s/ M. t( c: l' J" d

2 a: x6 i7 U: u" {

怎么知道堆栈使用了多少? 比如51单片机,怎么查看堆栈使用情况,有没有溢出?

最大堆栈=子程序调用最大级数+中断最大嵌套级数

分别计算中断级别 的最大堆栈,然后累加可确定

比如中断级别Z1的最大 的堆栈为A;

比如中断级别Z2的最大 的堆栈为B;

比如中断级别Z3的最大 的堆栈为C;

那么最多为A+B+C

或者用仿真器,进入调试状态即可看到所有SFR...

用keil也可以:

Keil 已经自动帮你计算了:sp_max = 使用过的最大栈顶记忆。

& G" w! d/ ^1 g2 W
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-3 04:02 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表