summaryrefslogtreecommitdiff
path: root/lib/lvgl/env_support/cmsis-pack/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lvgl/env_support/cmsis-pack/README.md')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/env_support/cmsis-pack/README.md159
2 files changed, 159 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl
deleted file mode 160000
-Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a
diff --git a/lib/lvgl/env_support/cmsis-pack/README.md b/lib/lvgl/env_support/cmsis-pack/README.md
new file mode 100644
index 00000000..5a73e4e6
--- /dev/null
+++ b/lib/lvgl/env_support/cmsis-pack/README.md
@@ -0,0 +1,159 @@
+# How to Create CMSIS-Pack
+
+
+
+## STEP 1 Update 'lv_conf_cmsis.h'
+
+1. Copy the **lv_conf_template.h** to '**cmsis-pack**' directory
+
+2. Set the macro protector to '1'
+
+```c
+...
+/* clang-format off */
+#if 1 /*Set it to "1" to enable content*/
+...
+```
+
+remove the misleading guide above this code segment.
+
+```c
+/*
+ * Copy this file as `lv_conf.h`
+ * 1. simply next to the `lvgl` folder
+ * 2. or any other places and
+ * - define `LV_CONF_INCLUDE_SIMPLE`
+ * - add the path as include path
+ */
+```
+
+
+3. Add including for '**RTE_Components.h**'
+
+```c
+#ifndef LV_CONF_H
+#define LV_CONF_H
+
+#include <stdint.h>
+#include "RTE_Components.h"
+...
+```
+
+4. Remove macro definitions for
+ - LV_USE_GPU_STM32_DMA2D
+ - LV_USE_GPU_NXP_PXP
+ - LV_USE_GPU_NXP_VG_LITE
+ - LV_USE_GPU_SWM341_DMA2D
+ - LV_USE_GPU_ARM2D
+ - LV_USE_IME_PINYIN
+5. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment.
+```c
+#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 4
+#define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4)))
+```
+Update macro `LV_MEM_SIZE` to `(64*1024U)`.
+6. Update Theme related macros:
+
+```c
+#ifdef RTE_GRAPHICS_LVGL_USE_EXTRA_THEMES
+ /*A simple, impressive and very complete theme*/
+ #define LV_USE_THEME_DEFAULT 1
+ #if LV_USE_THEME_DEFAULT
+
+ /*0: Light mode; 1: Dark mode*/
+ #define LV_THEME_DEFAULT_DARK 0
+
+ /*1: Enable grow on press*/
+ #define LV_THEME_DEFAULT_GROW 1
+
+ /*Default transition time in [ms]*/
+ #define LV_THEME_DEFAULT_TRANSITION_TIME 80
+ #endif /*LV_USE_THEME_DEFAULT*/
+
+ /*A very simple theme that is a good starting point for a custom theme*/
+ #define LV_USE_THEME_BASIC 1
+
+ /*A theme designed for monochrome displays*/
+ #define LV_USE_THEME_MONO 1
+#else
+ #define LV_USE_THEME_DEFAULT 0
+ #define LV_USE_THEME_BASIC 0
+ #define LV_USE_THEME_MONO 0
+#endif
+```
+7. Update `LV_TICK_CUSTOM` related macros:
+```c
+/*Use a custom tick source that tells the elapsed time in milliseconds.
+ *It removes the need to manually update the tick with `lv_tick_inc()`)*/
+#ifdef __PERF_COUNTER__
+ #define LV_TICK_CUSTOM 1
+ #if LV_TICK_CUSTOM
+ extern uint32_t SystemCoreClock;
+ #define LV_TICK_CUSTOM_INCLUDE "perf_counter.h"
+
+ #if __PER_COUNTER_VER__ < 10902ul
+ #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((uint32_t)get_system_ticks() / (SystemCoreClock / 1000ul))
+ #else
+ #define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms()
+ #endif
+ #endif /*LV_TICK_CUSTOM*/
+#else
+ #define LV_TICK_CUSTOM 0
+ #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*/
+ #endif /*LV_TICK_CUSTOM*/
+#endif /*__PERF_COUNTER__*/
+```
+9. Thoroughly remove the `DEMO USAGE` section.
+10. Thoroughly remove the '3rd party libraries' section.
+10. rename '**lv_conf_template.h**' to '**lv_conf_cmsis.h**'.
+
+
+
+## STEP 2 Check, Update and Run the 'gen_pack.sh'
+
+```sh
+if [ `uname -s` = "Linux" ]
+ then
+ CMSIS_PACK_PATH="/home/$USER/.arm/Packs/ARM/CMSIS/5.7.0/"
+ PATH_TO_ADD="$CMSIS_PACK_PATH/CMSIS/Utilities/Linux64/"
+else
+ CMSIS_PACK_PATH="/C/Users/gabriel/AppData/Local/Arm/Packs/ARM/CMSIS/5.7.0"
+ PATH_TO_ADD="/C/Program Files (x86)/7-Zip/:$CMSIS_PACK_PATH/CMSIS/Utilities/Win32/:/C/xmllint/"
+fi
+[[ ":$PATH:" != *":$PATH_TO_ADD}:"* ]] && PATH="${PATH}:${PATH_TO_ADD}"
+echo $PATH_TO_ADD appended to PATH
+echo " "
+```
+
+
+
+### A. For Windows users
+
+Update the '**CMSIS_PACK_PATH**' accordingly (Usually just replace the name gabriel with your own windows account name is sufficient.).
+
+Update the '**PATH_TO_ADD**' to point to the installation folders of **7Zip** and **xmllint**.
+
+Launch the git-bash and go to the cmsis-pack folder.
+
+enter the following command:
+
+```sh
+./gen_pack.sh
+```
+
+
+
+### B. For Linux Users
+
+Update '**PATH_TO_ADD**' if necessary.
+
+go to the **cmsis-pack** folder.
+
+enter the following command:
+
+```sh
+./gen_pack.sh
+```
+