Hi3520烧写flash失败问题分析
背景
CPU芯片型号:Hi3520 DRQCV300 CP3091820 1820-CHINA
flash型号:MX25L12835FM2I-10G 【spi nor flash】
工厂生产的样板回来后,热风枪拆下flash,然后又焊接上,使用HiTool工具烧写固件时出现30%概率烧写失败,识别flash失败或者擦除失败,或者烧写成功但启动失败;拆下之前正常使用板子的flash也出现了30%概率的烧写失败。
烧写
HiTool烧写失败差图
识别flash失败打印如下:
U-Boot 2010.06 (Jul 31 2019 - 09:58:04)Check Flash Memory Controller v100 ... Found
Cannot found a valid SPI Nand Device
*** Warning - bad CRC, using default environmentIn: serial
Out: serial
Err: serial
start download process.Boot Started successfully!Send command: getinfo version
version: 3.0.3
[EOT](OK)Send command: getinfo bootmode
spi
[EOT](OK)Send command: getinfo spi
no find spi
[EOT](OK)
Invalid spi flash block size!
识别出2片flash,且擦除失败打印如下:
Check Flash Memory Controller v100 ... Found
SPI Nor(cs 0) ID: 0xc2 0x20 0x18
spi_general_write_enable(141): Error: Write Enable failed! status: 0x20
Block:64KB Chip:16MB Name:"MX25L128XX"
SPI Nor(cs 1) ID: 0xc2 0x20 0x18
spi_general_write_enable(141): Error: Write Enable failed! status: 0x20
Block:64KB Chip:16MB Name:"MX25L128XX"
SPI Nor total size: 32MB
Send command: getinfo spi
Block:64KB Chip:16MB*2
ID:0xC2 0x20 0x18
Name:"MX25L128XX"
[EOT](OK)
Send command: sf erase 0x0 0x80000
spi_general_write_enable(141): Error: Write Enable failed! status: 0x20Erasing at 0x10000 -- 12% complete.
Erasing at 0x20000 -- 25% complete.spi_general_write_enable(141): Error: Write Enable failed! status: 0x20Erasing at 0x30000 -- 37% complete.
Erasing at 0x40000 -- 50% complete.spi_general_write_enable(141): Error: Write Enable failed! status: 0x20Erasing at 0x50000 -- 62% complete.
Erasing at 0x60000 -- 75% complete.spi_general_write_enable(141): Error: Write Enable failed! status: 0x20
烧写无异常但启动内核失败打印如下:
Wrong Image Format for bootm commandERROR: can't get kernel image!hisilicon #
打印出内核的数据是乱码。
分析
由于烧录器被拿走了,暂不能测试使用烧录器是什么情况,后续待测。
使用之前0.2版本的板子烧写一样问题无改善;
目前怀疑是flash品质问题,待进一步确认。。。
使用烧录器验证
烧录器:CH341A PRO,打开软件后闪退并且文件消失,需要把杀毒软件关闭。
第一种情况:无法识别;
第二种情况:擦除失败;
第三种情况:编程后校验失败;
结论:使用Hitool烧写失败的flash使用烧录器还是烧写失败;如果忽略错误提示就算显示和读取出来对比成功,焊接在板子上面依然启动失败;并且多次焊接后,有一个擦除失败的flash不能识别了,难道多次热风焊接后就坏了吗?
全新20片flash验证
验证计划:使用烧录器,擦除,查空,编程,校验,读取都要成功,不要报任何错,且读取出的文件能对比成功才算通过;计算出烧写失败的概率;
然后焊接到板子上面进行启动验证;
然后使用HiTool烧写启动验证;
然后拆下重新焊上烧写验证;
最新验证结果:
1、6片烧录器烧录成功,使用底座在B样视频板启动成功;
2、4片使用底座在B样视频板HiTool烧写启动成功;
3、5片空片加热后使用B样视频板HiTool烧写启动成功;
4、其他20片使用烧录器识别成功;
5、焊接5片到C样启动和烧写验证正常;
结论
工厂出来的flash芯片没有问题,可能是在生产过程中焊接或者手动拆下焊接导致的损坏,建议生产温度曲线300多度,手动焊接温度300多且不要加热太久。
Hi3520烧写flash失败问题分析相关推荐
- 晶振虚焊导致TI 28335 DSP 烧写FLASH后,连接仿真器时正常工作,拔掉仿真器却不能启动运行...
遇到个诡异的问题,28335的DSP,之前程序调试一切正常,但是烧写FLASH后,拔掉仿真器却始终部工作. 解决思路: 1) 检查配置文件貌似没什么问题,复制到其他工程,在开发板上拔掉仿真器启动正常. ...
- c# MODBUS协议源码 上/下位机源码烧写Flash工具
c# MODBUS协议源码 上/下位机源码烧写Flash工具 包含: 1.C#上位机源码 2.上位机源码包含MODBUS协议源码 3.下位机源码 下位机源码采用STM32F10x芯片 的uC/OS-I ...
- TMS320F28335程序烧写FLASH
DSP TMS320F28335 FLASH烧写 1.检查map文件 在烧写之前,首先检查Debug目录下的.map文件,如果Debug文件下没有,检查其他的文件夹,每个项目中都会有.map文件. 打 ...
- s3c4510 烧写flash
原创:s3c4510 烧写flash(sst39vf3201) 补齐了所有文件 参考其他资料 作者:wangkj 栏目:ARM技术 原创:S3C4510 烧写FLASH(SST39VF3201) 补齐 ...
- CCS v5中烧写Flash实录:成功+失败
记于2013年08月23日 环境:Win7 + CCS v5 + XDS100v2仿真器 + TMS320CF2812芯片 烧写方法:将SRAM.cmd替换成FLASH.cmd.一个通用的用于F281 ...
- 在TI DSP开发板中烧写Flash程序
实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写:二是通过开发商提供的专门软件工具+在线仿真器烧写:三是自己编程通过DSP烧写.个人使用的是合众达电子SEED-VPM642开发 ...
- 使用JTAG Flash Programmer烧写Flash
除了JTAG Probe以外,TopJTAG公司还有一款JTAG Flash Programmer 软件,该软件同样利用JTAG接口和现有的各种仿真器来控制芯片,通过改变一组I/O状态,模拟总线时序来 ...
- sdk烧写flash报error:given target do not exis处理方式
问题如图所示 1.关闭hw_server服务.打开任务管理器,在进程中找到hw_server并结束进程: 2.重新启动hw_server服务.插拔jtag,打开vivado重新Open target并 ...
- MDK 5.25 J-link V9 烧写程序失败
软件环境:MDK 5.25 硬件:J-link V9,固件J-Link V9 compiled Mar 2 2018 17:07:57.J-link驱动版本V6.14a. 最开始能够烧写程序.但是有一 ...
最新文章
- spring 源码 找不到 taskprovider_一步一步构建Spring5源码
- 人类正在进入超级智能时代,论一种新超级智能的崛起
- 《统计学习方法》-李航、《机器学习-西瓜书》-周志华总结+Python代码连载(一)--模型选择+误差评估
- 制作精良、意犹未尽的异色推理小剧场《Tangle Tower 缠结塔》
- 利用js实现 禁用浏览器后退| 去除上一个历史记录链接
- android lcd驱动框架,LCD驱动及Framebuffer相关(转载)
- CSDN编程挑战——《-3+1》
- Perspective Mockups mac(PS透视模型动作插件)支持ps2021
- java泛型函数类型推断_为什么javac可以推断用作参数的函数的泛型类型参数?
- slice()如何在jQuery中工作
- 【SQL Server 2016】【SSMS 17】安装
- Fortran入门教程(一)——引入篇
- 阿里云总监课,存储系统设计——NVMe SSD性能影响因素一探究竟
- 用 C++ 在Windows中清空回收站内文件/隐藏和显示桌面图标 / Windows任务栏 / 任务栏时钟 / 更改桌面壁纸
- vue父子组件赋值操作时报错Avoid mutating a prop directly since the value will be overwritten whenever
- 分享两个音乐播放地址
- Socket套接字通信 TCP UDP详解(网络通信)
- 微信小程序_文档_05_框架_组件_插件_多线程_兼容_优化
- 三十二楼层选几层最好_一般买房买几楼比较好 1一32高楼层选最佳楼层
- Uiautomator2命令