STM32F407 IAP形式升级 运行APP程序一段时间后出现死机现象(每次必死)。求大神帮忙看看原因在哪

2019-07-20 15:49发布

我用的是STM32F407ZET6芯片,我通IAP升级的方式将APP的程序下载到芯片中,APP的程序里使用了ucos、LWip、FAT32这些东西,所以RAM用的比较多,运行了一段时间出现死机的情况。我怀疑是内存溢出造成的,我通过更改APP程序的Progect->Options->Target窗口中IRAM1的Size为0x30000(之前是0x20000)可以多坚持很长时间。但是最终还是死机了。请问各位大神这应该是什么原因造成的,有什么可以解决的方法吗?

另外,还有我还有几个问题想问一下:
1. 单片机程序,我们申请的变量,是谁负责分配的地址,是编译器吗?
2. IAP的形式,RAM是否需要分区,如果不需要,那么两段程序都从0x20000000开始,会不会有冲突,还是APP申请的变量地址会覆盖掉IAP程序的变量地址。
3.KEIL MDK 的 Progect->Options->Target窗口中IRAM1的Size是指定的RAM空间大小,修改他的值具体有什么用,是只是告诉编译器而已,程序运行中有没有用到这个值,因为我把这个值改大了,发生死机的时间推迟了。

以上还请大神们帮忙分析一下,谢谢了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-20 21:07
回复【3楼】gejinglei:
---------------------------------
那你就得调试,看看问题出在哪里
打印log日志分析下.
在可疑的地方,打印一些关键信息,辅助分析问题.
正点原子
2楼-- · 2019-07-21 01:40
 精彩回答 2  元偷偷看……
gejinglei
3楼-- · 2019-07-21 03:39
 精彩回答 2  元偷偷看……
wuyuping528
4楼-- · 2019-07-21 09:01
问题解决了吗?

一周热门 更多>