[STM32] 求助:定义一个比较大的数组,调试时进入了HardFault_Handler

[复制链接]
1811|4
 楼主| dongbin1128 发表于 2014-12-24 14:58 | 显示全部楼层 |阅读模式
开发用的芯片为stm32f303CBT6,定义了一个含有600个元素的数组 a[600]  ,在调试程序时当执行到这条语句时进入了HardFault_handler   估计是数组元素太多的原因,请教各位,该怎么解决呢
aozima 发表于 2014-12-24 15:38 | 显示全部楼层
数组是局部变量? 栈多大?局部变量是放哪的?
江陵龙少 发表于 2014-12-24 20:40 来自手机 | 显示全部楼层
这么大的数组决不可定义为局部变量,
定义为局部变量也没有现实意义,你不可能像普通局部变量那样读写它。它存储的一般是图片,字模之类的数据,初始化一次,以后只读。
 楼主| dongbin1128 发表于 2014-12-25 09:51 来自手机 | 显示全部楼层
江陵龙少 发表于 2014-12-24 20:40
这么大的数组决不可定义为局部变量,
定义为局部变量也没有现实意义,你不可能像普通局部变量那样读写它。 ...

谢谢,这个问题已经解决了,是堆栈的原因,加大一下堆栈的大小就行了
 楼主| dongbin1128 发表于 2014-12-25 09:52 来自手机 | 显示全部楼层
aozima 发表于 2014-12-24 15:38
数组是局部变量? 栈多大?局部变量是放哪的?

谢谢啦,这个问题已经解决了,是堆栈设置小了的原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

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