2016-07-11 11:23 PM
Hi everyone, I have a display hooked up to an STM32F767 via the FMC and all is working properly. When I try to use DMA2D the DMA2D will only transfer the first 64K of data. There is no error generated, it appears to be successful and the first 64K of the image looks fine. Using buffers smaller than 64K work flawlessly. Has anyone found a way to DMA a full screen buffer in one DMA2D pass. This seems to work when using the LTDC controller, but I have had no luck getting it to work with a FMC 8080 interface. I have tried it on an ssd1289 display and a raio8875 and both have this 64k boundary issue. The only way I have been able to get the data over using DMA2D is to transfer 64K at a time.
Any help would be greatly appreciated.Thank You.2016-07-12 08:48 AM
Hi vigelette.george.002,
I recommend that you refer to the DMA2D example in intiteled ''DMA2D_MemToMemWithLCD'' ath this path: STM32Cube_FW_F7_V1.4.0\Projects\STM32756G_EVAL\Examples\DMA2D This example provides a description of how to configure DMA2D peripheral in Memory_to_Memory transfer mode and display the result on LCD. The source buffer in format ARGB4444 and size 150x150 located in Flash is copied in Memory to Memory mode by the DMA2D in SRAM Destination buffer of same size and format. This SRAM buffer is then displayed by the LTDC centered on LCD screen. How to calculate the size of the transferred data ? => selected color mode gives the number of bits per pixel and we have (ARGB4444 => 16bits/pixel) the number of pixel per line and the number of line, therefore : data_size = (bits per pixel) X (pixel per line + output offset) X (number of line) -Hannibal-2016-07-12 11:42 AM
2016-07-12 11:56 AM