1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00
lvgl/cmsis-pack
Gabriel Wang 218d68e99d
feat: update the cmsis-pack to 0.8.3 (#3021)
* doc: add readme.md for cmsis-pack

* feat: add benchmark to cmsis-pack

* fix: force WORD alignment for enabling AC6 auto-vectorization

* feat: add demo:widgets

* fix: use the original lv_demos.h
2022-01-19 22:31:02 +01:00
..

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'

...
/* clang-format off */
#if 1 /*Set it to "1" to enable content*/
...
  1. Add including for 'RTE_Components.h'
#ifndef LV_CONF_H
#define LV_CONF_H

#include <stdint.h>
#include "RTE_Components.h"
...
  1. Remove macro definitions for
    • LV_USE_GPU_STM32_DMA2D
    • LV_USE_GPU_NXP_PXP
    • LV_USE_GPU_NXP_VG_LITE
  2. Update macro LV_ATTRIBUTE_MEM_ALIGN to force a WORD alignment.
#define LV_ATTRIBUTE_MEM_ALIGN      __attribute__((aligned(4)))
  1. Update Theme related macros:
#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
  1. Thoroughly remove the 'DEMO USAGE' section.
  2. Thoroughly remove the '3rd party libraries' section.
  3. rename 'lv_conf_template.h' to 'lv_conf_cmsis.h'.

STEP 2 Check, Update and Run the 'gen_pack.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:

./gen_pack.sh

B. For Linux Users

Update 'PATH_TO_ADD' if necessary.

go to the cmsis-pack folder.

enter the following command:

./gen_pack.sh