335平台部分flash用烧录器烧写不能启动问题
问题题背景描述:
335平台在 更换1gflash 型号后 ,有29F8G08ABABA 更换为29F8G08ABACA 后。部分flash 存在坏块。
用烧录器烧写后部分核心板不能能启动。但是用sd卡重新烧写系统后,核心板能正常启动。
基于此问题。领导交代任务,查出烧录器烧写不能启动原因所在,
此问题需要 生产协助
1,受限验证烧录器是否 可以检测检测坏块,和我们的uboot检测的坏块位置是否一致
通过在生产看 烧录器 检测和擦除flash 时 报的坏块和我能uboot 检测的坏块是一致的。
烧录器检测到nand坏块
此核心板sd卡启动检测坏块也是九个
Device 0 bad blocks:
00400000 /40000=0x10
0c280000 /40000=0x30a
32300000 ... c8c
37a80000 ... dea
39580000 ... e56
3bc80000 ... ef2
3de00000 ... f78
3ed00000 ... fb4
3ef80000 ... fbe
据此得出结论,烧录器检测坏块和我们的uboot检测坏块一致。第一个怀疑因素不成立。
坏块0x10 影响我们的uboot
2.从生产拿了两个烧录器烧写后不能启动和核心板。和烧录器烧写后能启动的核心板一块。
不能启动的核心板打印信息如下:
U-Boot SPL 2011.09 (Jul 02 2019 - 14:25:52)
Texas Instruments Revision detection unimplemented
Booting from NAND...
MT29F8G08
mkimage signature not found - ih_magic = ffffffff
Assuming u-boot.bin ..
MLO using backup u-boot.img
mkimage signature not found - ih_magic = 8081222c
Assuming u-boot.bin ..
通过上述问题,发现uboot 分区 和uboot备份分区读出的ih_magic 都是错误的,导致uboot镜像的校验失败,根本不能加载nand中的uboot镜像到内核。是什么问题提导致如此严重的问题? 我们可以看一下相应的分区的内用
根据上述能容 我们发现了烧录器的问题:
烧录器在制作母片时 ,将我们整个的nand 内容做为镜像文件内容。在往烧录器写镜像时 ,将我们镜像从flash 0 地址开始烧写。 当写到16块时地址0x400000 ,检测到是坏块,跳过,下一个块(0x440000)继续烧写,这就相当于后续的镜像内容的地址都会后移0x40000个地址。那么我们的主分区镜像就会在0x840000烧写。与我们看到的flash内容一致。
那我们uboot 读 nand的uboot的代码如下:
分析镜像头文件
经过分析,在主分区由于烧录器的原因导致我们不能 从主分区加载uboot 。那为什么备份分区的加载呢。
刚开始怀疑 是不是检测坏块功能失误到时
编译后 ,烧写看启动信息如下。U-Boot 2011.09 (Apr 13 2020 - 14:49:52)
I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
Did not find a recognized configuration, assuming General purpose EVM in Profile 0 with Daughter board
NAND: HW ECC BCH16 Selected
U-Boot SPL 2011.09 (Apr 13 2020 - 14:49:52)
Texas Instruments Revision detection unimplemented
Booting from NAND...
MT29F8G08
*****off is 800000 block is 10,lastblock is10
block 10 is a good block
*****off is 800000 block is 10,lastblock is11
block 10 is a good block
*****off is 800000 block is 11,lastblock is11
block 11 is a good block
发现地址对,但是坏块地址不对坏块地址不对。 块大小256k 在0x800000 对应的地址应该32 ,而非16.
查看phys_erase_shift 地址设置。
移动19位,块大小位512k。
重新编译,烧写启动
U-Boot SPL 2011.09 (Apr 13 2020 - 14:49:52)
Texas Instruments Revision detection unimplemented
Booting from NAND...
MT29F8G08
*****off is 800000 block is 20,lastblock is20
block 20 is a good block
*****off is 800000 block is 20,lastblock is21
block 20 is a good block
*****off is 800000 block is 21,lastblock is21
block 21 is a good block
将800000 内容删除 ,备份分区可以启动
U-Boot 2011.09 (Apr 13 2020 - 14:49:52)
OK335X# nand erase 800000 200000
NAND erase: device 0 offset 0x800000, size 0x200000
OK
OK335X#
U-Boot SPL 2011.09 (Apr 13 2020 - 14:49:52)
Texas Instruments Revision detection unimplemented
Booting from NAND...
MT29F8G08
*****off is 800000 block is 20,lastblock is20
block 20 is a good block
mkimage signature not found - ih_magic = ffffffff
Assuming u-boot.bin ..
MLO using backup u-boot.img
*****off is 400000 block is 10,lastblock is10
block 10 is a bad block
*****off is 400000 block is 11,lastblock is11
block 11 is a good block
*****off is 400000 block is 10,lastblock is11
block 10 is a bad block
*****off is 400000 block is 11,lastblock is12
block 11 is a good block
*****off is 400000 block is 12,lastblock is12
block 12 is a good block
U-Boot 2011.09 (Apr 13 2020 - 14:49:52)
I2C: ready
335平台部分flash用烧录器烧写不能启动问题相关推荐
- Arduino Mega2560 作为烧录器烧写Mega2560的bootloader
本文参考自:http://www.51hei.com/bbs/dpj-48026-1.html 打开arduino IDE 软件,菜单栏 文件-->示例-->ArduinoISP,这个就是 ...
- 杰理之一拖八烧录器烧写外挂flash说明【篇】
1.packres.exe为资源打包程序 http://pkgman.jieliapp.com/doc/all的下载目录工具里面这个EXE 将packres.exe放到toy目录下,在 downloa ...
- Uboot初次编译、烧写、启动(启动界面log简析)
目录 U-Boot 初次编译 U-Boot 烧写与启动 上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的,下面均有实现步骤讲解. U-Boot 初次编译 先编译体验 ...
- 编程器烧写NAND flash的一些说明
注意事项: 1.大小端模式,也即在使用编程器时需不需要做字节反序 2.Spare area处理方式,需要还是不需要,是否含有私有ECC算法. 3.坏块处理方式. 摘要一段说明如下:(虽然针对西尔特SU ...
- nios 双核 烧录_FPGA烧写NIOS ii程序至FLASH(epcs)中
硬件平台:黑金开发板 软件平台:quartus 11.0 NIOS II 11.0IDE FPGA芯片:EP4CE6F17C8N 1. 新建工程,bdf文件,这些不做具体说明了,网络资料详 ...
- linux擦除nandflash分区,【Linux公开课】NAND Flash存储器分区、烧写流程图、格式化NAND Flash...
摘要本章主要讲述EasyARM-iMX283A Linux固件的烧写方法,可以通过TF卡.USB两种方式进行整体固件烧写,也可以通过网络进行局部固件升级. 第9章 系统固件烧写 本章主要讲述EasyA ...
- 编程器烧写nandflash(西尔特SuperPro_5000E)
一.烧写工具: 三星K9F1G08U0B Nandflash,西尔特SUPERPRO-5000E烧写器 二.烧写步骤: 1. 读取能正常启动的nandflash中数据.读取数据时,器件配置 ...
- Jetson TX2核心板系统烧录、烧写
1.从官网https://developer.nvidia.com/embedded/jetpack中下载sdkmanager,需登录事先在官网注册的账号(免费),但Jetpack4.3版本一直无法登 ...
- 米联客 ZYNQ/SOC 精品教程 S02-CH29 基于TCP的QSPI Flash bin文件网络烧写
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...
最新文章
- Java多线程编程那些事:volatile解惑--转
- 浅谈SAP CRM开发——基本业务概念
- HDU - 3338 Kakuro Extension(最大流+思维建边)
- angular的$http发送post,get请求无法传送参数的问题
- SAP License:SAP顾问行业的生活状态实录,新人值得一看!
- dtc mysql_DTCC归来-高可用可扩展数据库架构探讨
- 利用python在word文档中查找关键字(支持多个文档和多个关键字)
- Qt 动态加载.qrc文件
- ldap 统一认证 java_LDAP统一认证
- CSS实现单行、多行文本溢出显示省略号(…)
- 工作学习办公软件助手集合
- 5G产业(一):5G超低延时噱头?
- 阿里云的DMZ区网络
- 关于MAC地址修改和扩展以太网
- XyplayerX4.0 影视解析源码+解析接口+安装步骤
- 一篇让我感动的文章: 五年考研
- Ubuntu操作系统如何搭建可视化界面?
- Linux查看目录大小文件大小内存大小硬盘大小
- 计算机导论题目2020,计算机网络论文题目_
- 2022-08-15
热门文章
- 用python把文本转换为数字
- 读《聪明的投资者》有感
- 个人使用 UE4 C++ 函数库(AES-ECB加密注册机)
- Python数据分析与可视化(数据分析)
- 【通信】【2】《宽带太赫兹通信技术》的笔记和一些简单的词汇的意思(误
- 2021.03.30【2021省赛】模拟 比赛总结
- 海水淡化膜:反渗透RO膜系统预处理概述
- R语言学习丨数据存储文件格式知识,CSV,EXCEL,XML,JSON,MYSQL等
- 发现了更好的 MSIL编辑器,看来我的MSIL STUDIO来晚了~~
- msysgit Permission denied (publickey)