Sgs Spinand_debugsop手册¶
REVISION HISTORY¶
| Revision No. | Description |
Date |
|---|---|---|
| 1.0 | 03/05/2024 |
问题1. Spinand estar升级失败问题¶
| 流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | 相关可参考FAQ |
|---|---|---|---|---|---|
| A | 1.检查SOC芯片是否虚焊 2.检查flash芯片是否虚焊 3.检查flash电压是否与规格书匹配 4.检查SOC芯片端引脚与flash芯片端引脚波形是否同步 |
出口条件1: 硬件电路重新补焊还是estar失败 出口条件2: 调节pad driving之后estar失败 出口条件3: estar成功 |
出口条件1: >B 出口条件2: >B 出口条件3: ==>流程结束 |
||
| B | 确认log信息: 1.bad block,坏块错误 2.p fail,写入数据错误 3.-74 ecc err,ecc错误 4.e fail,擦除错误 5.打印“bdma time out”信息 |
出口条件1: 坏块导致estar失败 出口条件2: 写入数据错误导致estar失败 出口条件3: ecc 错误导致estar失败 出口条件4: 擦除错误导致升级失败 出口条件5: bdma timeout导致estar失败 出口条件6: 打印“flash size is 0”或者 “partition size is no enough” |
出口条件1: >C 出口条件2: >D 出口条件3: >E 出口条件4: >F 出口条件5: >G 出口条件6: >请RD确认 |
升级使用的整包image | |
| C | 与厂商核对坏块数量是否在合理值内 | 出口条件1: 坏块数量不合理 出口条件2: 坏块数量合理 |
出口条件1: ==>H 出口条件2: 流程结束 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
|
| D | 1.检查flash 寄存器关于p fail的bit是否置位 2.检查flash寄存器关于写保护的bit是否置位 |
出口条件1: flash寄存器p fail bit置位 出口条件2: flash寄存器写保护相关bit置位 出口条件3: flash寄存器p fail bit与写保护相关bits都为0 |
出口条件1: >与厂商沟通确认p fail的原因 出口条件2: >流程结束寻找RD解题 出口条件3: ==>流程结束寻找RD解题 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 6.提供寄存器状态截图 |
|
| E | 确认ecc 错误出现的page,uboot下使用读取命令单独读取该page的数据,并用ISP tool读取flash ecc相关的寄存器状态 | 出口条件1: flash寄存器反馈ecc错误 出口条件2: flash寄存器未反馈ecc错误 |
出口条件1: >先与厂商确认ecc,理清后寻找RD解题 出口条件2: >流程结束,寻找RD解题 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 6.提供寄存器状态截图 |
|
| F | 1.检查flash 寄存器关于e fail的bit是否置位 2.检查flash寄存器关于写保护的bit是否置位 |
出口条件1: flash寄存器e fail bit置位 出口条件2: flash寄存器写保护相关bit置位 出口条件3: flash寄存器e fail bit与写保护相关bits都为0 |
出口条件1: >与厂商沟通确认e fail的原因 出口条件2: >流程结束,寻找RD解题 出口条件3: ==>流程结束,寻找RD解题 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 6.提供寄存器状态截图 |
|
| G | 检查bdma寄存器状态 | 无 | 无 | 1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.bdma 寄存器信息 6.flash数据手册 |
|
| H | 检查sni或者代码关于当前flash qe bit设置状态 | 出口条件1: qe bit设置不正确 出口条件2: qe bit正确设置 |
出口条件1: >根据数据手册设置qe bit,流程结束 出口条件2: >寻找RD解题,流程结束 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
问题2. Spinand 备份分区启动失败问题¶
| 流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | 相关可参考FAQ |
|---|---|---|---|---|---|
| A | 使用ISP tool dump数据,检查分区信息中是否含有对应分区的备份信息 | 出口条件1: 存在备份分区信息 出口条件2: 无备份分区信息 |
出口条件1: >B 出口条件2: >增加备份分区 |
||
| B | 使用ISP tool 或在uboot下使用nand read读取命令dump备份分区数据并与源文件比对 | 出口条件1: 备份分区数据部分不匹配,并且存在整个block的偏移 出口条件2: 备份分区数据存在部分bytes错误 出口条件3: 备份分区数据与源文件不匹配,且数据混乱无序 出口条件4: 备份分区数据正确 |
出口条件1: >C 出口条件2: >D 出口条件3: >E 出口条件4: >流程结束,寻找RD解题 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
|
| C | 检查备份分区存在坏块数量 | 出口条件1: 存在少量坏块 出口条件2: 无坏块 |
出口条件1: >F 出口条件2: >H |
||
| D | 检查备份分区是否出现ecc错误,此步骤可以请RD协助 | 出口条件1: 存在ecc错误 出口条件2: 不存在ecc错误 |
出口条件1: >擦除备份分区重新升级 出口条件2: >H |
||
| E | 检查升级脚本是否有对备份分区进行数据升级 | 出口条件1: 升级脚本没有升级备份分区 出口条件2: 升级脚本有升级备份分区 |
出口条件1: >增加备份分区升级的相关cmd 出口条件2: >H |
||
| F | 计算实际bin文件的大小加上坏块大小是否超出分区size | 出口条件1: 超出分区size 出口条件2: 未超出分区size |
出口条件1: >G 出口条件2: >流程结束,寻找RD解题 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
|
| G | 检查image config配置允许的坏块数量是否符合当前分区拥有的坏块数量 | 出口条件1: 允许的坏块数量大于实际的坏块数量 出口条件2: 允许的坏块数量小于实际的坏块数量 |
出口条件1: >流程结束,寻找RD解题 出口条件2: >增加允许的坏块数量 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
问题3. Spinand 启动IPL卡死问题¶
| 流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | 相关可参考FAQ |
|---|---|---|---|---|---|
| A | 检查IPL编译 | 出口条件1: 编译的IPL为NAND选项 出口条件2: 编译的IPL选项错误 |
出口条件1: >B 出口条件2: >重新编译IPL |
||
| B | 1.检查SOC芯片是否虚焊 2.检查flash芯片是否虚焊 3.检查flash电压是否与规格书匹配 4.检查SOC芯片端引脚与flash芯片端引脚波形是否同步 |
出口条件1: 确认硬件问题无误 出口条件2: 存在硬件问题 |
出口条件1: >B 出口条件2: >根据具体的硬件问题请CAE rework |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
|
| C | 使用编译确认开启log的IPL烧录,确认IPL反馈的错误信息类型 | 出口条件1: SNI初始化成功,load IPL_CUST Header 直接halt 或者每次开机的现象都不一样 出口条件2: 反馈no sni 出口条件3: 打印log “load IPL_CUST check sum fail” 出口条件4: 打印 E:CD |
出口条件1: >E 出口条件2: >D 出口条件3: >H 出口条件4: >I |
||
| D | 检查IPL的code size是否超出最大规格 | 出口条件1: IPL size没有超出最大限制 出口条件2: IPL size超出最大限制 |
出口条件1: >F 出口条件2: >寻找PM安排相关专业人员裁剪code size |
||
| E | 请CAE使用示波器抓取波形,根据波形信息调整pad driving | 出口条件1: 调整pad driving 之后启动成功 出口条件2: 调整pad driving 之后波形依旧十分临界 |
出口条件1: >流程结束结束 出口条件2: >请CAE rework,在flash引脚处增加电容 |
||
| F | 检查SNI信息是否包含当前flash | 出口条件1: 包含当前flash 出口条件2: 不包含当前flash |
出口条件1: >G 出口条件2: >根据SNI文档增加flash sni信息 |
||
| G | 检查打包生成的cis文件中相关sni信息是否计算crc,可以提供cis文件给RD确认 | 出口条件1: crc数据为空 出口条件2: crc数据有计算 |
出口条件1: >检查打包脚本是否使用snigenerator计算sni的crc 出口条件2: >流程结束,寻找RD解题 |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
|
| I | 查看打印 | 出口条件1: log打印“E:CD” |
出口条件1: ==>J |
||
| J | 使用ISP tool 工具,连接flash,然后dump IPL分区数据与原来的bin文件比对 | 出口条件1: 数据一致 出口条件2: 数据不一致 |
出口条件1: >寻找RD解题 出口条件2: >重新烧录IPL |
1.分支信息 2.编译config 3.分支信息 4.公版复现流程 5.flash数据手册 |
问题4. Spinand ISP Tool 连接失败问题¶
| 流程 | 方法 | 出口条件 | 下一步 | 需要供给SWRD的资料 | 相关可参考FAQ |
|---|---|---|---|---|---|
| A | NA | 出口条件1: ISP tool 连接flash失败 |
出口条件1: ==>B |
||
| B | 查看ISP tool在连接时反馈的信息 | 出口条件1: 红色字样 |
NA | ||
| C | NA | 出口条件1: 连接反馈红色字样 |
出口条件1: ==>D |
||
| D | 请CAE帮忙: 1.检查SOC芯片是否虚焊 2.检查flash芯片是否虚焊 3.检查flash电压是否与规格书匹配 4.检查SOC芯片端引脚与flash芯片端引脚波形是否同步 5.检查跳帽是否匹配 |
出口条件1: 依旧连接失败 出口条件2: 连接成功 |
出口条件1: >寻找RD协助排查 出口条件2: >流程结束 |
1.提供远程环境,并有LA可以使用,RD会指导如何抓取波形 | |
| E | NA | 出口条件1: ISP tool 白色窗口正确反馈flash的id 出口条件2: ISP tool 白色窗口反馈id 不正确 |
出口条件1: >F 出口条件2: >G |
||
| F | NA | 出口条件1: ISP tool 白色窗口正确反馈flash的id |
出口条件1: ==>H |
||
| G | NA | 出口条件1: ISP tool 白色窗口反馈id 为0x00 |
出口条件1: ==>L & J(同步检查) |
||
| H | 使用sni editor(可以找RD拿)打开tool 目录下sni文件,查看是否有对应的flash型号,并且查看id信息是否匹配 | 出口条件1: 无flash相关信息 出口条件2: 有flash相关信息 |
出口条件1: >I 出口条件2: >流程结束,寻找RD解题 |
||
| L | 关闭用于查看uart log的相关软件 | NA | NA | ||
| I | 根据sni手册添加sni | NA | NA | ||
| J | 同D方法一致 | NA | NA |