swd下载代码后发生hardfault
花花圆圆 2020-11-09 09:52:22 使用ulink下载代码后,程序自动运行并进入hardfault异常中断,在异常中断里发送io口波形发现的。
1、工程设置flash download并未勾选reset and run,为什么程序会自动运行呢?硬件上也没有连接复位引脚。
2、在线调试会发生复位,程序就没有再进入hardfault了,因此不能通过断点方式定位程序出错的地方。
3、下载代码是运行flash烧写算法,已经debug烧写算法FLM文件没有问题,每个接口函数都进行了测试,不会引发hardfault
我通过串口把进入异常中断时的寄存器值打印出来,其中flash地址是0~0x40000,sram地址是0x20000000~0x20020000,
r0 0x00000000
r1 0x00000003
r2 0x50010000
r3 0x04c11db7
r12 0x61513ec0
lr 0x20000001
pc 0x20000000
psr 0x41000000
keil下载代码是把烧写算法程序放到sram里运行的,也修改了RAM for Algorithm分配的大小,没有效果
各位有碰到过这样的问题吗?该怎么解决呢?数字设计也无法搭平台验证定位问题,摸不着路了,这个问题真的很诡异