1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00

docs(gpu): add docs for arm-2d (#3456)

This commit is contained in:
Gabriel Wang 2022-07-07 05:58:45 +01:00 committed by GitHub
parent 97b6b358f1
commit 8d3d850dd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 49 additions and 13 deletions

View File

@ -100,6 +100,7 @@ Just to mention some platforms:
- Microchip dsPIC33, PIC24, PIC32MX, PIC32MZ - Microchip dsPIC33, PIC24, PIC32MX, PIC32MZ
- [Linux frame buffer](https://blog.lvgl.io/2018-01-03/linux_fb) (/dev/fb) - [Linux frame buffer](https://blog.lvgl.io/2018-01-03/linux_fb) (/dev/fb)
- [Raspberry Pi](https://github.com/lvgl/lv_port_linux_frame_buffer) - [Raspberry Pi](https://github.com/lvgl/lv_port_linux_frame_buffer)
- [Raspberry Pi Pico](https://github.com/lvgl/lv_port_raspberry_pi_pico_mdk)
- [Espressif ESP32](https://github.com/lvgl/lv_port_esp32) - [Espressif ESP32](https://github.com/lvgl/lv_port_esp32)
- [Infineon Aurix](https://github.com/lvgl/lv_port_aurix) - [Infineon Aurix](https://github.com/lvgl/lv_port_aurix)
- Nordic NRF52 Bluetooth modules - Nordic NRF52 Bluetooth modules
@ -114,6 +115,7 @@ LVGL is also available as:
- [NXP MCUXpresso component](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY) - [NXP MCUXpresso component](https://www.nxp.com/design/software/embedded-software/lvgl-open-source-graphics-library:LITTLEVGL-OPEN-SOURCE-GRAPHICS-LIBRARY)
- [NuttX library](https://docs.lvgl.io/master/get-started/os/nuttx.html) - [NuttX library](https://docs.lvgl.io/master/get-started/os/nuttx.html)
- [RT-Thread RTOS](https://docs.lvgl.io/master/get-started/os/rt-thread.html) - [RT-Thread RTOS](https://docs.lvgl.io/master/get-started/os/rt-thread.html)
- CMSIS-Pack
## Get started ## Get started

View File

@ -10,7 +10,7 @@
- **inherit and initial style properties** Besides setting "normal values" for style properties now you can set them to `inherit` (inherit the parent's value) and `initial` (set the system default). See more [here](https://docs.lvgl.io/master/overview/style.html#forced-value-inheritance-default-value) - **inherit and initial style properties** Besides setting "normal values" for style properties now you can set them to `inherit` (inherit the parent's value) and `initial` (set the system default). See more [here](https://docs.lvgl.io/master/overview/style.html#forced-value-inheritance-default-value)
- **NXP-PXP and VGLITE GPU support** The support for NXP GPUs are added again - **NXP-PXP and VGLITE GPU support** The support for NXP GPUs are added again
- **Color font support** You can use emojis and images in texts with this great new features. See more [here](https://docs.lvgl.io/master/others/imgfont.html). - **Color font support** You can use emojis and images in texts with this great new features. See more [here](https://docs.lvgl.io/master/others/imgfont.html).
- **ARM2D GPU support** Get support for ARM's own GPU. - **ARM2D GPU support** Get support for Arm's Microcontroller 2D Graphics Acceleration, e.g. Helium based acceleration, DMA-350 based acceleration etc.
- **PubSub messaging** A publisher-subscriber based messaging system is added to make communication between components easier. See more [here](https://docs.lvgl.io/master/others/msg.html). - **PubSub messaging** A publisher-subscriber based messaging system is added to make communication between components easier. See more [here](https://docs.lvgl.io/master/others/msg.html).
- **Pinyin IME** Add support for Pinyin IME Chinese input. See more [here](https://docs.lvgl.io/master/others/ime_pinyin.html). - **Pinyin IME** Add support for Pinyin IME Chinese input. See more [here](https://docs.lvgl.io/master/others/ime_pinyin.html).
- **render_start_cb** A new callback is added to `lv_disp_drv_t` to indicate when the rendering starts. It's useful to make synchronization, e.g. wait for a TE signal. - **render_start_cb** A new callback is added to `lv_disp_drv_t` to indicate when the rendering starts. It's useful to make synchronization, e.g. wait for a TE signal.

View File

@ -12,5 +12,6 @@
arduino arduino
tasmota-berry tasmota-berry
cmake cmake
mdk
``` ```

View File

@ -0,0 +1,4 @@
# MDK
TODO

View File

@ -98,15 +98,16 @@ The changes are recorded in [CHANGELOG.md](/CHANGELOG).
Before v8 the last minor release of each major series was supported for 1 year. Before v8 the last minor release of each major series was supported for 1 year.
Starting from v8, every minor release is supported for 1 year. Starting from v8, every minor release is supported for 1 year.
| Version | Release date | Support end | Active | | Version | Release date | Support end | Active |
|---------|--------------|-------------|--------| | ------- | ------------ | ------------ | ------ |
| v5.3 | Feb 1, 2019 |Feb 1, 2020 | No | | v5.3 | Feb 1, 2019 | Feb 1, 2020 | No |
| v6.1 | Nov 26, 2019 |Nov 26, 2020 | No | | v6.1 | Nov 26, 2019 | Nov 26, 2020 | No |
| v7.11 | Mar 16, 2021 |Mar 16, 2022 | No | | v7.11 | Mar 16, 2021 | Mar 16, 2022 | No |
| v8.0 | 1 Jun, 2021 |1 Jun, 2022 | Yes | | v8.0 | 1 Jun, 2021 | 1 Jun, 2022 | No |
| v8.1 | 10 Nov, 2021 |10 Nov, 2022 | Yes | | v8.1 | 10 Nov, 2021 | 10 Nov, 2022 | Yes |
| v8.2 | 31 Jan, 2022 |31 Jan, 2023 | Yes | | v8.2 | 31 Jan, 2022 | 31 Jan, 2023 | Yes |
| v8.3 | In progress | | | | v8.3 | 6 July, 2022 | 6 July, 2023 | Yes |
| v9.0 | In progress | | |
## FAQ ## FAQ
@ -123,7 +124,7 @@ Every MCU which is capable of driving a display via parallel port, SPI, RGB inte
This includes: This includes:
- "Common" MCUs like STM32F, STM32H, NXP Kinetis, LPC, iMX, dsPIC33, PIC32, SWM341 etc. - "Common" MCUs like STM32F, STM32H, NXP Kinetis, LPC, iMX, dsPIC33, PIC32, SWM341 etc.
- Bluetooth, GSM, Wi-Fi modules like Nordic NRF and Espressif ESP32 - Bluetooth, GSM, Wi-Fi modules like Nordic NRF, Espressif ESP32 and Raspberry Pi Pico W
- Linux with frame buffer device such as /dev/fb0. This includes Single-board computers like the Raspberry Pi - Linux with frame buffer device such as /dev/fb0. This includes Single-board computers like the Raspberry Pi
- Anything else with a strong enough MCU and a peripheral to drive a display - Anything else with a strong enough MCU and a peripheral to drive a display

View File

@ -1,4 +1,32 @@
# ARM-2D GPU # Arm-2D GPU
TODO Arm-2D is not a GPU but **an abstraction layer for 2D GPUs dedicated to Microcontrollers**. It supports all Cortex-M processors ranging from Cortex-M0 to the latest Cortex-M85.
Arm-2D is an open-source project on Github. For more, please refer to: https://github.com/ARM-software/Arm-2D.
## How to Use
In general, you can set the macro `LV_USE_GPU_ARM2D` to `1`in `lv_conf.h` to enable Arm-2D acceleration for LVGL.
If you are using **[CMSIS-Pack](https://github.com/lvgl/lvgl/tree/master/env_support/cmsis-pack)** to deploy the LVGL. You don't have to define the macro `LV_USE_GPU_ARM2D` manually, instead, please select the component `GPU Arm-2D` in the **RTE** dialog. This step will define the macro for us.
## Design Considerations
As mentioned before, Arm-2D is an abstraction layer for 2D GPU; hence if there is no accelerator or dedicated instruction set (such as Helium or ACI) available for Arm-2D, it provides negligible performance boost for LVGL (sometimes worse) for regular Cortex-M processors.
**We highly recommend you enable Arm-2D acceleration for LVGL** when:
- The target processors are **Cortex-M55** and/or **Cortex-M85**
- The target processors support **[Helium](https://developer.arm.com/documentation/102102/0103/?lang=en)**.
- The device vendor provides an arm-2d compliant driver for their propriotory 2D accelerators and/or customized instruction set.
- The target device contains [DMA-350](https://community.arm.com/arm-community-blogs/b/internet-of-things-blog/posts/arm-corelink-dma-350-next-generation-direct-memory-access-for-endpoint-ai)
## Examples
- [A Cortex-M55 (supports Helium) based MDK Project, PC emulation is available.](https://github.com/lvgl/lv_port_an547_cm55_sim)