背景

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失败问题分析相关推荐

  1. 晶振虚焊导致TI 28335 DSP 烧写FLASH后,连接仿真器时正常工作,拔掉仿真器却不能启动运行...

    遇到个诡异的问题,28335的DSP,之前程序调试一切正常,但是烧写FLASH后,拔掉仿真器却始终部工作. 解决思路: 1) 检查配置文件貌似没什么问题,复制到其他工程,在开发板上拔掉仿真器启动正常. ...

  2. c# MODBUS协议源码 上/下位机源码烧写Flash工具

    c# MODBUS协议源码 上/下位机源码烧写Flash工具 包含: 1.C#上位机源码 2.上位机源码包含MODBUS协议源码 3.下位机源码 下位机源码采用STM32F10x芯片 的uC/OS-I ...

  3. TMS320F28335程序烧写FLASH

    DSP TMS320F28335 FLASH烧写 1.检查map文件 在烧写之前,首先检查Debug目录下的.map文件,如果Debug文件下没有,检查其他的文件夹,每个项目中都会有.map文件. 打 ...

  4. s3c4510 烧写flash

    原创:s3c4510 烧写flash(sst39vf3201) 补齐了所有文件 参考其他资料 作者:wangkj 栏目:ARM技术 原创:S3C4510 烧写FLASH(SST39VF3201) 补齐 ...

  5. CCS v5中烧写Flash实录:成功+失败

    记于2013年08月23日 环境:Win7 + CCS v5 + XDS100v2仿真器 + TMS320CF2812芯片 烧写方法:将SRAM.cmd替换成FLASH.cmd.一个通用的用于F281 ...

  6. 在TI DSP开发板中烧写Flash程序

    实现在FLASH存储器烧写程序一般有以下三种方法:一是通过编程器下载烧写:二是通过开发商提供的专门软件工具+在线仿真器烧写:三是自己编程通过DSP烧写.个人使用的是合众达电子SEED-VPM642开发 ...

  7. 使用JTAG Flash Programmer烧写Flash

    除了JTAG Probe以外,TopJTAG公司还有一款JTAG Flash Programmer 软件,该软件同样利用JTAG接口和现有的各种仿真器来控制芯片,通过改变一组I/O状态,模拟总线时序来 ...

  8. sdk烧写flash报error:given target do not exis处理方式

    问题如图所示 1.关闭hw_server服务.打开任务管理器,在进程中找到hw_server并结束进程: 2.重新启动hw_server服务.插拔jtag,打开vivado重新Open target并 ...

  9. 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. 最开始能够烧写程序.但是有一 ...

最新文章

  1. spring 源码 找不到 taskprovider_一步一步构建Spring5源码
  2. 人类正在进入超级智能时代,论一种新超级智能的崛起
  3. 《统计学习方法》-李航、《机器学习-西瓜书》-周志华总结+Python代码连载(一)--模型选择+误差评估
  4. 制作精良、意犹未尽的异色推理小剧场《Tangle Tower 缠结塔》
  5. 利用js实现 禁用浏览器后退| 去除上一个历史记录链接
  6. android lcd驱动框架,LCD驱动及Framebuffer相关(转载)
  7. CSDN编程挑战——《-3+1》
  8. Perspective Mockups mac(PS透视模型动作插件)支持ps2021
  9. java泛型函数类型推断_为什么javac可以推断用作参数的函数的泛型类型参数?
  10. slice()如何在jQuery中工作
  11. 【SQL Server 2016】【SSMS 17】安装
  12. Fortran入门教程(一)——引入篇
  13. 阿里云总监课,存储系统设计——NVMe SSD性能影响因素一探究竟
  14. 用 C++ 在Windows中清空回收站内文件/隐藏和显示桌面图标 / Windows任务栏 / 任务栏时钟 / 更改桌面壁纸
  15. vue父子组件赋值操作时报错Avoid mutating a prop directly since the value will be overwritten whenever
  16. 分享两个音乐播放地址
  17. Socket套接字通信 TCP UDP详解(网络通信)
  18. 微信小程序_文档_05_框架_组件_插件_多线程_兼容_优化
  19. 三十二楼层选几层最好_一般买房买几楼比较好 1一32高楼层选最佳楼层
  20. Uiautomator2命令

热门文章

  1. VMware 装Windows Server 系统
  2. 特斯拉扔出了一片“二向箔”
  3. Quad Industries、Agfa等公司合作推出塑料12位RFID标签和带有丝印印刷电路的读出
  4. 操作系统-PV操作-独木桥问题
  5. Sybase 报错码 JZ0SA 、JZ0SB、JZ0S3、JZ0R2
  6. Centos8 配置静态IP地址
  7. 学习java第二周——面向对象、堆栈方法区、代码块、抽象类、接口和异常
  8. 变量的基本使用Day2
  9. NVMe over TCP Write/Read命令下发流程梳理
  10. ReentrantLock解锁流程