硬汉嵌入式论坛

 找回密码
 立即注册
查看: 363|回复: 1
收起左侧

[MDK] E306: Execution problem - __CalcMemUsed(): max. size exceeded

[复制链接]

26

主题

33

回帖

111

积分

初级会员

积分
111
发表于 2025-2-15 10:21:43 | 显示全部楼层 |阅读模式
本帖最后由 ccc_clive 于 2025-2-15 11:48 编辑

Expression: 'TCB.stack_val  = __CalcMemUsed (TCB.stack_mem, sp - TCB.stack_mem, 0xCCCCCCCC, 0xE25A2EA5);
          TCB.stack_over =  TCB.stack_val >> 31;
          TCB.stack_maxb = (TCB.stack_mem + TCB.stack_size) - sp;
          TCB.stack_maxb += TCB.stack_val & 0xFFFFF;
          TCB.stack_maxp = (TCB.stack_maxb * 100)/ TCB.stack_size;'
E306: Execution problem - __CalcMemUsed(): max. size exceeded (max.:=65536, cur:=268437248)

这个意思是不是堆栈溢出了,通过rtx rtos窗口发现堆栈最大使用率有时会突变很大的值80-100,一般最大使用率都是10-30

而且堆栈设置改大了,使用率还是会突变一个很大的值,感觉堆栈大小没关系的样子
event record 里面就只有信号量错误,意思是信号量countlimit,但是感觉这个问题应该不影响

但是我在osRtxErrorNotify里面添加了printf,并没有printf输出,使用的是swd的printf
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116197
QQ
发表于 2025-2-16 10:28:35 | 显示全部楼层
这种情况,可以所有任务创建都先关闭了,仅创建这个有问题的任务看下,有可能是其他任务有问题,越界到这个任务栈里面了。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 04:23 , Processed in 0.216893 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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