diff --git a/README.md b/README.md index aea07a841..a7478d998 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ Just to mention some platforms: - Microchip dsPIC33, PIC24, PIC32MX, PIC32MZ - [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 Pico](https://github.com/lvgl/lv_port_raspberry_pi_pico_mdk) - [Espressif ESP32](https://github.com/lvgl/lv_port_esp32) - [Infineon Aurix](https://github.com/lvgl/lv_port_aurix) - 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) - [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) +- CMSIS-Pack ## Get started diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 2ea851576..7c39848a3 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -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) - **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). -- **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). - **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. diff --git a/docs/get-started/platforms/index.md b/docs/get-started/platforms/index.md index 7ed6a0163..04f5eda12 100644 --- a/docs/get-started/platforms/index.md +++ b/docs/get-started/platforms/index.md @@ -12,5 +12,6 @@ arduino tasmota-berry cmake + mdk ``` diff --git a/docs/get-started/platforms/mdk.md b/docs/get-started/platforms/mdk.md new file mode 100644 index 000000000..50acbe145 --- /dev/null +++ b/docs/get-started/platforms/mdk.md @@ -0,0 +1,4 @@ + +# MDK + +TODO diff --git a/docs/intro/index.md b/docs/intro/index.md index 0d20b28c3..fdca9e974 100644 --- a/docs/intro/index.md +++ b/docs/intro/index.md @@ -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. Starting from v8, every minor release is supported for 1 year. -| Version | Release date | Support end | Active | -|---------|--------------|-------------|--------| -| v5.3 | Feb 1, 2019 |Feb 1, 2020 | No | -| v6.1 | Nov 26, 2019 |Nov 26, 2020 | No | -| v7.11 | Mar 16, 2021 |Mar 16, 2022 | No | -| v8.0 | 1 Jun, 2021 |1 Jun, 2022 | Yes | -| v8.1 | 10 Nov, 2021 |10 Nov, 2022 | Yes | -| v8.2 | 31 Jan, 2022 |31 Jan, 2023 | Yes | -| v8.3 | In progress | | | +| Version | Release date | Support end | Active | +| ------- | ------------ | ------------ | ------ | +| v5.3 | Feb 1, 2019 | Feb 1, 2020 | No | +| v6.1 | Nov 26, 2019 | Nov 26, 2020 | No | +| v7.11 | Mar 16, 2021 | Mar 16, 2022 | No | +| v8.0 | 1 Jun, 2021 | 1 Jun, 2022 | No | +| v8.1 | 10 Nov, 2021 | 10 Nov, 2022 | Yes | +| v8.2 | 31 Jan, 2022 | 31 Jan, 2023 | Yes | +| v8.3 | 6 July, 2022 | 6 July, 2023 | Yes | +| v9.0 | In progress | | | ## FAQ @@ -123,7 +124,7 @@ Every MCU which is capable of driving a display via parallel port, SPI, RGB inte This includes: - "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 - Anything else with a strong enough MCU and a peripheral to drive a display diff --git a/docs/overview/renderers/arm-2d.md b/docs/overview/renderers/arm-2d.md index d65547711..85a4dbc55 100644 --- a/docs/overview/renderers/arm-2d.md +++ b/docs/overview/renderers/arm-2d.md @@ -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)