2013-05-27 04:00 PM
Hi,
I'm using this Board: http://www.keil.com/support/man/docs/mcbstm32f200/mcbstm32f200_to_memory.htm to build up a small webserver interface. I want to put the website data on the NAND-Flash. But what is the Adress of the Area? Why KEIL wrote ''Not directly mapped to a memory area''. How can I access the memory then? please help. Alex #flash #nand #adress2013-05-27 05:40 PM
NAND is not ''mapped'' into memory in the regular sense, so you can't memcpy() or whatever directly to it in a random-access fashion. It acts more like a hard drive (block device), there are addresses to send COMMAND, ADDRESS and DATA values, and these select blocks/pages within the larger NAND array, and permit the retrieval of data situated there.
The DATA register is at 0x80000000, the ADDR 0x80020000, CMD 0x80010000, as best I can tell from the example files. The way the address is configured to the device, it will not see low order address bits, a memcpy(holdbuf, 0x80000000, 0x10000); will effectively stream 64KB out of the NAND as it will look like a repetitive access to the DATA register. Also note with an address space of less than 256KB you could access a device potential holding several GB of memory, which could well exceed the 4GB limit of a 32-bit address bus.