Other Parts Discussed in Thread: MIO, AM3359
Hello *,
I am using the GPMC NAND flash interface with an 8bit NAND flash (cycle time == 40ns).
I am using the prefetch engine in read mode, doing polling to read the data from the FIFO.
If I try to read a page (2048 bytes) from NAND, I see the following behaviour:
- prefetch engine is started, first 100 bytes are transfered in full speed.
- after 100 bytes, prefetch engine is working in chunks of 4 bytes, chip select of NAND is inactive between accesses.
100 bytes is the best case, it gets worse if I disable the data cache.
So I came to the conclusion that the flush of the data cache (to DDR3 RAM) is interrupting the prefetch engine.
I tried to use the internal RAM at 0x402F0400 as data buffer, but this is also interrupting the prefetch engine.
I have NOT tried to use DMA, but I expect no better behaviour as DMA has to write to DDR3 ram also.
So, what is the recommended procedure to programm the prefetch engine to get the expected performance?
TI must somehow have validated the prefetch performance in the release process?
best regards
Wolfgang