一、故障现象:
(1)烧写采用的是SWD 5pin引脚的方式,烧写程序时jlink上的灯红绿交替闪烁,MDK报错(如图)。
(2)复位脚电压很低,只有0.9V左右,发现去掉复位脚可以正常烧录进去,程序也可以运行。
(3)去掉复位脚烧录进程序后,用jflash读整个芯片,发现数据是都写入flash了的。
(4)车间批量烧写的时候,有10%左右的概率
二、我自己的思考:
为防止异常,程序中加了这个复位重启的处理,我估计是程序异常了不断进入复位重启导致烧写不进去
void HardFault_Handler(void)
{
NVIC_SystemReset();
}
三、 现在着急寻求帮助怎么找到Bug,不像是程序能正常运行起来debug那就好找问题。