Performance
UM1743
46/111
DocID026161 Rev 4
Figure 38. Independent layer management
6.3 Hardware
acceleration
With the STM324x9I-EVAL and Discovery Kit demonstration, the hardware acceleration
capabilities of the STM32F429/ STM32F439 cores are used. STemWin offers a set of
customization callbacks to changes the default behavior based on the hardware
capabilities, the optimized processes are implemented in the LCDConf.c file and implement
the following features:
a) Color
conversion
Internally STemWin works with logical colors (ABGR). To be able to translate
these values into index values for the hardware and vice versa the color
conversion routines automatically use the DMA2D for that operation if the layer
work with direct color mode
This low level implementation makes sure that in each case where multiple colors
or index values need to be converted the DMA2D is used.
b) Drawing of index based bitmaps
when drawing index based bitmaps STemWin first loads the palette of the bitmap
into the DMA2Ds LUT instead of directly translating the palette into index values
for the hardware. The drawing operation then is done by only one function call of
the DMA2D.
c) Drawing of high color bitmaps
If the layer works in the same mode as the high color bitmap has its pixel data
available, these bitmaps can be drawn by one function call of the DMA2D. The
following function is used to set up such a function;:
LCD_SetDevFunc(LayerIndex, LCD_DEVFUNC_DRAWBMP_16BPP, pFunc)
;
d) Filling
operations
Setting up the function for filling operations:
LCD_SetDevFunc(LayerIndex, LCD_DEVFUNC_FILLRECT, pFunc)
;
e) Copy
operations
Setting up the functions for copy operations used by the function GUI_CopyRect():
LCD_SetDevFunc(LayerIndex, LCD_DEVFUNC_COPYRECT, pFunc)
;