1、遇到过错问题是数据类型不对,导致该过程永久不能履行到,跳至硬件过错中止;所以硬件中止可测验查找数据类型过错。
2、仓库设置过错也会跳至hardwarefault;
3、假如上电后, 在调试时, 履行单步, 会在不确定方位的当地发生HardFault_Handle, 检查一下你的时钟装备(外部晶振频率, SysTemInit/PLLConfig相关函数以及晶振频率宏界说), 或许是超频了…导致了STM32不稳定.
4、假如在运用某些参数时,运用的类型与其界说的类型不同,也或许导致呈现跳转hardfault,这种情况下, 一般是不固定的跳转hardfalt,排查问题较费事;
5、假如你运用片上flash做参数存储,那么你需求留意了,参数存储区最好从flash的后部往前存,防止参数区与代码区的相互掩盖。假如参数被掩盖了,或许代码被掩盖了,查找Bug就蛋蛋的忧桑了。。。这也会导致跳转hardfault。