打印
[FAQ]

一个烧录失败案件让你更了解APM32芯片的烧录机制

[复制链接]
545|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 onemoren 于 2025-7-9 17:55 编辑

#申请原创#

一个烧录失败案件让你更了解APM32芯片的烧录机制
   烧录失效就是FLASH有问题吗?
   最近从产线上交一片烧录报错的APM32芯片(量产10K以上遇到1片,难得)。表象是FLASH失效,实则分析下来竟然是SRAM失效。看我记录的分析过程:
1)烧录失效现象
● 测试方法:使用JFLASH烧录BIN文件,观察现象。
● 测试结果:烧录bin文件出现校验报错,并报出错误产生的FLASH地址。
2)对比FLASH内容
● 测试方法:出现异常时回读FLASH内容,与原始文档对比,观察现象。
● 测试结果:回读FLASH内容,与原始文档对比,发现存在部分位置FLASH数据从0->1现象,如48->4A,B1->B3,CD->CF等等。
3)FLASH读写测试
● 测试方法:在SRAM中运行FLASH全片擦写读测试,观察现象。
● 测试结果:测试多组图形,尝试片擦/页擦等不同的方式,都未发现异常。FLASH应该没有问题。
4)SRAM读写测试
● 测试方法:jflash烧录时数据是通过SRAM的程序和缓存搬入FLASH内部的。故在测试FLASH未发现异常的情况下,可继续测试SRAM看是否正常。
● 测试结果:使用96M主频,循环测试SRAM 3369次时发现异常。对比数据,确认SRAM地址0x200008FF的bit1位置从0变1:00000000 -> 00000010
5)降低主频测试
● 测试方法:96M主频情况下,复现异常几率较低。考虑到烧录bin文件时实际是8M主频驱动,故尝试降低SRAM测试的主频,观察现象。
● 测试结果:使用8M主频,测试1次即可发现SRAM异常,地址仍是0x200008FF。可能机理:SRAM存储单元类似RS触发器,有两个稳态。如果读的时候存在漏电,读的时间短,来不及误翻转。如果读得慢些,可能漏电会引起状态翻转,导致读出错。
6)失效地址读写
● 测试方法:针对失效地址,做针对性读写验证,观察现象。
● 测试结果:写入0x00后,前几次读取均正常0x00,多读几次后,数据位发生翻转,读取值异常0x02
7)总结
经分析,确认这片烧录失效的芯片是SRAM存在异常:地址0x200008FF的bit1位置有几率发生从0变1的读异常。SRAM异常会导致芯片程序运行异常和烧录异常(烧录时需在SRAM中运行搬运程序和缓存FLASH数据)。
  这个烧录失败案件让你更了解MCU芯片的烧录机制当遇到烧录工具烧录校验不过,并报出校验错误地址(通常为FLASH区地址)时,真正失效的地方,可能是FLASH,也可能是SRAM,都需要排查。
  

使用特权

评论回复
沙发
风暴之眸| | 2025-7-9 17:13 | 只看该作者
像这种读写SRAM出现异常了之后,如果带有ECC功能的SRAM会发生什么现象?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

66

帖子

2

粉丝