问题题背景描述:

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用烧录器烧写不能启动问题相关推荐

  1. Arduino Mega2560 作为烧录器烧写Mega2560的bootloader

    本文参考自:http://www.51hei.com/bbs/dpj-48026-1.html 打开arduino IDE 软件,菜单栏 文件-->示例-->ArduinoISP,这个就是 ...

  2. 杰理之一拖八烧录器烧写外挂flash说明【篇】

    1.packres.exe为资源打包程序 http://pkgman.jieliapp.com/doc/all的下载目录工具里面这个EXE 将packres.exe放到toy目录下,在 downloa ...

  3. Uboot初次编译、烧写、启动(启动界面log简析)

    目录 U-Boot 初次编译 U-Boot 烧写与启动 上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的,下面均有实现步骤讲解. U-Boot 初次编译 先编译体验 ...

  4. 编程器烧写NAND flash的一些说明

    注意事项: 1.大小端模式,也即在使用编程器时需不需要做字节反序 2.Spare area处理方式,需要还是不需要,是否含有私有ECC算法. 3.坏块处理方式. 摘要一段说明如下:(虽然针对西尔特SU ...

  5. nios 双核 烧录_FPGA烧写NIOS ii程序至FLASH(epcs)中

    硬件平台:黑金开发板 软件平台:quartus 11.0  NIOS II 11.0IDE FPGA芯片:EP4CE6F17C8N 1.      新建工程,bdf文件,这些不做具体说明了,网络资料详 ...

  6. linux擦除nandflash分区,【Linux公开课】NAND Flash存储器分区、烧写流程图、格式化NAND Flash...

    摘要本章主要讲述EasyARM-iMX283A Linux固件的烧写方法,可以通过TF卡.USB两种方式进行整体固件烧写,也可以通过网络进行局部固件升级. 第9章 系统固件烧写 本章主要讲述EasyA ...

  7. 编程器烧写nandflash(西尔特SuperPro_5000E)

    一.烧写工具: 三星K9F1G08U0B Nandflash,西尔特SUPERPRO-5000E烧写器 二.烧写步骤: 1.       读取能正常启动的nandflash中数据.读取数据时,器件配置 ...

  8. Jetson TX2核心板系统烧录、烧写

    1.从官网https://developer.nvidia.com/embedded/jetpack中下载sdkmanager,需登录事先在官网注册的账号(免费),但Jetpack4.3版本一直无法登 ...

  9. 米联客 ZYNQ/SOC 精品教程 S02-CH29 基于TCP的QSPI Flash bin文件网络烧写

    软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...

最新文章

  1. Java多线程编程那些事:volatile解惑--转
  2. 浅谈SAP CRM开发——基本业务概念
  3. HDU - 3338 Kakuro Extension(最大流+思维建边)
  4. angular的$http发送post,get请求无法传送参数的问题
  5. SAP License:SAP顾问行业的生活状态实录,新人值得一看!
  6. dtc mysql_DTCC归来-高可用可扩展数据库架构探讨
  7. 利用python在word文档中查找关键字(支持多个文档和多个关键字)
  8. Qt 动态加载.qrc文件
  9. ldap 统一认证 java_LDAP统一认证
  10. CSS实现单行、多行文本溢出显示省略号(…)
  11. 工作学习办公软件助手集合
  12. 5G产业(一):5G超低延时噱头?
  13. 阿里云的DMZ区网络
  14. 关于MAC地址修改和扩展以太网
  15. XyplayerX4.0 影视解析源码+解析接口+安装步骤
  16. 一篇让我感动的文章: 五年考研
  17. Ubuntu操作系统如何搭建可视化界面?
  18. Linux查看目录大小文件大小内存大小硬盘大小
  19. 计算机导论题目2020,计算机网络论文题目_
  20. 2022-08-15

热门文章

  1. 用python把文本转换为数字
  2. 读《聪明的投资者》有感
  3. 个人使用 UE4 C++ 函数库(AES-ECB加密注册机)
  4. Python数据分析与可视化(数据分析)
  5. 【通信】【2】《宽带太赫兹通信技术》的笔记和一些简单的词汇的意思(误
  6. 2021.03.30【2021省赛】模拟 比赛总结
  7. 海水淡化膜:反渗透RO膜系统预处理概述
  8. R语言学习丨数据存储文件格式知识,CSV,EXCEL,XML,JSON,MYSQL等
  9. 发现了更好的 MSIL编辑器,看来我的MSIL STUDIO来晚了~~
  10. msysgit Permission denied (publickey)