 Hello, and welcome to this presentation of the STM32 Chromart Accelerator. It covers the features of this adaptive real-time accelerator block, which is widely used for graphic computing in the microcontroller. The Chromart Accelerator offers true hardware acceleration for graphical operations. The Chromart Accelerator is built around a 2D DMA engine for fast data copy with specific functions to support pixel format conversion, as well as blending operations between two planes. It also provides specific modes for managing anti-aliased fonts. The Chromart Accelerator will offload the CPU for most of the graphical operations with a 1 pixel per cycle throughput, integrated pixel format conversion, and blending. The Chromart Accelerator is fully integrated in graphical stacks, making its software integration transparent to the user. The Chromart Accelerator has four operating modes. Register to memory for rectangle filling operations, memory to memory for 2D memory copy operations, memory to memory with pixel format conversion for bitmap drawing with format conversion, and memory to memory with pixel format conversion and blending for bitmap or text drawing with transparency. The user can independently program all the parameters for the source and the destination, the address of the layer, including its size and position, the color format, and the way transparency is managed. Register to memory mode is used to fill a part or whole destination image with a specific color. The color value is set in a register of the output PFC. Memory to memory mode is used to copy a part or whole source image into a part or whole destination image without changing the color format. Memory to memory mode with pixel format conversion is used to do the same type of copy as memory to memory mode but with a pixel format conversion. It can copy an RGB 565 image into an RGB 888 image without having to use the CPU. Memory to memory mode with pixel format conversion and blending is used to blend a part or whole source image with a part or whole destination image with a different pixel format. This is widely used to draw bitmap icons having transparency or fonts. For each foreground and background layer, the format can be programmed independently. Direct mode fetches the RGB or ARGB content directly from the memory. Indirect mode uses an intermediate color lookup table to determine the color to be used during the copy or blending operation. All the input color modes are transformed internally into ARGB 8888 format to perform the blending operation. The YCBCR mode enables a specific color space converter hardware to convert YCBCR data into RGB data. This block is available on the foreground plane. This color space converter is used to copy or blend uncompressed data from the JPEG decoder into the frame buffer. It allows the user to directly convert YCBCR data arranged in 8 by 8 pixel blocks into a linear RGB format. All the standard YCBCR chroma subsampling formats are supported from 4 to 4 to 4 down to 4 to 2 to 0. This new feature offloads the CPU from this costly operation and makes it 10 times faster. Output modes can be used to efficiently manage texts and fonts. Only the transparency value is stored in memory for rendering anti-aliased fonts. The color is added during the pixel format conversion process and can be programmed by the user. These modes are very efficient for storing high quality bitmap fonts. The output pixel format converter generates the color for the destination independently from the source. There is no indirect mode in output as this would imply to calculate a color lookup table or CLUT. Nevertheless, memory to memory operations without pixel format conversion or PFC can copy data independently of their formats. The fully hardware blender allows blending of a foreground image and a background image with transparency. This can be used to draw bitmap images of any shape with a perfect rendering. One pixel is generated per cycle, making this complex operation much more efficient than if it was done by the CPU. The resulting pixel can be coded independently from the source thanks to the output pixel format converter. The output configuration defines the working area for the chromart operation. The address and the line offset parameters are used to select which sub-area of the output is concerned. The background and foreground layers have their own configuration for address, line offset, and color format. This defines which area of the foreground and background layers are targeted by the chromart operations. The chromart accelerator has six interrupt sources to signal configuration errors CLUT transfer complete, CLUT access error, watermark reach during a transfer, transfer complete and transfer error. No DMA trigger is used as the chromart accelerator embeds its own DMA. The chromart accelerator is active in run and sleep modes. A chromart interrupt can cause the device to exit sleep mode. In stop mode, the chromart accelerator is frozen and its register's content is kept. In standby mode, the chromart accelerator is powered down and it must be reinitialized afterwards. The chromart accelerator is widely used in any graphical application to compute the frame buffer without any CPU load and with a very efficient throughput. It can compose the whole scene with transparency and facilitate the management of animations. Text rendering is also accelerated, making it easy and efficient to manage anti-aliased fonts. You can refer to the trainings related to the RCC and interrupts for additional information. The chromart accelerator is implemented in the STM32F4 and STM32F7 series up to 216 MHz with a 32-bit wide bus and up to 200 MHz on the H7 series with a 64-bit wide bus.