Hello Everyone,
I'm using LPC1788 custom board and interfaced NAND Flash (K9F1G08U0C) working fine.
In my project i'm working on bulky data to read and write from/to NAND Flash. But the time it takes for read a single page is approx 5.5 millisecond and store data in buffer defined in SDRAM.
It makes my system slow and reduce the performance of system.
I'm reading about 470 pages at a time (Takes about 2.6 sec that is too much time for my application).
I've attached NAND Flash read function at the end of the thread.
I tried using oscilloscope to find which part of my code is time consuming. And i found that the for loop that store data into buffer takes approx 5 millisecond. This for loop store single page (2048 bytes) data.
**
/* Get Data into Buffer */
for(; index < size; index++)
{
pBuffer[index]= *(volatile uint8_t *)(NAND_FLASH_START_ADDR | DATA_AREA);
}
**
What should i do to make this more efficient and faster to read data ?
Is there any other way to store data in buffer faster than this one ?
Thanks in advance.
Check the timing of the EMC, what number of waitstates etc are used when reading a byte ?