Building eye-catching GUIs for your embedded MCU designs
Francis Lamotte, KEOLABS
embedded.com (December 18, 2013)
This article describes how integration of 2D Direct Memory Access (DMA2D) in microcontrollers creates new possibilities for graphics use in user interfaces by placing limits on device and application coding costs, at the same time improving core processor performance. It describes the key features of DMA2D and how developers can implement these features in application software, with code examples that engineers can use in their own applications. The examples cover techniques for:
- Handling of bitmaps (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)
- Transformations of graphic objects
- Use of memory spaces including external SDRAM resources.
Chrome-ART acceleration for MCU GUI applications
Thanks to the ease of implementing touch sensing and the improved price points for displays and 32-bit MCUs, graphical user interfaces (GUI) have become increasingly present in MCU applications. Because they are attractive, flexible, and interactive, GUIs are an excellent way to enhance both application functionality and the user’s experience.
In spite of this evolution, some technical challenges have persisted. Typical GUI implementations on microcontrollers (unlike high-end processors targeting mobile appliances) have been limited by how much of their processing power, peripherals, and memory resources could be allocated to managing the display and graphics.
Relatively limited memory, processing power, and resulting code complexity all conspired to make implementation costly and responsiveness of the GUI relatively limited.
E-mail This Article | Printer-Friendly Page |
Related Articles
- How a voltage glitch attack could cripple your SoC or MCU - and how to securely protect it
- Upgrading 8- and 16-bit MCU designs: Development ecosystem
- When Your Embedded Processor Runs Out of Steam, Try Parallelism
- Dealing with memory access ordering in complex embedded designs
- Pinning down the acceptable level of jitter for your embedded design