摘要: 死机过程基本概念:连接寄存器LR:调动子程序时,自动存储下一次返回的地址,其实就是最近调用的那一次函数的地址。死机的过程:这里我们最需要关注的是第一步入栈:其中8个寄存器的顺序是其中出现异常时LR里面的值是固定的最后更新堆栈指针,我们根据最后使用的堆栈里面的内容,就可以知道出问题时的最后现场。死机定位思路简单来讲就是:找到死机时候的lr寄存器,然后根据lr寄存器的值,找到此时压入的是psp堆栈,还... 阅读全文
posted @ 2019-09-24 10:15 朽木生 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 修改使用 heap_size 增大其实就是堆栈的不足。好好分析下程序堆栈,如下:函数的局部变量,都是存放在"栈"里面,栈的英文是:STACK.STACK的大小,我们可以在stm32的启动文件里面设置,以战舰stm32开发板为例,在startup_stm32f10x_hd.s里面,开头就有:Stack_Size EQU 0x00000800表示栈大小是0X800,也就是2048字节.这样,CP... 阅读全文
posted @ 2019-09-24 10:12 朽木生 阅读(2277) 评论(0) 推荐(0) 编辑