Help needed with MTD on AT91SAM9263-EK please.

James jamessteward at optusnet.com.au
Wed May 28 18:59:37 EDT 2008


On Thu, 2008-05-29 at 08:52 +1000, James wrote:
> On Wed, 2008-05-28 at 08:24 +0200, Richard Genoud wrote:
> > > So, a page at a time seems ok?
> > yes, all those writings are ok, maybe you can try with
> > if=/dev/urandom, just to see if the OOB region is updated
> 
> root at at91sam9263ek:~/mtd-tools$ ./flash_eraseall /dev/mtd0
> Erasing 128 Kibyte @ 3ee0000 -- 99 % complete.
> root at at91sam9263ek:~/mtd-tools$ dd if=/dev/urandom bs=2k count=1
> of=/dev/mtd0
> 1+0 records in
> 1+0 records out
> root at at91sam9263ek:~/mtd-tools$ nanddump -p -l2048 /dev/mtd0
> ECC failed: 0
> ECC corrected: 0
> Number of bad blocks: 0
> Number of bbt blocks: 0
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x00000000 and ending at 0x00000800...
> 0x00000000: b6 3c bb 90 16 c3 16 63 ab 8a b4 9f f3 bb 22 49
> 0x00000010: 42 9d 48 09 4c 35 f1 51 ec 3d e6 cd 3c f0 c7 87
> <snip>
> 0x000007e0: 9f e4 a6 a7 47 35 5b be 12 3e 36 f6 f5 ef e5 5a
> 0x000007f0: 5b 3e bd 51 27 37 18 cc ab d8 e3 f7 36 09 c2 31
>   OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>   OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>   OOB Data: ff ff ff ff ff ff ff ff 0c 0f 0f ff cf 0f ff 30
>   OOB Data: 0f 95 aa 97 c0 c0 ff 59 69 ab 3f 0c cf 65 9a a7
> 
> So some OOB data is written.
> 
> I don't know what to expect really.  I have soft ECC enabled, and after
> reading a bit of the kernel mtdnand documentation, this appears normal.
> 
> So, do you think this is a hardware timing issue?  Maybe back to back
> writes/reads?

Just out of interest, I did the same over 10 pages.
$ ./flash_eraseall /dev/mtd0
$ dd if=/dev/urandom bs=2k count=10 of=/dev/mtd0
$ nanddump -p -l20480 /dev/mtd0 1> /dev/null
ECC failed: 3
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00005000...
ECC: 1 uncorrectable bitflip(s) at offset 0x00003800

Foobar!

Regards,
James.




More information about the linux-mtd mailing list