[STM32F1] STM32F103 数组引起RAM读写错的死机,请版主/前辈帮忙!

[复制链接]
2523|5
 楼主| HelpMe 发表于 2014-5-29 20:39 | 显示全部楼层 |阅读模式
在调试程序的时候碰到几个死机问题:(编译环境是uVision V4.21.0.0)
1、一个PROJECT,建了个二维数组,5X512,掉电再上电,程序死机,但是RESET MCU,又可以正常运行,后来找到是读写数组出错。这是什么问题引起的?求解!
2、另外一个PROJECT,建了几个一维大数组,一写数组就死机,有的PROJECT里又不会死机,这又是什么问题?
mmuuss586 发表于 2014-5-29 21:11 来自手机 | 显示全部楼层
你程序哪里问题吧,死机后程序挺在哪里啊?可能哪个变量超出范围了
airwill 发表于 2014-5-29 22:23 | 显示全部楼层
什么类型的数组, 用的芯片型号是什么?
数组需要的内存容量超过了 SRAM 的空间大小?
提问, 最好把情况说清楚些
 楼主| HelpMe 发表于 2014-5-30 08:57 | 显示全部楼层
用的103VC,定义BYTE型的[5][512]数组,程序就死机了,相同的程序,改成5个一维的数组,或者直接把数组去掉了,程序运行是正常的。SRAM肯定够用的,我现在程序编译完:Program Size: Code=32260 RO-data=524 RW-data=580 ZI-data=12860 。
mmuuss586 发表于 2014-5-30 09:08 | 显示全部楼层
那就好好查下程序,可能哪里越界了
香水城 发表于 2014-5-30 14:18 | 显示全部楼层
什么叫做死机。

调试一下,在Hard Fault那里打个断点,看是不是数组越界或其他原因使得触发内核的Hard Fault异常。

如果是的话,你搜搜坛子里,有个将如何追踪定位造成Hard fault的原因的文档
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部