Hi3520烧写flash失败问题分析

2024-04-24 19:08

本文主要是介绍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失败问题分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932586

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

C++ scoped_ptr 和 unique_ptr对比分析

《C++scoped_ptr和unique_ptr对比分析》本文介绍了C++中的`scoped_ptr`和`unique_ptr`,详细比较了它们的特性、使用场景以及现代C++推荐的使用`uni... 目录1. scoped_ptr基本特性主要特点2. unique_ptr基本用法3. 主要区别对比4. u

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng