AnsweredAssumed Answered

DMA Word to HalfWord with memory inc disabled data loss

Question asked by Unparagoned on Jun 4, 2011
Latest reply on Jun 5, 2011 by Unparagoned
Application: Displaying bmp pictures stored on a uSD card.
Board: STM3210E-eval

Edit: I've narrowed down the problem. DMA transfer, where the source buffer is SDIO FIFO which must be Word size (32bit), destination is LCD, which must be halfWord(16bit), and memory incriment needs to be disabled for the destination. Basically the first 16bits are transmitted then the rest are lost instead of being sent. How do I fix this? Example code is a couple posts down. (Source can be anything, including SRAM as long as it's set as Word size.


So far I have this working fine with SDIO, DMA transfer to SRAM, and then DMA transfer to LCD.
But there doesn't seem to be any point in having the SRAM. So I've tried to modfily my program so the information is transfered directly from the SDIO over DMA to the LCD.
The problem is the a bit weird. The picture is displayed in a quarter of the screen, with a copy of it next to it. So only half the screen is filled. I tried reading and displaying one sector at a time and that just makes things more confusing.

I'm really stuck trying to debug this, i've changed every DMA option to see if any would help...

So the main problem I'm having is that I don't know how to start debuging the DMA transfer when memory increment is disabled. Watchpoints don't work... 

Outcomes