LPC4088 Quickstart Board - emWin GUI
NXP has signed an agreement with Segger to make their graphical library emWin available free to use on NXP's microcontrollers. There is no royalty or license fees and it is possible to use for both personal and commercial use. More information can be found on the project page at lpcware.com.
Please note that everyone that wants to use the emWin library must download it from NXP's community site and accept the terms and conditions when installing the library. This means that it is not allowed to distribute the library to others, for example, by publishing an mbed application or library (as long as you keep your application and library private it is okay). Everyone must import the emWin library themselves after having accepted the terms and conditions. Instructions are available below of how to import emWin.
How to Import the Library
- Begin by downloading the emWin library from lpcware.com. Please note that you need to download the library that has been compiled with Hardware floating point (when writing these instructions version 5.22 was available).
- Unpack and run the exe file. While doing this you have to accept the terms and conditions.
- When the terms and conditions have been accepted you will get a new zip file. Unpack this file.
- For version 5.22 you will get the directories: emWin_Config, emWin_header, and emWin_library.
- Pack (zip) the content of emWin_header and name the file emwin.zip. Please note that the content should be in a flat structure, i.e., no directory, only the header files.
- Go to emWin_library/uVision_4 and rename emWin_m4fp.lib to emWin_m4fp.ar. This must be done for the online compiler to treat this file as a pre-compiled library. The file extension ".lib" has a special meaning in the online compiler so it must be changed to ".ar". Put emWin_m4fp.ar in a zip file named emwin_lib.zip.
- Create an application in the mbed compiler. The first time you do this it is recommended that you start with one of the emwin examples, such as app_emwin1 or app_emwin2_pos.
Example that shows how to use the ewgui wrapper classes in combination with Segger's emwin library.
- Use the import wizard in the online compiler to Import emwin.zip
- Do the same for emwin_lib.zip and you will have a project structure as shown in the picture below. You can now build the application.
Once again please note that you may NOT publish this application and making the emwin related libraries available for others. Everyone that wants to use emWin must accept the terms and conditions when downloading and installing the library from NXP's community site lpcware.com.
The ewGUi library illustrates one example of how to wrap the emWin C library in C++ classes. It is by no means a complete library and only provides a few of the many emWin widgets as C++ classes. The most important files are emwin_port.cpp and the base class EwGui.cpp which tries to hide the emWin porting layer. When creating an application that wants to use emWin you must subclass EwGui. The file EwGuiImpl.cpp in app_emwin1 shows how such a subclass can look like.
It is not a requirement to use the wrapper classes in order to use emWin. It is, however, recommended to at least use the porting layer (EwGui) and then you can directly use the emWin C API.
The main documentation is the one provided with emWin. Only minor clarifications are added to the ewGUI classes.
The first screenshot shows app_emwin1 which is just a simple window with a checkbox, a button and a drop-down list. The second screenshot is app_emwin2_pos which shows NXP's POS demo.
6 comments on LPC4088 Quickstart Board - emWin GUI:
Please log in to post comments.