Hello,
I'm working with an STM32 (specifically the STM32F103ZE) with an external NAND Flash memory connected to it. I'm using the memory chip and schematic described in ST's application note AN2784 (www.st.com/.../14779.pdf). I've used the example code that comes with uVision for reading from the flash, however I took out the loop that reads from the data area of the FSMC NAND region and replaced it with a DMA transfer to the internal SRAM. Even then, transfer speeds are too slow (about 4.5 to 5 ms for reading a 16 KB block, which works out to 3.2 MB/s).
I've clocked the processor and FSMC bus at the maximum frequency of 72 MHz, so I can't improve on that. Probing the Read line of the flash with an oscilloscope, I see a delay of about 280 ns between each pulse in the line, or 20-21 processor cycles. According to the flash memory's datasheet, this delay could be reduced to 50 ns. Now I know the DMA unit has certain delays, but from what I read of the Insider's Guide to the STM32 (www.st.com/.../1221142709.pdf) and ST's application note AN2548 (www.st.com/.../13529.pdf), it should be perhaps half that, unless I'm missing something. Can anyone provide some suggestions to improve performance?
Thanks
Décio