2014-05-31 03:45 AM
Hey, I am presently transferring an image from a camera (connected through DCMI) to the internal SRAM via the DMA. This way I'm able to get the whole image. However, when I try to write into the external SRAM through the FSMC, I encounter a FIFO error or a direct mode transfer error depending on whether memory incrementation is set or not. Am I supposed to change any other configurations in the DMA? Also, my FSMC is configured according to an example code provided for the STM322xg eval.
#fsmc #dma #fifo #direct-mode2014-05-31 04:47 AM
DCMI data transfers require very low latency memory because of small DMA FIFO depth. There is no problem with internal SRAM, but external SRAM/SDRAM accessed through FMC/FSMC might not always meet this requirement.
On F4 MCU I got the best result enabling DMA FIFO and setting the lowest threshold for transfer. I don't know STM322xg eval, check FSMC registers and your SRAM model, to see whether there is room for timing parameter optimization or not.2014-06-01 09:22 PM
Hey, I reconfigured the FSMC initialization settings and changed the fifo threshold from full to the minimum (1/4th in this case). Now the image seems to be getting transferred. Thanks for your help.