diff --git a/docs/overview/renderers/arm-2d.md b/docs/overview/renderers/arm-2d.md index d65547711e..85a4dbc551 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) diff --git a/env_support/cmsis-pack/LVGL.lvgl.1.0.6-p1.pack b/env_support/cmsis-pack/LVGL.lvgl.8.3.5.pack similarity index 95% rename from env_support/cmsis-pack/LVGL.lvgl.1.0.6-p1.pack rename to env_support/cmsis-pack/LVGL.lvgl.8.3.5.pack index da863b8880..74d9c17386 100644 Binary files a/env_support/cmsis-pack/LVGL.lvgl.1.0.6-p1.pack and b/env_support/cmsis-pack/LVGL.lvgl.8.3.5.pack differ diff --git a/env_support/cmsis-pack/LVGL.lvgl.pdsc b/env_support/cmsis-pack/LVGL.lvgl.pdsc index 9229f9a144..3344f531da 100644 --- a/env_support/cmsis-pack/LVGL.lvgl.pdsc +++ b/env_support/cmsis-pack/LVGL.lvgl.pdsc @@ -36,7 +36,14 @@ https://github.com/lvgl/lvgl.git - + + - LVGL 8.3.5 release + - Use LVGL version as the cmsis-pack version + - Fix GPU support for NXP PXP and NXP VGLite + - Rework stm32 DMA2D support + - Various fixes + + - LVGL 8.3.4 release - Update GPU Arm-2D support - Various fixes @@ -157,6 +164,72 @@ + + Enable LVGL Arm-2D GPU Support + + + + + + + + + + + Enable LVGL Arm-2D GPU Support + + + + + + + + + + + Enable LVGL Arm-2D GPU Support + + + + + + + + + + + Enable LVGL Arm-2D GPU Support + + + + + + + + + + + Enable LVGL Arm-2D GPU Support + + + + + + + + + + + Enable LVGL Arm-2D GPU Support + + + + + + + + + - + LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and a low memory footprint. @@ -358,7 +431,7 @@ - + A 2D image processing library from Arm (i.e. Arm-2D) for All Cortex-M processors including Cortex-M0 @@ -373,7 +446,7 @@ - + An hardware acceleration from STM32-DMA2D @@ -387,7 +460,7 @@ - + An hardware acceleration from SWM341-DMA2D @@ -401,13 +474,13 @@ - + An hardware acceleration from NXP-PXP - - - - + + + + @@ -418,14 +491,16 @@ - + An hardware acceleration from NXP-VGLite - - - - - + + + + + + + diff --git a/env_support/cmsis-pack/LVGL.pidx b/env_support/cmsis-pack/LVGL.pidx index 85fefdb2af..4461230bb8 100644 --- a/env_support/cmsis-pack/LVGL.pidx +++ b/env_support/cmsis-pack/LVGL.pidx @@ -2,8 +2,8 @@ LVGL https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/ - 2022-12-31T23:17:00 + 2023-02-06T12:22:00 - + \ No newline at end of file diff --git a/env_support/cmsis-pack/lv_conf_cmsis.h b/env_support/cmsis-pack/lv_conf_cmsis.h index 1f9e2ac293..c673772157 100644 --- a/env_support/cmsis-pack/lv_conf_cmsis.h +++ b/env_support/cmsis-pack/lv_conf_cmsis.h @@ -90,6 +90,9 @@ #if LV_TICK_CUSTOM #define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/ #define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/ + /*If using lvgl as ESP32 component*/ + // #define LV_TICK_CUSTOM_INCLUDE "esp_timer.h" + // #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((esp_timer_get_time() / 1000LL)) #endif /*LV_TICK_CUSTOM*/ #endif /*__PERF_COUNTER__*/ @@ -345,9 +348,9 @@ *https://fonts.google.com/specimen/Montserrat*/ #define LV_FONT_MONTSERRAT_8 0 #define LV_FONT_MONTSERRAT_10 0 -#define LV_FONT_MONTSERRAT_12 0 +#define LV_FONT_MONTSERRAT_12 1 #define LV_FONT_MONTSERRAT_14 1 -#define LV_FONT_MONTSERRAT_16 0 +#define LV_FONT_MONTSERRAT_16 1 #define LV_FONT_MONTSERRAT_18 0 #define LV_FONT_MONTSERRAT_20 0 #define LV_FONT_MONTSERRAT_22 0 diff --git a/library.json b/library.json index a9885da50c..a33bf829ed 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "lvgl", - "version": "8.3.5-dev", + "version": "8.3.5", "keywords": "graphics, gui, embedded, tft, lvgl", "description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.", "repository": { diff --git a/library.properties b/library.properties index 1773fc0a17..ae036fdbee 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=lvgl -version=8.3.5-dev +version=8.3.5 author=kisvegabor maintainer=kisvegabor,embeddedt,pete-pjb sentence=Full-featured Graphics Library for Embedded Systems diff --git a/lv_conf_template.h b/lv_conf_template.h index 8cd1426e56..c5b67a34ef 100644 --- a/lv_conf_template.h +++ b/lv_conf_template.h @@ -1,6 +1,6 @@ /** * @file lv_conf.h - * Configuration file for v8.3.5-dev + * Configuration file for v8.3.5 */ /* diff --git a/lvgl.h b/lvgl.h index 79cb2f1089..76f22761bc 100644 --- a/lvgl.h +++ b/lvgl.h @@ -16,7 +16,7 @@ extern "C" { #define LVGL_VERSION_MAJOR 8 #define LVGL_VERSION_MINOR 3 #define LVGL_VERSION_PATCH 5 -#define LVGL_VERSION_INFO "dev" +#define LVGL_VERSION_INFO "" /********************* * INCLUDES