how to read NAND(and input Chinese)

Andy Green andy at openmoko.com
Thu Jun 26 10:00:49 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Somebody in the thread at some point said:
| Andy Green wrote:
|> ~ - reading block data from NAND and getting OOB data with it too
|> ~ - try to use hardware ECC (error correction) like U-Boot
|> ~ - look in OOB and find if it marks block bad
|> - -Andy
| i search some knowledge about NAND, but i still have no idea about READ
| a program from NAND.
| so i need some tip.
| something like:
| step    1. initialization  NAND.
|          2. what the blink_led program should be in NAND.

First job is just to prove you can read and write a block of data in
NAND, don't worry about moving code there yet.

Look at

~ ./cpu/arm920t/s3c24x0/nand_read.c

this has the low level access functions for cpu NAND.

~ ./drivers/mtd/nand/nand_base.c

and others in that directory implement main functions for cpu NAND.

If you didn't use NAND before, the big thing to understand is that it is
NOT memory mapped like normal storage.  Instead, just a couple of
registers are memory mapped.  You send commands down the registers to
request a block, then you read the a register to get the block data back.

If U-Boot is too confusing, maybe it can be quicker to read the s3c2442
datasheet NAND section.

| By the way there are another two question:

I don't know anything about this side, sorry.  Someone in .tw can help
better.

- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iEYEARECAAYFAkhjTKoACgkQOjLpvpq7dMpyFQCeLPuGBoBDamzlv+MnDREpQMqD
5yUAmwXfXBAf+Ekr2Kt1mWR1nLjYGXEP
=eKaR
-----END PGP SIGNATURE-----




More information about the openmoko-kernel mailing list