完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在STM32f103c8 20k ram上跑着RT-Thread系统最近一直有个问题跑个半小时片子就死掉了。代码中找不到问题现在怀疑是ram不够用。下边截图是程序便宜完之后打各项内容的大小和代码里边的栈区堆区设置的大小。现在的问题是我把栈区和堆区分配的大小已经加大了过一段时间还是死机,那么如何根据编译出来的各项内容的大小定义堆区和栈区的大小呢?还有如何确定是不是ram空间不够用呢
|
|
相关推荐
5个回答
|
|
启动文件里面的栈和堆是全局性质的,比如RTOS也是个程序也需要栈(和/或堆),这部分栈和堆的使用可以在编译出来的map文件里面看到。
各线程有各自的栈,和启动文件里面的栈不是一类,尝试对需要增加栈空间的线程增加线程栈空间或许能解决你的问题,比如u***线程对栈的需求就比串口大,这个需要你根据自己的程序来判断,以及可以通过设置栈water mark(如果有的话)来自己调试出大小。 |
|
|
|
7762642422d 发表于 2018-12-17 16:46 谢谢,已解决。 |
|
|
|
建议分享问题所在和解决方法
|
|
|
|
现在的人 都是如何做到 有问题撒网就问,解决了却不分享?每个人都和你一样,就不用查了
|
|
|
|
楼主,能说下是怎么解决的吗?我也遇到相同问题。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:53 , Processed in 0.673124 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号