嵌入式技术william hill官网
直播中

青sky

8年用户 1260经验值
擅长:模拟技术
私信 关注
[问答]

使用LOG_G导致线程栈空间不足引发错误如何解决

1.jpg

发现同样是打印调试信息,使用LOG_D会占用大量的栈空间,使用rt_krpintf则几乎不怎么占用栈空间。

线程名称是timer_task_thread_entry
分配256bytes栈空间下使用rt_kprintf的线程栈使用率

1.jpg

分配384bytes栈空间下使用LOG_D的线程栈使用率

1.jpg

回帖(2)

李芳

2022-9-15 14:28:22
256 字节, 384 字节
看到那个k吓到我了。
友情建议,线程栈至少 1024 字节
举报

青sky

2022-9-15 14:28:36
所以如果出现SCB_CFSR_UFSR:0x04 INVPC报错信息, 估计是该线程分配的栈空间不足。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分