Tools for Creating an Embedded GUI with EFM32

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> MitchC on ‎12-21-2016 09:59 AM

Question

Are there any tools or firmware libraries that can be used to create embedded graphical user interfaces (GUIs) for LCD or other embedded displays using EFM32 MCUs?

Answer

For development of embedded projects requiring a display element, Silicon Labs provides what is called the Display Device Driver Stack, which is basically an abstraction layer for driving different kinds of displays. This is what is used to generate the graphics for the Space Invaders demo, and is a good starting point for generating a simple embedded GUI. This library and API is documented in the Gecko SDK and it is used in a number of examples, including the Space Invaders example. Please note that Space Invader and all the other demos can be opened as example projects in Simplicity Studio and used as templates to illustrate how the display API is used, what files are needed, how it is configured/customized, etc. Here is a link to the Gecko SDK page that discusses this module:

http://devtools.silabs.com/dl/documentation/doxygen/4.4.0/efm32g/html/group__Display.html#display_do...
 

In addition to the Silicon Labs Display Device Driver Stack, Simplicity Studio offers its customers the use of the embedded GUI library emWin by SEGGER.  For more information on integrating emWin into an embedded project, please see AN0047: Interfacing Graphical Displays:

http://www.silabs.com/Support%20Documents/TechnicalDocs/AN0047.pdf
http://www.silabs.com/Support%20Documents/Software/AN0047SW.zip

To add the emWin module to a project, open the Project Properties window by clicking [Project]>[Properties] in the Simplicity Studio IDE perspective.  Then expand [C/C++ Build]>[Project Modules] and in the window to the right expand [efm32]>[reptile] and select [emWin].  This is illustrated in the following screenshot.  Please refer to the software examples available with AN0047 as a guide for getting started with emWin.

 

select_emWin.png