如何解决STM32F777 复位后立即运行硬故障
我目前正在尝试了解我们基于 STM32F777IIT6 开发的工业嵌入式系统的情况。有时在我们使用自定义引导加载程序执行固件更新后,设备不再启动。有趣的是,在使用调试器将应用软件写入内部闪存后,偶尔也会发生同样的情况。
现在,我很幸运,我的桌子上有一个拒绝启动的设备。我已经读出了闪存并检查了以下内容:
- 前四个字节是 F0 7B 03 20 => 0x20037BF0,应该是初始堆栈指针。值是偶数并且可以被八整除。是不是还有什么问题?
- 接下来的四个字节是 reset_handler 的地址,0x080002b1。也能查出来。起始地址 (0x080002b0) 的地址是正确的,最后一位是为拇指指令集设置的。
同样的软件在无数其他设备上运行良好。我已经检查了这些控制器的勘误表,但我找不到与内部闪存相关的任何内容。
欢迎提出任何建议。
Debugger showing Hard fault after initial instruction
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。