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分配的大小,没有效果

各位有碰到过这样的问题吗?该怎么解决呢?数字设计也无法搭平台验证定位问题,摸不着路了,这个问题真的很诡异

...全文
906 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
花花圆圆 2020-11-09
  • 打赏
  • 举报
回复
网上提供定位问题方法都是在线调试的方式,但我的程序一在线调试运行就不会再进入了硬件错误中断了,奇怪的点是为什么下载代码后会自动运行程序
worldy 2020-11-09
  • 打赏
  • 举报
回复
将flash download 勾选reset and run,看看还会不会出现硬件出错?
dceacho 2020-11-09
  • 打赏
  • 举报
回复
难道是配置区的设置问题?
花花圆圆 2020-11-09
  • 打赏
  • 举报
回复
使用的是keil4

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧