zoukankan      html  css  js  c++  java
  • 设备中LPC2368芯片个例参数问题导致故障的分析

    最近公司的设备客户报告在终端客户那里出现了板卡加热不受控,出现了持续加热导致设备一些贵重部件损坏。由于历史上很多现场问题,板卡什么拆到别的地方搭复现平台,基本都是以失败告终,所以出差去现场分析。

    过程

    客户端排查,原始板卡现场运行可复现(大约0.5~3天可复现一次),复现以后,测量MCU外围信号,没有异常。不断电触发外部复位信号,设备不能恢复,重新上电可以正常工作。

    对MCU去掉代码解密,复现后,挂JTAG跟踪,发现MCU处于perfetch abort中断的catch中。测试发现内部SRAM,寄存器均可以正常操作;对比Flash上的代码,没有问题。使用调试器复位,发现在出问题以后,MCU只能短暂正常工作极短的时间,系统初始化部分都结束不了,基本上,也是最后MCU处于perfetch abort状态,偶尔处于data abort状态。考虑对终端客户的影响,客户处替换板卡。

    搭建虚拟台子,确定这个故障该板卡是可以在虚拟台子上复现的。复现后,挂JTAG,调试器复位运行表现和在客户机器上表现一致,测试SRAM,寄存器,没有问题。检查ARM内核寄存器,VIC状态,SCB外设状态,管脚配置状态,没有发现问题。将MAM模块的Flash fetch cycle从2改为3,发现MCU可以正常运行了。

    结论和进一步确认

    结论是这片芯片Flash模块存在问题。参数可能不符合文档的指标。

    带板卡回公司,通过调整PLL设定,并取其他板卡做对比,发现这片芯片,Flash在略超过20MHz就会出问题,而其他对比芯片,一般可以工作在25~26MHz,由此可以确定,这片芯片,属于个例问题,参数不达标。

  • 相关阅读:
    C++进阶--析构函数中的异常
    C++进阶--派生类的析构(虚析构函数,shared_ptr)
    linux_shell_拆分文件_多进程脚本
    java_eclipse_设置全局编码_utf-8_编译class指定_运行jar乱码解决_不依赖环境
    linux_环境变量设置 utf-8
    linux_awk_内部正则过滤
    java_Eclipse中SVN的安装步骤(两种)和使用方法
    linux_vim_快捷键
    php_公共方法01_传入数组_打印可见信息
    linux_sed 正则替换
  • 原文地址:https://www.cnblogs.com/dabbler/p/10962519.html
Copyright © 2011-2022 走看看