最近公司的设备客户报告在终端客户那里出现了板卡加热不受控,出现了持续加热致使设备一些贵重部件损坏。因为历史上不少现场问题,板卡什么拆到别的地方搭复现平台,基本都是以失败了结,因此出差去现场分析。git
客户端排查,原始板卡现场运行可复现(大约0.5~3天可复现一次),复现之后,测量MCU外围信号,没有异常。不断电触发外部复位信号,设备不能恢复,从新上电能够正常工做。github
对MCU去掉代码解密,复现后,挂JTAG跟踪,发现MCU处于perfetch abort中断的catch中。测试发现内部SRAM,寄存器都可以正常操做;对比Flash上的代码,没有问题。使用调试器复位,发如今出问题之后,MCU只能短暂正常工做极短的时间,系统初始化部分都结束不了,基本上,也是最后MCU处于perfetch abort状态,偶尔处于data abort状态。考虑对终端客户的影响,客户处替换板卡。post
搭建虚拟台子,肯定这个故障该板卡是能够在虚拟台子上复现的。复现后,挂JTAG,调试器复位运行表现和在客户机器上表现一致,测试SRAM,寄存器,没有问题。检查ARM内核寄存器,VIC状态,SCB外设状态,管脚配置状态,没有发现问题。将MAM模块的Flash fetch cycle从2改成3,发现MCU能够正常运行了。测试
结论是这片芯片Flash模块存在问题。参数可能不符合文档的指标。fetch
带板卡回公司,经过调整PLL设定,并取其余板卡作对比,发现这片芯片,Flash在略超过20MHz就会出问题,而其余对比芯片,通常能够工做在25~26MHz,由此能够肯定,这片芯片,属于个例问题,参数不达标。调试