stm32 硬件错误

进入该模式,程序死机。

一般来说都是内存错误

1.

  数组越界,装入数据溢出,

2.

  堆和栈设置不当,这里面硬件的堆和栈在汇编文件中,如果有freertos等,重点检查,任务堆栈使用情况,一般任务堆栈溢出的可能性比较大。

  重点检查函数,局部变量,减少临时函数,大数组创建,如果有尽量使用静态全局替代。

3. Heap_Size      EQU     0x200; 

改点释疑:有些人认为调整heap_size大小会导致系统出错,有些人认为堆向上涨,此值不能调大,实际上这个是不正确的,我们看他的名字叫heap_size,而不是stack_addr,也就是这并不是有的人认为的堆的地址,而是堆的大小,同理栈也是。不过调整此处会影响你的malloc,请调节偏移地址

 

posted @ 2018-07-01 16:01  避暑山庄  阅读(883)  评论(0编辑  收藏  举报