DMA2D-TR 1.0
DMA2D transformation functions demonstration

Code size:316 Kb Author:yrt
Source files included:yes Version:1.0
Use circleOS:yes (4.6) Creation date:2013-10-07 11:04:05
Hardware modification:no Modification date:2013-10-07 14:25:03
Based on the STM32 Primer:EvoPrimer
Downloads:2369 Views:33152
Average ratings:0/5 (0 rates)

Download: (553 KB)


DMA2D (Chrom-ART Accelerator)

Transformation demonstration

(EvoPrimer STM32F429I only)



The DMA2D integration is the keystone to graphics potential of the STM32F429. Through a set of registers, it provides graphics  management features that include:

  • handling of bitmap files (up to 32 bits per pixel),
  • management of image overlays, with or without transparency/blending,
  • handling of object display to include multiple objects and their positions, sizes and layering (Z-order).

The CircleOS provides a specific API for easily implement these features by integration of the DMA2D peripheral and SDRAM driver.
This API covers:

  • Handling of bit maps (display, overlaying and moving)
  • Using transparency (pixel-level, global and blending)
  • Dynamic versus Read-Only objects
  • Management of objects and touch sensing
  • Use of layering (Z-order)


Take a look at this document for more information.


DMA2D transformation demonstration

 The DMA2D demonstration shows how to use the DMA2D tranformation functions provided by the CircleOS API's.

  • DMA2D_ObjectTransform :  generic transform function used to copy, rotate, resize an object.
    This function takes every pixel of the SOURCE, and calculates its new value.
    Example :
    int fRot90X( int x, int y ) { return y; }
    int fRot90Y( int x, int y ) { return 48-x-1; }
  • DMA2D_ObjectTransformReverse : generic transform function used to copy, rotate, resize, modify the color of an object....
    This function takes every pixel of the DESTINATION, and calculates its new value.
    DMA2D_ObjectTransformReverse( obj_dest, obj_src, ColorInvertRB );
    where ColorInvertRB inverts red and blue colors of the object.

The application moves an object with 3 transformations :

  • object size,
  • object color,
  • object orientation.


Screen shots


Notes :  

  • The "Evo_Circle_STM3242x.elf", "FAT.elf" and "FAT_OP4.elf" files location depends on your Ride installation; delete them from the projet and add it back before building the project.
  • This example runs only on STM32F429I platform.
  • The screenshots have been made thanks to the "UTIL_SaveScreenBMP" API function.
  • For more information about the CircleOS API's, see :   Circle OS Conception document