光流摄像头开发之stm32F4 hardfault错误(堆栈设置)

通过一天的调试,发现一旦启动调试,芯片就会进入中断函数hardhandler()。 
数组看了一下内存地址对应手册,也没有溢出。
以为是时钟超频的问题,降频了之后依然无解。
参照官网的hardfault诊断,把能试的都试了。 后来看到最后一项 关于,堆栈溢出。
死马当活马医。 打开startup_stm32f40_41xxx.s,修改了里面的堆栈大小。

tack_Size      EQU     0x00010000


                AREA    STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE   Stack_Size
__initial_sp




; <h> Heap Configuration
;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>


Heap_Size       EQU     0x00000200


                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE   Heap_Size
__heap_limit

然后好了, 浪费我的时间啊。
总结: 在MCU中,大数组的使用时,千万注意堆栈,以及指针的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值