2019-10-21 03:26 PM
The HAL hides so much functionality of the DMA2D IP block that I can't work this one out and the reference manual doesn't help much either!
Writing a block of memory (e.g. bitmap file) to display memory window uses output offset to define the top left corner and width and height (in NLR) to stay within the window.
I'd like to read from a window in the display memory to create an image backing store (I have a lot of changing images).
The input offset will put me at the top left corner of the window as my source address but I can't work out if the width/height in the NLR register are applied to the input pointer advance on each line of the window scan or if it is only used on the output (destination) side.
2019-10-21 10:27 PM
NLR determines the total number of transfers.
FGR and BGR contain the number of pixels to be skipped between lines on the input side, for foreground and bacground, resectively. If your source is full-width (the ready-made picture), then this is the difference between the full-width and width-of-window-to-be-transferred.
OOR contains the same thing for the output side. If you want to store the window's content "linearly", set it to zero.
JW