Display drivers
Flexible display driver support for embedded GUI applications
- Support for a wide range of display controllers
- Configurable drivers for different hardware setups
- Support for direct and indirect frame buffer access
Overview
emWin provides display drivers for a wide range of display controllers and hardware configurations. Each driver supports a specific display controller or family of controllers and can be adapted to the target hardware through configuration files, without modifying the driver itself.
Depending on the hardware architecture, emWin supports both directly and indirectly accessible frame buffers. This flexibility allows emWin to be used with different display interfaces and memory configurations.
Systems with directly accessible frame buffers
A directly accessible frame buffer allows the CPU to access video memory through its address and data bus. For these systems, emWin provides the GUIDRV_Lin driver, which supports display controllers with linearly addressable video memory.
The driver manages the contents of video memory without requiring controller-specific code. It can be used with any display controller that provides a compatible linear memory interface.
Displays with indirectly accessible frame buffers
Unlike directly accessible frame buffers, indirectly accessible video memory requires communication with the display controller to read or write data.
For these systems, an LCD controller provides the interface, typically consisting of control and data lines. emWin uses a small set of communication routines to read data from and write data to the display controller.
emWin display drivers
The following table lists the display drivers available for emWin, along with their supported display controllers and color depths.
| Display driver | Supported display controllers / Purpose | Supported bits/pixel |
|---|---|---|
| GUIDRV_BitPlains | This driver can be used for solutions without display controller. It manages separate bitplains for each color bit. Initially it has been developed to support a solution for an R32C/111 which drives a TFT display without display controller. It can be used for each solution which requires the color bits in separate plains. | 1 - 8 |
| GUIDRV_FlexColor |
| 16,18 |
| GUIDRV_IST3088 |
| 4 |
| GUIDRV_Lin | This driver supports every display controller with linear addressable video memory with a direct (full bus) interface. This means that the video RAM is directly addressable by the address lines of the CPU. The driver contains no controller specific code. So it can also be used for solutions without display controller which require a driver which only manages the video RAM. | 1, 2, 4, 8, 16, 24, 32 |
| GUIDRV_S1D13513 |
| 32 |
| GUIDRV_S1D13748 |
| 16 |
| GUIDRV_S1D13781 |
| 8 |
| GUIDRV_S1D13C00 |
| 6 + 2 |
| GUIDRV_S1D13L01 |
| 8 |
| GUIDRV_S1D13L02 |
| 16 |
| GUIDRV_S1D13L04 |
| 24, 32 |
| GUIDRV_S1D15G00 |
| 12 |
| GUIDRV_SH_MEM |
| 1, 3 |
| GUIDRV_SLin |
| 1, 2 |
| GUIDRV_SLinEPD |
| 1 |
| GUIDRV_SPage |
| 1, 2, 4 |
| GUIDRV_SSD1926 |
| 8 |
| GUIDRV_SSD1322 |
| 4 |
| GUIDRV_UC1698G |
| 5 |