How can I update oob data in U-Boot

0

I'm trying to update an oob area of NAND within U-Boot using 'nand write.oob'. However, my changes aren't taking effect.

The process I'm following is:

  • Use 'nand read.oob' to read the oob section for my offset
  • Use 'md' to display that data and make sure it's what I expect
  • Use 'mm' to modify the data in memory to be what I want
  • Use 'nand write.oob' to write the modified data back to nand
  • Use 'nand read.oob' to read the data back from nand
  • Use 'md' to display what should be the modified data on nand.

Unfortunately the data that I read back from NAND appears unmodified.

Is there any way to do what I want?

The processor is a TI DM3730 and the NAND part is the MT29C2G48MAKLCJI-6 IT.

Here's the full output of what I'm doing:

Overo # nand info

Device 0: nand0, sector size 128 KiB
  Page size      2048 b
  OOB size         64 b
  Erase size   131072 b
Overo # nandecc hw
1-bit hamming HW ECC selected
Overo # nand read.oob 0x80010000 0x20000 40

NAND read: device 0 offset 0x20000, size 0x40
 64 bytes read: OK
Overo # md.b 0x80010000 40
80010000: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
Overo # mm.b 0x80010000
80010000: 00 ? ff
80010001: 00 ? ff 
80010002: ff ? q
Overo # md.b 0x80010000 40
80010000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
Overo # nand write.oob 0x80010000 0x20000 40

NAND write: device 0 offset 0x20000, size 0x40
 64 bytes written: OK
Overo # nand read.oob 0x80010000 0x20000 40

NAND read: device 0 offset 0x20000, size 0x40
 64 bytes read: OK
Overo # md.b 0x80010000 40
80010000: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80010030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................

Notice that the data at 0x80010000 and 0x80010002 is not 'ff' as it should be.

embedded
u-boot
asked on Stack Overflow May 8, 2014 by Tom Hennen • edited May 8, 2014 by Tom Hennen

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0