2023年12月19日发(作者:)
福州瑞芯微电子有限公司
RK固件升级失败原因分析
Version 1.1
2012/11/22
版本
Version 1.0
Version 1.1
日 期
2010-07-27
2012-11-22
描 述
初版
重新整理并增加更多信息
作 者
赵仪峰
赵仪峰
审核
内部资料,不得扩散 0/ 17
福州瑞芯微电子有限公司
目录
1.
2.
概述 ................................................................................................................................................................ 2
常见问题及分析 ............................................................................................................................................ 2
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
3.
Boot Code下载失败.......................................................................................................................... 2
下载Boot Code成功后测试设备失败 ............................................................................................. 4
准备IDB失败(NAND FLASH
或者EMMC
焊接问题) ........................................................ 6
写入IDB失败................................................................................................................................. 10
下载固件失败 .................................................................................................................................. 12
校验芯片失败 .................................................................................................................................. 14
其他问题 ...................................................................................................................................................... 16
3.1.
升级固件完自动重启后还在升级模式 .......................................................................................... 16
内部资料,不得扩散 1/ 17
福州瑞芯微电子有限公司
1. 概述
工厂和工程师经常会遇到固件升级失败的问题,为了方便查找问题,本文档整理了一些常见的问题和分析建议。
由于工具一直在更新,本文档的描述的信息可能和工具提示的信息不会完全一样,不过同一种类型的问题,提示信息应该是相似的。
2. 常见问题及分析
2.1. Boot Code下载失败
量厂工具提示:
开发工具提示:
内部资料,不得扩散 2/ 17
福州瑞芯微电子有限公司
量产工具log目录下log文件提示:
开发工具log目录下log文件提示:
出现这种问题可能的原因:
1、 USB信号不好
2、 主控虚焊或者电源问题
3、 DDR相关问题
4、 供电不足
排查问题的办法:
1、 使用DDR测试工具测试DDR是否有焊接问题。
2、 使用质量好的短的USB2.0的USB线,并连接在PC机后面的USB口进行固件升级。
3、 检查USB线路上是否接的ESD器件,参数是不是不对。
4、 检查USB供电是否正常:电压和文波。
5、 USB走线是否和其他走线邻层平行。
6、 检查主控和usb相关部分的电阻和电容的参数是否正常。
7、 使用接外电源或者电池供电。
内部资料,不得扩散 3/ 17
福州瑞芯微电子有限公司
2.2. 下载Boot Code成功后测试设备失败
量厂工具提示:
开发工具提示:
内部资料,不得扩散 4/ 17
福州瑞芯微电子有限公司
量产工具log目录下log文件提示:
开发工具log目录下log文件提示:
出现这种问题可能的原因:
1、 DDR颗粒问题或者DDR布板走线问题(概率比较大)。
2、 USB信号不好。
排查问题的办法:
1、 使用DDR测试工具测试DDR是否有焊接问题。
2、 分析PCB DDR走线部分,是否有不符合布板规范的走线。
3、 更换DDR颗粒
4、 USB部分参考 “2.1. Boot Code下载失败”处理办法。
内部资料,不得扩散 5/ 17
福州瑞芯微电子有限公司
2.3. 准备IDB失败(NAND FLASH 或者EMMC 焊接问题)
量产工具提示准备IDB失败:
量产工具log目录下log文件提示:
内部资料,不得扩散 6/ 17
福州瑞芯微电子有限公司
开发工具提示写入ID_BLOCK失败:
开放工具log目录下log文件提示没有找到NAND FLASH,写入ID_BLOCK失败:
出现这种问题可能的原因:
1、 NAND FLASH没有焊好
2、 不支持的NAND FLASH
排查问题的办法:
1、 重新焊接NAND FLASH。
2、 检查电路原理图和NAND FLASH的datasheet,确认NAND FLASH pin38是接对了 (Toshiba、Sandisk和Samsung的大部分flash都需要接vcc,其他flash没有要求)。
3、 不支持的NAND FLASH
联系rockchip fae@,更新最新的NAND FLASH驱动补丁,再查看补丁中的NAND
FLASH支持列表,确认NAND FLASH是否支持。
4、 如果有串口,可以接串口来帮助分析焊接问题
下面是正常的机器打印的串口信息,里面有打印FLASH ID.
内部资料,不得扩散 7/ 17
福州瑞芯微电子有限公司
FLASH ID第一个byte 为厂家信息:
ID
2C
AD
45
89
EC
98
00
FF
其他值
厂家
Micron
Hynix
Sandisk
Intel
Samsung
Toshiba
没有接NAND FLASH
没有接NAND FLASH
NAND FLASH没有焊好或不支持的NAND
FLASH。
容量
32MB
64MB
128MB
256MB
512MB
1GB
2GB
4GB
8GB
16GB
NAND FLASH没有焊好或不支持的NAND
FLASH。
Flash ID第二个byte 为容量信息,下表为常用容量的ID:
ID
75
76
78、79、F1、D1
DA、71
DC
D3、
D5、48
D7、68
D9、88、DE、3A、64
3C、A8、84
其他值
下面列几种分析例子:
内部资料,不得扩散 8/ 17
福州瑞芯微电子有限公司
1)、打印信息如下,那么就是NAND FLASH没有焊好或者EMMC没有焊好。
2)、打印信息如下,只贴了两片NAND FLASH,但是系统却认到4片NAND FLASH,这种情况是是NAND FLASH CS没有焊好。
3)、打印信息如下,贴了两片NAND FLASH,系统也可以认到两片NAND FLASH的ID,但是ID是错误的,根据前面的表格,第一个字节是2c,是美光的NAND FLASH,第二个字节是8C,是错误的,正确的应该是88,可以确定是NAND FLASH没有焊好。
内部资料,不得扩散 9/ 17
福州瑞芯微电子有限公司
2.4. 写入IDB失败
量产工具提示写入ID_BLOCK失败:
开发工具提示写入ID_BLOCK失败:
开发工具log目录下log提示比较出错:
内部资料,不得扩散 10/ 17
福州瑞芯微电子有限公司
量产工具log目录下log提示:
并且LOG目录中有几个bin文件:
用文件内容比较工具比较文件名前缀相同,后缀为“flash”和”file”的两个文件,例如比较:
下面这种情况,只有一个bits或者几个bits差异的,是DDR问题,参考“2.2.下载Boot Code成功后测试设备失败”的处理方法。
内部资料,不得扩散 11/ 17
福州瑞芯微电子有限公司
下面这种情况,有非常多的bits不同,一般是flash有问题,可以多升级几次固件看是否可以解决.
如果NAND FLASH电源文波太大或者没有使用滤波电容,可能也会出现这个问题。
电源正常的情况下多次升级不能解决的,需要更换flash解决。
2.5. 下载固件失败
量产工具提示下载固件失败:
内部资料,不得扩散 12/ 17
福州瑞芯微电子有限公司
量产工具log目录下log提示WriteLBA failed,出错代码 (-3):
量产工具log目录下log提示ReadLBA failed,出错代码 (-4):
这两种情况,都是usb通讯中断了,参考“ Code下载失败”处理办法。
量产工具log目录下log提示RKA_File_Check failed:
这种情况下log目下还会生成两个,一个是固件要写到flash的数据,一个是flash里面读出来错误 数据:
内部资料,不得扩散 13/ 17
福州瑞芯微电子有限公司
用文件内容比较工具比较这两个文件:
下面这种情况,只有一个bits或者几个bits差异的,是DDR问题,参考“2.2.下载Boot Code成功后测试设备失败”的处理方法。
下面这种情况,有非常多的bits不同,一般是NAND FLASH有问题,可以先尝试用量产工具的方式升级固件,或者用开发工具后,再升级固件。
如果NAND FLASH电源文波太大或者没有使用滤波电容,可能也会出现这个问题。
如果电源正常并重新升级不能解决问题,需要更换NAND FLASH解决问题。
开发工具的提示及log信息和量产工具的log类似,可以参考量产工具的情况处理。
2.6. 校验芯片失败
量产工具在下载固件时提示校验芯片失败,这种问题一般都是固件选择错了,固件和芯片不匹配。在开发阶段,可能会是打包固件时参数配置错了。
开发工具不会校验芯片信息,如果升级了错误的固件会出现不开机或者进入固件升级模式,那么需要重新升级正确的固件解决。
内部资料,不得扩散 14/ 17
福州瑞芯微电子有限公司
上图的固件是rk30的,打包时参数配置错误,配置成RK29了。
解决办法:
打开文件,修改
修改芯片参数,给我“-RK30”.
更多详细的配置信息参考固件生成工具目录下的文档。
内部资料,不得扩散 15/ 17
福州瑞芯微电子有限公司
3. 其他问题
3.1. 升级固件完自动重启后还在升级模式
用开发工具升级固件后,不开机,连接USB在在升级模式,串口信息提示如下:
这种情况,都是升级固件时,升级了,没有升级引起的。
解决办法:
重新升级或者往misc分区写入一个大于32KB的其他文件清除misc分区中的命令。
内部资料,不得扩散 16/ 17


发布评论