AnsweredAssumed Answered

Access to external memory during DMA transfer

Question asked by haenel.cyril on Jan 9, 2012
Latest reply on Jan 10, 2012 by prasad.balmukund
Hi all, my question is in direct relation with the AN3241 application note (TFT-LCD direct drive using the STM32F10xx FSMC peripheral).
In the application note, two mode are possible (page 11, 2.4.1), "slide show" with two image (or more) displayed at fixed interval, and "banner display mode", where images in SRAM buffer are dynamically updated to show an animation. In this mode, SRAM is updated with new image after one complete frame refresh of the TFT.

For my use, I want to add a graphic library over the frame buffer (external static RAM), to print lines, pixels, fonts, icons, and so on. But it seems that during a DMA frame refresh of the TFT we cannot access the static ram to update framebuffer data ?
I think it's possible to use a double buffering principle, where a frame buffer is alway used for TFT refresh continuously, until we update the second frame buffer, and switch on it when it is ready. But is it possible to have the 2 frame buffer (thus 2 memory area) in the same static ram or it will be mandatory to use 2 static ram ? In other word, is it possible to access in a single static ram one framebuffer zone, with in the same time continuous DMA refresh of the TFT with the second framebuffer zone ?

As I said, my goal is to implement a complete graphic system over the frame buffer, and not just display static image.