dongbin1128 发表于 2014-12-24 14:58

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

开发用的芯片为stm32f303CBT6,定义了一个含有600个元素的数组 a,在调试程序时当执行到这条语句时进入了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
数组是局部变量? 栈多大?局部变量是放哪的?

谢谢啦,这个问题已经解决了,是堆栈设置小了的原因
页: [1]
查看完整版本: 求助:定义一个比较大的数组,调试时进入了HardFault_Handler