From 19a14387939c5a83db2ae9b9a9a75e1c64a90cf8 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Fri, 12 Jun 2026 10:05:47 +0800
Subject: [PATCH] Update lvgl build shell script for v9.5
---
/dev/null | 46 -----------
lvgl/build.sh | 163 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 163 insertions(+), 46 deletions(-)
diff --git a/lvgl/build.sh b/lvgl/build.sh
new file mode 100755
index 0000000..7212ac1
--- /dev/null
+++ b/lvgl/build.sh
@@ -0,0 +1,163 @@
+#!/bin/bash
+
+# Git url
+GITURL=https://github.com/lvgl/lv_port_linux.git
+
+# branch
+BRANCH=release/v9.5
+
+# library name
+LIB_NAME=$(basename "$GITURL" .git)
+
+# Cross compiler for cross compile on Linux server
+CROSS_COMPILE=/opt/gcc-aarch32-10.3-2021.07/bin/arm-none-linux-gnueabihf-
+
+# compile jobs
+JOBS=`cat /proc/cpuinfo |grep "processor"|wc -l`
+
+# this project absolute path
+PRJ_PATH=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
+
+# top project absolute path
+TOP_PATH=$(realpath $PRJ_PATH/..)
+
+# binaries build prefix install path
+PREFIX_PATH=$TOP_PATH/install
+
+# binaries finally install path if needed
+#INST_PATH=/tftp
+
+# download taballs path
+TARBALL_PATH=$PRJ_PATH/tarballs
+
+# shell script will exit once get command error
+set -e
+
+#+-------------------------+
+#| Shell script functions |
+#+-------------------------+
+
+function pr_error() {
+ echo -e "\033[40;31m $1 \033[0m"
+}
+
+function pr_warn() {
+ echo -e "\033[40;33m $1 \033[0m"
+}
+
+function pr_info() {
+ echo -e "\033[40;32m $1 \033[0m"
+}
+
+function do_export()
+{
+ pr_warn "cross(${CROSS_COMPILE}) compile $LIB_NAME"
+
+ export CC=${CROSS_COMPILE}gcc
+ export CXX=${CROSS_COMPILE}g++
+ export AR=${CROSS_COMPILE}ar
+ export LD=${CROSS_COMPILE}ld
+ export STRIP=${CROSS_COMPILE}strip
+
+ export PKG_CONFIG_PATH=$PREFIX_PATH/lib/pkgconfig:$PKG_CONFIG_PATH
+ export LIBRARY_PATH=$PREFIX_PATH/lib/:$LIBRARY_PATH
+ export LDFLAGS="-L$PREFIX_PATH/lib"
+}
+
+function do_fetch()
+{
+ if [ -d $LIB_NAME/lvgl ] ; then
+ pr_warn "$LIB_NAME source code fetched already"
+ return 0;
+ fi
+
+ pr_info "start fetch $LIB_NAME source code"
+ if [ ! -d $LIB_NAME ] ; then
+ git clone -b $BRANCH $GITURL
+ fi
+
+ cd $LIB_NAME
+ git submodule update --init --recursive
+
+ cd $PRJ_PATH
+}
+
+function do_patch()
+{
+ FILE=user_cross_compile_setup.cmake
+ TOOLCHAIN_ROOT=$(dirname $(dirname $CROSS_COMPILE))
+ TOOLCHAIN_PREFIX=$(basename $CROSS_COMPILE)
+
+ cd "$LIB_NAME" || exit 1
+
+ if grep -q "${TOOLCHAIN_PREFIX}" $FILE; then
+ pr_warn "toolchain already updated"
+ cd "$PRJ_PATH" || exit 1
+ return 0
+ fi
+
+ pr_info "modify toolchain config..."
+
+ sed -i \
+ -e "s#^set(tools .*#set(tools ${TOOLCHAIN_ROOT})#" \
+ -e "s#arm-openwrt-linux-gnueabi-gcc#${TOOLCHAIN_PREFIX}gcc#" \
+ -e "s#arm-openwrt-linux-gnueabi-g++#${TOOLCHAIN_PREFIX}g++#" \
+ $FILE
+
+ cd "$PRJ_PATH" || exit 1
+}
+
+function do_build()
+{
+ BUILD_DIR="build"
+
+ cd "$LIB_NAME" || exit 1
+
+ if [ ! -f "$BUILD_DIR/CMakeCache.txt" ]; then
+ pr_info "configuring cmake..."
+ cmake -B "$BUILD_DIR" -S . -DCMAKE_TOOLCHAIN_FILE=./user_cross_compile_setup.cmake
+ else
+ pr_warn "cmake already configured"
+ fi
+
+ pr_info "building..."
+ cmake --build "$BUILD_DIR" -j$(nproc)
+
+ cd "$PRJ_PATH" || exit 1
+}
+
+function do_depends()
+{
+ cd $TOP_PATH/libevdev || exit 1
+
+ pr_info "build depend libevdev..."
+ ./build.sh
+
+ cd $PRJ_PATH || exit 1
+}
+
+function do_clean()
+{
+ rm -rf *${LIB_NAME}*
+}
+
+if [[ $# == 1 && $1 == -c ]] ;then
+ pr_warn "start clean ${LIB_NAME}"
+ do_clean
+ exit;
+fi
+
+if [ -e $LIB_NAME/build/bin/lvglsim ] ; then
+ pr_warn "$LIB_NAME compiled already, exit..."
+ exit;
+fi
+
+do_depends
+
+do_fetch
+
+do_export
+
+do_patch
+
+do_build
diff --git a/lvgl/libs_lvgl/build.sh b/lvgl/libs_lvgl/build.sh
deleted file mode 100755
index dff1364..0000000
--- a/lvgl/libs_lvgl/build.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/bash
-
-PRJ_PATH=`pwd`
-BOARD=imx6ull
-
-LYFTP_SRC=http://master.iot-yun.club:2211/src/
-
-LIB_LVGL=lvgl-8.0.2
-LIB_LVGL_DRV=lv_drivers-8.0.1
-LIB_LVGL_DEMO=lv_demos-8.0.1
-
-LIBS_DIR="lvgl lv_drivers lv_demos"
-
-CROSSTOOL=/opt/buildroot/cortexA7/bin/arm-linux-
-if [ $# == 1 ] ; then
- CROSSTOOL=$1
-fi
-
-set -e
-
-function prepare_lib()
-{
- PACK_SUFIX=tar.gz
- PACK_NAME=$1
- DIR_NAME=$2
-
- if [ ! -d ${DIR_NAME} ] ; then
- if [ ! -s ${PACK_NAME}.${PACK_SUFIX} ] ; then
- wget ${LYFTP_SRC}/${PACK_NAME}.${PACK_SUFIX}
- fi
-
- tar -xzf ${PACK_NAME}.${PACK_SUFIX}
- patch -p0 < patches/${PACK_NAME}-${BOARD}.patch
- mv ${PACK_NAME} ${DIR_NAME}
-
- cd ${DIR_NAME}
- sed -i -e "s|.*CMAKE_C_COMPILER.*|set(CMAKE_C_COMPILER \"${CROSSTOOL}gcc\")|g" CMakeLists.txt
- temp_file=`ls *_template.h`
- conf_file=`echo ${temp_file/_template/}`
- cp ${temp_file} ../${conf_file}
- cd ${PRJ_PATH}
- fi
-}
-
-if [[ $# == 1 && $1 == clean ]] ; then
- rm -rf lv*
- rm -rf libs
- exit;
-fi
-
-prepare_lib ${LIB_LVGL} lvgl
-prepare_lib ${LIB_LVGL_DRV} lv_drivers
-prepare_lib ${LIB_LVGL_DEMO} lv_demos
-
-
-mkdir -p ${PRJ_PATH}/libs
-
-for lib in ${LIBS_DIR}
-do
- if [ -f ${PRJ_PATH}/libs/lib${lib}.a ] ; then
- continue;
- fi
-
- mkdir -p ${lib}/build
- cd ${lib}/build/
- rm -rf * && cmake .. && make
-
- cp lib*.a ${PRJ_PATH}/libs/lib${lib}.a
- cd ${PRJ_PATH}
-done
-
-
diff --git a/lvgl/libs_lvgl/patches/gen_patch.sh b/lvgl/libs_lvgl/patches/gen_patch.sh
deleted file mode 100755
index acf88f1..0000000
--- a/lvgl/libs_lvgl/patches/gen_patch.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-# Description: This shell script used to generate patch file
-# Author: guowenxue <guowenxue@gmail.com>
-# Version: 1.0.0
-
-PROJ_PATH=`pwd`
-
-PATCH_PATH=${PROJ_PATH}/patches
-
-BOARD=imx6ull
-PATCH_SUFFIX=${BOARD}.patch
-
-set -e
-
-
-if [ $# != 1 ] ; then
- echo "Usage: $0 [src_path]"
- printf "\nExample: \n"
- echo "$0 lvgl-8.0.2"
-
- exit ;
-fi
-
-
-SRC=`basename $1`
-
-if [ ! -d ${SRC} ] ; then
- printf "\nERROR: ${SRC} source code not exist, exit now\n\n"
- exit
-fi
-
-if [ ! -f ${SRC}.tar.gz ] ; then
- printf "\nERROR: ${SRC}.tar.gz packet not exist, exit now\n\n"
- exit
-fi
-
-rm -rf ${SRC}/build
-
-# rename new source code
-mv ${SRC} ${SRC}-${BOARD}
-
-# decompress orignal soruce code packet
-tar -xzf ${SRC}.tar.gz
-
-set +e
-
-# generate patch file
-diff -Nuar ${SRC} ${SRC}-${BOARD} > ${SRC}-${PATCH_SUFFIX}
-
-# remove orignal soruce code
-rm -rf ${SRC}
-
-# recover new source code
-mv ${SRC}-${BOARD} ${SRC}
-
diff --git a/lvgl/libs_lvgl/patches/lv_demos-8.0.1-imx6ull.patch b/lvgl/libs_lvgl/patches/lv_demos-8.0.1-imx6ull.patch
deleted file mode 100644
index b07ea04..0000000
--- a/lvgl/libs_lvgl/patches/lv_demos-8.0.1-imx6ull.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -Nuar lv_demos-8.0.1/CMakeLists.txt lv_demos-8.0.1-imx6ull/CMakeLists.txt
---- lv_demos-8.0.1/CMakeLists.txt 2021-06-14 20:00:00.000000000 +0800
-+++ lv_demos-8.0.1-imx6ull/CMakeLists.txt 2021-09-27 21:26:45.823935469 +0800
-@@ -1,2 +1,5 @@
-+set(CMAKE_C_COMPILER "/opt/buildroot/cortex-a7/bin/arm-linux-gcc")
-+include_directories(..)
-+
- file(GLOB_RECURSE SOURCES src/*.c)
- add_library(lv_examples STATIC ${SOURCES})
-diff -Nuar lv_demos-8.0.1/lv_demo_conf_template.h lv_demos-8.0.1-imx6ull/lv_demo_conf_template.h
---- lv_demos-8.0.1/lv_demo_conf_template.h 2021-06-14 20:00:00.000000000 +0800
-+++ lv_demos-8.0.1-imx6ull/lv_demo_conf_template.h 2021-09-27 20:57:35.667901897 +0800
-@@ -7,7 +7,7 @@
- * COPY THIS FILE AS lv_demo_conf.h
- */
-
--#if 0 /*Set it to "1" to enable the content*/
-+#if 1 /*Set it to "1" to enable the content*/
-
- #ifndef LV_EX_CONF_H
- #define LV_EX_CONF_H
-@@ -25,22 +25,22 @@
- *********************/
-
- /*Show some widget*/
--#define LV_USE_DEMO_WIDGETS 0
-+#define LV_USE_DEMO_WIDGETS 1
- #if LV_USE_DEMO_WIDGETS
- #define LV_DEMO_WIDGETS_SLIDESHOW 0
- #endif
-
- /*Printer demo, optimized for 800x480*/
--#define LV_USE_DEMO_PRINTER 0
-+#define LV_USE_DEMO_PRINTER 1
-
- /*Demonstrate the usage of encoder and keyboard*/
--#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
-+#define LV_USE_DEMO_KEYPAD_AND_ENCODER 1
-
- /*Benchmark your system*/
--#define LV_USE_DEMO_BENCHMARK 0
-+#define LV_USE_DEMO_BENCHMARK 1
-
- /*Stress test for LVGL*/
--#define LV_USE_DEMO_STRESS 0
-+#define LV_USE_DEMO_STRESS 1
-
- /*Music player demo*/
- #define LV_USE_DEMO_MUSIC 1
diff --git a/lvgl/libs_lvgl/patches/lv_drivers-8.0.1-imx6ull.patch b/lvgl/libs_lvgl/patches/lv_drivers-8.0.1-imx6ull.patch
deleted file mode 100644
index fddbfea..0000000
--- a/lvgl/libs_lvgl/patches/lv_drivers-8.0.1-imx6ull.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-diff -Nuar lv_drivers-8.0.1/CMakeLists.txt lv_drivers-8.0.1-imx6ull/CMakeLists.txt
---- lv_drivers-8.0.1/CMakeLists.txt 2021-06-14 19:54:20.000000000 +0800
-+++ lv_drivers-8.0.1-imx6ull/CMakeLists.txt 2021-09-27 22:20:38.179997474 +0800
-@@ -1,2 +1,5 @@
-+set(CMAKE_C_COMPILER "/opt/buildroot/cortex-a7/bin/arm-linux-gcc")
-+include_directories(..)
-+
- file(GLOB_RECURSE SOURCES ./*.c)
- add_library(lv_drivers STATIC ${SOURCES})
-diff -Nuar lv_drivers-8.0.1/indev/evdev.c lv_drivers-8.0.1-imx6ull/indev/evdev.c
---- lv_drivers-8.0.1/indev/evdev.c 2021-06-14 19:54:20.000000000 +0800
-+++ lv_drivers-8.0.1-imx6ull/indev/evdev.c 2021-09-27 22:25:04.172002576 +0800
-@@ -115,7 +115,7 @@
- * @param data store the evdev data here
- * @return false: because the points are not buffered, so no more data to be read
- */
--bool evdev_read(lv_indev_drv_t * drv, lv_indev_data_t * data)
-+void evdev_read(lv_indev_drv_t * drv, lv_indev_data_t * data)
- {
- struct input_event in;
-
-@@ -196,7 +196,7 @@
- }
- evdev_key_val = data->key;
- evdev_button = data->state;
-- return false;
-+ return;
- }
- }
- }
-@@ -205,10 +205,10 @@
- /* No data retrieved */
- data->key = evdev_key_val;
- data->state = evdev_button;
-- return false;
-+ return;
- }
- if(drv->type != LV_INDEV_TYPE_POINTER)
-- return false;
-+ return;
- /*Store the collected data*/
-
- #if EVDEV_CALIBRATE
-@@ -225,12 +225,12 @@
- data->point.x = 0;
- if(data->point.y < 0)
- data->point.y = 0;
-- if(data->point.x >= drv->disp->driver.hor_res)
-- data->point.x = drv->disp->driver.hor_res - 1;
-- if(data->point.y >= drv->disp->driver.ver_res)
-- data->point.y = drv->disp->driver.ver_res - 1;
-+ if(data->point.x >= drv->disp->driver->hor_res)
-+ data->point.x = drv->disp->driver->hor_res - 1;
-+ if(data->point.y >= drv->disp->driver->ver_res)
-+ data->point.y = drv->disp->driver->ver_res - 1;
-
-- return false;
-+ return;
- }
-
- /**********************
-diff -Nuar lv_drivers-8.0.1/indev/evdev.h lv_drivers-8.0.1-imx6ull/indev/evdev.h
---- lv_drivers-8.0.1/indev/evdev.h 2021-06-14 19:54:20.000000000 +0800
-+++ lv_drivers-8.0.1-imx6ull/indev/evdev.h 2021-09-27 22:25:33.424003137 +0800
-@@ -57,7 +57,7 @@
- * @param data store the evdev data here
- * @return false: because the points are not buffered, so no more data to be read
- */
--bool evdev_read(lv_indev_drv_t * drv, lv_indev_data_t * data);
-+void evdev_read(lv_indev_drv_t * drv, lv_indev_data_t * data);
-
-
- /**********************
-diff -Nuar lv_drivers-8.0.1/lv_drv_conf_template.h lv_drivers-8.0.1-imx6ull/lv_drv_conf_template.h
---- lv_drivers-8.0.1/lv_drv_conf_template.h 2021-06-14 19:54:20.000000000 +0800
-+++ lv_drivers-8.0.1-imx6ull/lv_drv_conf_template.h 2021-09-27 22:20:38.183997474 +0800
-@@ -7,7 +7,7 @@
- * COPY THIS FILE AS lv_drv_conf.h
- */
-
--#if 0 /*Set it to "1" to enable the content*/
-+#if 1 /*Set it to "1" to enable the content*/
-
- #ifndef LV_DRV_CONF_H
- #define LV_DRV_CONF_H
-@@ -272,7 +272,7 @@
- * Linux frame buffer device (/dev/fbx)
- *-----------------------------------------*/
- #ifndef USE_FBDEV
--# define USE_FBDEV 0
-+# define USE_FBDEV 1
- #endif
-
- #if USE_FBDEV
-@@ -386,7 +386,7 @@
- * Mouse or touchpad as evdev interface (for Linux based systems)
- *------------------------------------------------*/
- #ifndef USE_EVDEV
--# define USE_EVDEV 0
-+# define USE_EVDEV 1
- #endif
-
- #ifndef USE_BSD_EVDEV
diff --git a/lvgl/libs_lvgl/patches/lvgl-8.0.2-imx6ull.patch b/lvgl/libs_lvgl/patches/lvgl-8.0.2-imx6ull.patch
deleted file mode 100644
index 5ae5a78..0000000
--- a/lvgl/libs_lvgl/patches/lvgl-8.0.2-imx6ull.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -Nuar lvgl-8.0.2/CMakeLists.txt lvgl-8.0.2-imx6ull/CMakeLists.txt
---- lvgl-8.0.2/CMakeLists.txt 2021-07-16 23:40:51.000000000 +0800
-+++ lvgl-8.0.2-imx6ull/CMakeLists.txt 2021-09-27 22:30:20.360008641 +0800
-@@ -1,3 +1,7 @@
-+
-+set(CMAKE_C_COMPILER "/opt/buildroot/cortex-a7/bin/arm-linux-gcc")
-+include_directories(..)
-+
- if(ESP_PLATFORM)
-
- file(GLOB_RECURSE SOURCES src/*.c)
-diff -Nuar lvgl-8.0.2/lv_conf_template.h lvgl-8.0.2-imx6ull/lv_conf_template.h
---- lvgl-8.0.2/lv_conf_template.h 2021-07-16 23:40:51.000000000 +0800
-+++ lvgl-8.0.2-imx6ull/lv_conf_template.h 2021-09-27 22:33:47.448012614 +0800
-@@ -7,7 +7,7 @@
- * COPY THIS FILE AS `lv_conf.h` NEXT TO the `lvgl` FOLDER
- */
-
--#if 0 /*Set it to "1" to enable content*/
-+#if 1 /*Set it to "1" to enable content*/
-
- #ifndef LV_CONF_H
- #define LV_CONF_H
-@@ -21,7 +21,7 @@
- *====================*/
-
- /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
--#define LV_COLOR_DEPTH 32
-+#define LV_COLOR_DEPTH 16
-
- /*Swap the 2 bytes of RGB565 color. Useful if the display has a 8 bit interface (e.g. SPI)*/
- #define LV_COLOR_16_SWAP 0
-@@ -42,7 +42,7 @@
- #define LV_MEM_CUSTOM 0
- #if LV_MEM_CUSTOM == 0
- /*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
--# define LV_MEM_SIZE (32U * 1024U) /*[bytes]*/
-+# define LV_MEM_SIZE (128U * 1024U) /*[bytes]*/
-
- /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
- # define LV_MEM_ADR 0 /*0: unused*/
-@@ -68,9 +68,10 @@
-
- /*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()`)*/
--#define LV_TICK_CUSTOM 0
-+#define LV_TICK_CUSTOM 1
- #if LV_TICK_CUSTOM
--#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/
-+extern uint32_t millis(void);
-+#define LV_TICK_CUSTOM_INCLUDE <stdint.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*/
-
-@@ -137,7 +138,7 @@
- *-----------*/
-
- /*Enable the log module*/
--#define LV_USE_LOG 0
-+#define LV_USE_LOG 1
- #if LV_USE_LOG
-
- /*How important log should be added:
-@@ -151,7 +152,7 @@
-
- /*1: Print the log with 'printf';
- *0: User need to register a callback with `lv_log_register_print_cb()`*/
--# define LV_LOG_PRINTF 0
-+# define LV_LOG_PRINTF 1
-
- /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
- # define LV_LOG_TRACE_MEM 1
-@@ -262,13 +263,13 @@
-
- /*Montserrat fonts with ASCII range and some symbols using bpp = 4
- *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_8 1
-+#define LV_FONT_MONTSERRAT_10 1
-+#define LV_FONT_MONTSERRAT_12 1
- #define LV_FONT_MONTSERRAT_14 1
--#define LV_FONT_MONTSERRAT_16 0
--#define LV_FONT_MONTSERRAT_18 0
--#define LV_FONT_MONTSERRAT_20 0
-+#define LV_FONT_MONTSERRAT_16 1
-+#define LV_FONT_MONTSERRAT_18 1
-+#define LV_FONT_MONTSERRAT_20 1
- #define LV_FONT_MONTSERRAT_22 0
- #define LV_FONT_MONTSERRAT_24 0
- #define LV_FONT_MONTSERRAT_26 0
diff --git a/lvgl/lvgl_demo.c b/lvgl/lvgl_demo.c
deleted file mode 100644
index f7eeb5c..0000000
--- a/lvgl/lvgl_demo.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*********************************************************************************
- * Copyright: (C) 2021 LingYun IoT System Studio
- * All rights reserved.
- *
- * Filename: lvgl_demo.c
- * Description: This file is LVGL demo program.
- *
- * Version: 1.0.0(2021年09月27日)
- * Author: Guo Wenxue <guowenxue@gmail.com>
- * ChangeLog: 1, Release initial version on "2021年09月27日 22时16分52秒"
- *
- ********************************************************************************/
-
-#include <stdio.h>
-#include <unistd.h>
-#include <pthread.h>
-#include <time.h>
-#include <sys/time.h>
-
-#include "lvgl/lvgl.h"
-#include "lv_drivers/display/fbdev.h"
-#include "lv_drivers/indev/evdev.h"
-#include "lv_demos/lv_demo.h"
-
-#define DISP_BUF_SIZE (128 * 1024)
-
-
-int main(void)
-{
- lv_disp_drv_t disp_drv;
- lv_indev_drv_t indev_drv;
- static lv_color_t buf[DISP_BUF_SIZE]; /* buffer for LVGL to draw the screen's content */
- static lv_disp_draw_buf_t disp_buf; /* Initialize a descriptor for the buffer */
-
- /* LVGL context init */
- lv_init();
-
- /* Linux frame buffer device init */
- fbdev_init();
-
- /* linux touchscreen device init */
- lv_indev_drv_init(&indev_drv);
- indev_drv.type =LV_INDEV_TYPE_POINTER;
- indev_drv.read_cb =evdev_read;
- lv_indev_drv_register(&indev_drv);
-
- /* Initialize and register a display driver */
- lv_disp_draw_buf_init(&disp_buf, buf, NULL, DISP_BUF_SIZE);
- lv_disp_drv_init(&disp_drv);
- disp_drv.draw_buf = &disp_buf;
- disp_drv.flush_cb = fbdev_flush;
- disp_drv.hor_res = 800;
- disp_drv.ver_res = 480;
- lv_disp_drv_register(&disp_drv);
-
- /* Create a Demo */
- //lv_demo_widgets();
- lv_demo_music();
- //lv_demo_keypad_encoder();
- //lv_demo_stress();
-
- /* Handle LitlevGL tasks (tickless mode) */
- while(1) {
- lv_task_handler();
- usleep(5000);
- }
-
- return 0;
-}
-
-/* Set in lv_conf.h as LV_TICK_CUSTOM_SYS_TIME_EXPR */
-uint32_t millis(void)
-{
- static uint64_t start_ms = 0;
- struct timeval tv_start;
- struct timeval tv_now;
- uint64_t now_ms;
- uint32_t time_ms;
-
- if(start_ms == 0)
- {
- gettimeofday(&tv_start, NULL);
- start_ms = (tv_start.tv_sec * 1000000 + tv_start.tv_usec) / 1000;
- }
-
- gettimeofday(&tv_now, NULL);
- now_ms = (tv_now.tv_sec * 1000000 + tv_now.tv_usec) / 1000;
-
- time_ms = now_ms - start_ms;
- return time_ms;
-}
diff --git a/lvgl/makefile b/lvgl/makefile
deleted file mode 100644
index ed9aa44..0000000
--- a/lvgl/makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-
-CROSSTOOL=arm-linux-gnueabihf-
-CC = ${CROSSTOOL}gcc
-
-CFLAGS = -Wall -Wshadow -Wundef -Wmaybe-uninitialized
-CFLAGS += -O3 -g3 -I./ -I ./libs_lvgl/
-
-LDFLAGS+=-L ./libs_lvgl/libs/ -llv_demos -llv_drivers -llvgl
-
-BIN = lvgl_demo
-
-MAINSRC = lvgl_demo.c
-
-VPATH =
-OBJEXT ?= .o
-
-AOBJS = $(ASRCS:.S=$(OBJEXT))
-COBJS = $(CSRCS:.c=$(OBJEXT))
-
-MAINOBJ = $(MAINSRC:.c=$(OBJEXT))
-
-SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)
-OBJS = $(AOBJS) $(COBJS)
-
-## MAINOBJ -> OBJFILES
-
-all: libs clean default
- cp ${BIN} /tftp
-
-libs:
- cd libs_lvgl && ./build.sh ${CROSSTOOL}
-
-%.o: %.c
- @$(CC) $(CFLAGS) -c $< -o $@
- @echo "CC $<"
-
-default: $(AOBJS) $(COBJS) $(MAINOBJ)
- $(CC) -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS)
-
-clean:
- rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ)
-
-distclean: clean
- rm -rf cscope* tags
- cd libs_lvgl && ./build.sh clean
-
--
Gitblit v1.10.0