Display
Introduction
Ameba display architecture adopts LVGL as GUI engine. LVGL is the most popular free and open-source embedded graphics library to create beautiful UIs for any MCU, MPU and display type. The whole architecure provides reference porting of the LVGL and many reference drivers. In addition to LVGL, the whole architecture also provides robust Wi-Fi/Bluetooth functionalities, smart voice algorithm, commonly used network protocol stacks and more, making it widely used in consumer electronics, home appliances.
Application
The role of the application layer is to serve as the user interaction entry point, containing predefined application scenarios.
Module Name |
Function Description |
---|---|
Launcher |
Main screen interface, application launcher. |
Settings |
System settings (display, network, sound, etc.). |
Music |
Audio player. |
Speech |
Voice assistant interaction interface. |
Core Components
Components
The core functional components of the display mainly include:
GUI Rendering: LVGL provides a rich set of UI components (buttons, sliders, lists, etc.). LV drivers is a collection of drivers for the LVGL graphics library. It includes two key components: DRM and evdev.
Communication Capabilities: This integration encompasses key components for managing wireless connections, setting up access points, implementing Bluetooth functionality, and supporting USB devices.
Multimedia Support: AudioProcess(PipeWire)、Multimedia framework(Gstreamer)、image decoder(JPEG/PNG)、Audio/Video process(FFmpeg)。
Intelligent Interaction: AI voice recognition.
Application Scenarios
The main application scenarios include:
Consumer Electronics (smart home, wearable devices).
Industrial HMI (Human-Machine Interface).
IoT Terminals (gateways, sensor nodes).
Library
Libdrm is a standard library to interface with DRM in the Linux kernel. Details
Kernel
The Kernel layer is the foundation of the entire software architecture, interacting directly with hardware and providing abstraction and services for upper-layer software. It includes the following:
Device Files |
Hardware Interface |
Application |
---|---|---|
/dev/dri/card0 |
DRM device |
Display initialization, pixel format setting, data transmission |
/dev/Input/event |
Input device |
Process events from various input devices provide an interface for reading input events. |