mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-03-12 00:45:28 +00:00
littlevgl sample update (#235)
This commit is contained in:
parent
a661c49cd0
commit
f8442340fe
|
@ -1,15 +1,19 @@
|
|||
"littlevgl" sample introduction
|
||||
==============
|
||||
This sample demonstrates that a graphic user interface application in WebAssembly by compiling the LittlevGL, an open-source embedded 2d graphic library into the WASM bytecode.
|
||||
This sample demonstrates that a graphic user interface application in WebAssembly by compiling the LittlevGL v5.3, an open-source embedded 2d graphic library into the WASM bytecode.
|
||||
|
||||
In this sample, the whole LittlevGL source code is built into the WebAssembly code with the user application. The platform interfaces defined by LittlevGL is implemented in the runtime and exported to the application through the declarations from source "ext_lib_export.c" as below:
|
||||
In this sample, the whole LittlevGL v5.3 source code is built into the WebAssembly code with the user application. The platform interfaces defined by LittlevGL is implemented in the runtime and registered for WASM application through calling wasm_runtime_full_init().
|
||||
|
||||
EXPORT_WASM_API(display_input_read),
|
||||
EXPORT_WASM_API(display_flush),
|
||||
EXPORT_WASM_API(display_fill),
|
||||
EXPORT_WASM_API(display_vdb_write),
|
||||
EXPORT_WASM_API(display_map),
|
||||
EXPORT_WASM_API(time_get_ms),
|
||||
```
|
||||
static NativeSymbol native_symbols[] = {
|
||||
EXPORT_WASM_API_WITH_SIG(display_input_read, "(*)i"),
|
||||
EXPORT_WASM_API_WITH_SIG(display_flush, "(iiii*)"),
|
||||
EXPORT_WASM_API_WITH_SIG(display_fill, "(iiii*)"),
|
||||
EXPORT_WASM_API_WITH_SIG(display_vdb_write, "(*iii*i)"),
|
||||
EXPORT_WASM_API_WITH_SIG(display_map, "(iiii*)"),
|
||||
EXPORT_WASM_API_WITH_SIG(time_get_ms, "()i")
|
||||
};
|
||||
```
|
||||
|
||||
The runtime component supports building target for Linux and Zephyr/STM Nucleo board. The beauty of this sample is the WebAssembly application can have identical display and behavior when running from both runtime environments. That implies we can do majority of application validation from desktop environment as long as two runtime distributions support the same set of application interface.
|
||||
|
||||
|
@ -56,14 +60,21 @@ Build and Run
|
|||
- Build</br>
|
||||
`./build.sh`</br>
|
||||
All binaries are in "out", which contains "host_tool", "vgl_native_ui_app", "ui_app.wasm" "ui_app_no_wasi.wasm "and "vgl_wasm_runtime".
|
||||
- Run native Linux application</br>
|
||||
- Run the native Linux build of the lvgl sample (no wasm) </br>
|
||||
`./vgl_native_ui_app`</br>
|
||||
|
||||
- Run WASM VM Linux applicaton & install WASM APP</br>
|
||||
First start vgl_wasm_runtime in server mode.</br>
|
||||
`./vgl_wasm_runtime -s`</br>
|
||||
Then install wasm APP use host tool.</br>
|
||||
`./host_tool -i ui_app -f ui_app.wasm`</br>
|
||||
Then install and uninstall wasm APPs by using host tool.</br>
|
||||
`./host_tool -i ui_wasi -f ui_app_wasi.wasm`</br>
|
||||
`./host_tool -q`</br>
|
||||
`./host_tool -u ui_wasi`</br>
|
||||
`./host_tool -i ui_no_wasi -f ui_app_builtin_libc.wasm`</br>
|
||||
`./host_tool -q`</br>
|
||||
`./host_tool -u ui_no_wasi`</br>
|
||||
|
||||
|
||||
|
||||
Test on Zephyr
|
||||
================================
|
||||
|
@ -140,9 +151,9 @@ We can use a STM32 NUCLEO_F767ZI board with ILI9341 display and XPT2046 touch s
|
|||
|
||||
- Install WASM application to Zephyr using host_tool</br>
|
||||
First, connect PC and STM32 with UART. Then install to use host_tool.</br>
|
||||
`./host_tool -D /dev/ttyUSBXXX -i ui_app -f ui_app_no_wasi.wasm`
|
||||
**Note**: WASI is unavailable on zephyr currently, so you have to use the ui_app_no_wasi.wasm which doesn't depend on WASI.
|
||||
`./host_tool -D /dev/ttyUSBXXX -i ui_app -f ui_app_builtin_libc.wasm`
|
||||
**Note**: WASI is unavailable on zephyr currently, so you have to use the ui_app_builtin_libc.wasm which doesn't depend on WASI.
|
||||
|
||||
- Install AOT version WASM application
|
||||
`wamrc --target=thumbv7 --target-abi=eabi --cpu=cortex-m7 -o ui_app_no_wasi.aot ui_app_no_wasi.wasm`
|
||||
`wamrc --target=thumbv7 --target-abi=eabi --cpu=cortex-m7 -o ui_app_no_wasi.aot ui_app_builtin_libc.wasm`
|
||||
`./host_tool -D /dev/ttyUSBXXX -i ui_app -f ui_app_no_wasi.aot`
|
||||
|
|
|
@ -26,14 +26,14 @@ rm -rf ${OUT_DIR}
|
|||
mkdir ${OUT_DIR}
|
||||
|
||||
|
||||
cd ${WAMR_DIR}/core/shared/mem-alloc
|
||||
if [ ! -d "tlsf" ]; then
|
||||
git clone https://github.com/mattconte/tlsf
|
||||
fi
|
||||
|
||||
cd ${WAMR_DIR}/core/deps
|
||||
cd ${BUILD_DIR}
|
||||
if [ ! -d "lvgl" ]; then
|
||||
git clone https://github.com/littlevgl/lvgl.git --branch v6.0.1
|
||||
echo "starting download lvgl for v5.3 ..."
|
||||
git clone https://github.com/littlevgl/lvgl.git --branch v5.3
|
||||
if [ $? != 0 ];then
|
||||
echo "download lvgl repo failed: $?\n"
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "##################### 0. build wamr-sdk littlevgl start#####################"
|
||||
|
@ -92,7 +92,6 @@ if [ ! -d "${PROJECT_DIR}/wasm-apps/lvgl" ]; then
|
|||
fi
|
||||
fi
|
||||
./build_wasm_app.sh
|
||||
mv ui_app.wasm ${OUT_DIR}/
|
||||
mv ui_app_no_wasi.wasm ${OUT_DIR}/
|
||||
rm -fr ${PROJECT_DIR}/wasm-apps/lvgl
|
||||
mv *.wasm ${OUT_DIR}/
|
||||
|
||||
echo "##################### build wasm ui app end#####################"
|
||||
|
|
|
@ -24,7 +24,7 @@ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|||
endif ()
|
||||
|
||||
set(lv_name lvgl)
|
||||
set(LVGL_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/${lv_name})
|
||||
set(LVGL_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../build/lvgl)
|
||||
set(LVGL_DRIVER_DIR ${CMAKE_CURRENT_LIST_DIR}/lv-drivers)
|
||||
|
||||
message(${LVGL_SOURCE_DIR})
|
||||
|
@ -32,21 +32,6 @@ include( ExternalProject )
|
|||
|
||||
add_definitions(-DLV_CONF_INCLUDE_SIMPLE)
|
||||
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt.in ${CMAKE_CURRENT_BINARY_DIR}/download_lvgl/CMakeLists.txt)
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
||||
RESULT_VARIABLE result
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/download_lvgl )
|
||||
if(result)
|
||||
message(FATAL_ERROR "CMake step for lvgl failed: ${result}")
|
||||
endif()
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} --build .
|
||||
RESULT_VARIABLE result
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/download_lvgl )
|
||||
if(result)
|
||||
message(FATAL_ERROR "Build step for lvgl failed: ${result}")
|
||||
endif()
|
||||
SET (LVGL_SOURCES
|
||||
${LVGL_SOURCE_DIR}/lv_core/lv_group.c
|
||||
${LVGL_SOURCE_DIR}/lv_core/lv_indev.c
|
||||
|
|
|
@ -10,7 +10,7 @@ ExternalProject_Add(${lv_name}
|
|||
GIT_REPOSITORY https://github.com/littlevgl/lvgl.git
|
||||
GIT_TAG v5.3
|
||||
BINARY_DIR ""
|
||||
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/lvgl"
|
||||
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/../build/lvgl"
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
|
|
|
@ -3,7 +3,7 @@ set (WAMR_BUILD_TARGET X86_64)
|
|||
set (WAMR_BUILD_INTERP 1)
|
||||
set (WAMR_BUILD_AOT 1)
|
||||
set (WAMR_BUILD_JIT 0)
|
||||
set (WAMR_BUILD_LIBC_BUILTIN 0)
|
||||
set (WAMR_BUILD_LIBC_BUILTIN 1)
|
||||
set (WAMR_BUILD_LIBC_WASI 1)
|
||||
set (WAMR_BUILD_APP_FRAMEWORK 1)
|
||||
set (WAMR_BUILD_APP_LIST WAMR_APP_BUILD_BASE WAMR_APP_BUILD_SENSOR WAMR_APP_BUILD_CONNECTION)
|
||||
|
|
|
@ -5,43 +5,44 @@ CC = /opt/wasi-sdk/bin/clang
|
|||
LVGL_DIR = ${shell pwd}
|
||||
SDK_DIR = $(LVGL_DIR)/../../../wamr-sdk/out/littlevgl/app-sdk
|
||||
APP_FRAMEWORK_DIR = $(SDK_DIR)/wamr-app-framework
|
||||
LVGL_REPO_PATH=../build/lvgl
|
||||
|
||||
CFLAGS += -O3 \
|
||||
-I$(LVGL_DIR) \
|
||||
-I$(LVGL_DIR)/lvgl \
|
||||
-I$(LVGL_DIR)/../build \
|
||||
-I$(LVGL_DIR)/lv_drivers \
|
||||
-I$(LVGL_DIR)/src \
|
||||
-I$(LVGL_DIR)/../lv_config \
|
||||
-I$(APP_FRAMEWORK_DIR)/include
|
||||
|
||||
SRCS += lvgl/lv_draw/lv_draw_line.c lvgl/lv_draw/lv_draw_rbasic.c
|
||||
SRCS += lvgl/lv_draw/lv_draw_img.c lvgl/lv_draw/lv_draw_arc.c
|
||||
SRCS += lvgl/lv_draw/lv_draw_rect.c lvgl/lv_draw/lv_draw_triangle.c
|
||||
SRCS += lvgl/lv_draw/lv_draw.c lvgl/lv_draw/lv_draw_label.c
|
||||
SRCS += lvgl/lv_draw/lv_draw_vbasic.c lvgl/lv_fonts/lv_font_builtin.c
|
||||
SRCS += lvgl/lv_fonts/lv_font_dejavu_20.c
|
||||
SRCS += lvgl/lv_objx/lv_img.c
|
||||
SRCS += lvgl/lv_objx/lv_roller.c lvgl/lv_objx/lv_cb.c lvgl/lv_objx/lv_led.c lvgl/lv_objx/lv_cont.c
|
||||
SRCS += lvgl/lv_objx/lv_calendar.c lvgl/lv_objx/lv_gauge.c lvgl/lv_objx/lv_page.c
|
||||
SRCS += lvgl/lv_objx/lv_list.c lvgl/lv_objx/lv_bar.c lvgl/lv_objx/lv_tabview.c
|
||||
SRCS += lvgl/lv_objx/lv_mbox.c lvgl/lv_objx/lv_objx_templ.c lvgl/lv_objx/lv_sw.c
|
||||
SRCS += lvgl/lv_objx/lv_label.c lvgl/lv_objx/lv_slider.c lvgl/lv_objx/lv_ddlist.c
|
||||
SRCS += lvgl/lv_objx/lv_imgbtn.c lvgl/lv_objx/lv_line.c lvgl/lv_objx/lv_chart.c
|
||||
SRCS += lvgl/lv_objx/lv_btnm.c lvgl/lv_objx/lv_arc.c lvgl/lv_objx/lv_preload.c
|
||||
SRCS += lvgl/lv_objx/lv_win.c lvgl/lv_objx/lv_lmeter.c lvgl/lv_objx/lv_btn.c
|
||||
SRCS += lvgl/lv_objx/lv_ta.c lvgl/lv_misc/lv_log.c lvgl/lv_misc/lv_fs.c
|
||||
SRCS += lvgl/lv_misc/lv_task.c lvgl/lv_misc/lv_circ.c lvgl/lv_misc/lv_anim.c
|
||||
SRCS += lvgl/lv_misc/lv_color.c lvgl/lv_misc/lv_txt.c lvgl/lv_misc/lv_math.c
|
||||
SRCS += lvgl/lv_misc/lv_mem.c lvgl/lv_misc/lv_font.c lvgl/lv_misc/lv_ll.c
|
||||
SRCS += lvgl/lv_misc/lv_area.c lvgl/lv_misc/lv_templ.c lvgl/lv_misc/lv_ufs.c
|
||||
SRCS += lvgl/lv_misc/lv_gc.c
|
||||
SRCS += lvgl/lv_hal/lv_hal_tick.c lvgl/lv_hal/lv_hal_indev.c lvgl/lv_hal/lv_hal_disp.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_mono.c lvgl/lv_themes/lv_theme_templ.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_material.c lvgl/lv_themes/lv_theme.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_night.c lvgl/lv_themes/lv_theme_zen.c lvgl/lv_themes/lv_theme_nemo.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_alien.c lvgl/lv_themes/lv_theme_default.c
|
||||
SRCS += lvgl/lv_core/lv_group.c lvgl/lv_core/lv_style.c lvgl/lv_core/lv_indev.c
|
||||
SRCS += lvgl/lv_core/lv_vdb.c lvgl/lv_core/lv_obj.c lvgl/lv_core/lv_refr.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_draw/lv_draw_line.c ${LVGL_REPO_PATH}/lv_draw/lv_draw_rbasic.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_draw/lv_draw_img.c ${LVGL_REPO_PATH}/lv_draw/lv_draw_arc.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_draw/lv_draw_rect.c ${LVGL_REPO_PATH}/lv_draw/lv_draw_triangle.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_draw/lv_draw.c ${LVGL_REPO_PATH}/lv_draw/lv_draw_label.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_draw/lv_draw_vbasic.c ${LVGL_REPO_PATH}/lv_fonts/lv_font_builtin.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_fonts/lv_font_dejavu_20.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_img.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_roller.c ${LVGL_REPO_PATH}/lv_objx/lv_cb.c ${LVGL_REPO_PATH}/lv_objx/lv_led.c ${LVGL_REPO_PATH}/lv_objx/lv_cont.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_calendar.c ${LVGL_REPO_PATH}/lv_objx/lv_gauge.c ${LVGL_REPO_PATH}/lv_objx/lv_page.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_list.c ${LVGL_REPO_PATH}/lv_objx/lv_bar.c ${LVGL_REPO_PATH}/lv_objx/lv_tabview.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_mbox.c ${LVGL_REPO_PATH}/lv_objx/lv_objx_templ.c ${LVGL_REPO_PATH}/lv_objx/lv_sw.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_label.c ${LVGL_REPO_PATH}/lv_objx/lv_slider.c ${LVGL_REPO_PATH}/lv_objx/lv_ddlist.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_imgbtn.c ${LVGL_REPO_PATH}/lv_objx/lv_line.c ${LVGL_REPO_PATH}/lv_objx/lv_chart.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_btnm.c ${LVGL_REPO_PATH}/lv_objx/lv_arc.c ${LVGL_REPO_PATH}/lv_objx/lv_preload.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_win.c ${LVGL_REPO_PATH}/lv_objx/lv_lmeter.c ${LVGL_REPO_PATH}/lv_objx/lv_btn.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_objx/lv_ta.c ${LVGL_REPO_PATH}/lv_misc/lv_log.c ${LVGL_REPO_PATH}/lv_misc/lv_fs.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_misc/lv_task.c ${LVGL_REPO_PATH}/lv_misc/lv_circ.c ${LVGL_REPO_PATH}/lv_misc/lv_anim.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_misc/lv_color.c ${LVGL_REPO_PATH}/lv_misc/lv_txt.c ${LVGL_REPO_PATH}/lv_misc/lv_math.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_misc/lv_mem.c ${LVGL_REPO_PATH}/lv_misc/lv_font.c ${LVGL_REPO_PATH}/lv_misc/lv_ll.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_misc/lv_area.c ${LVGL_REPO_PATH}/lv_misc/lv_templ.c ${LVGL_REPO_PATH}/lv_misc/lv_ufs.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_misc/lv_gc.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_hal/lv_hal_tick.c ${LVGL_REPO_PATH}/lv_hal/lv_hal_indev.c ${LVGL_REPO_PATH}/lv_hal/lv_hal_disp.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_themes/lv_theme_mono.c ${LVGL_REPO_PATH}/lv_themes/lv_theme_templ.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_themes/lv_theme_material.c ${LVGL_REPO_PATH}/lv_themes/lv_theme.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_themes/lv_theme_night.c ${LVGL_REPO_PATH}/lv_themes/lv_theme_zen.c ${LVGL_REPO_PATH}/lv_themes/lv_theme_nemo.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_themes/lv_theme_alien.c ${LVGL_REPO_PATH}/lv_themes/lv_theme_default.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_core/lv_group.c ${LVGL_REPO_PATH}/lv_core/lv_style.c ${LVGL_REPO_PATH}/lv_core/lv_indev.c
|
||||
SRCS += ${LVGL_REPO_PATH}/lv_core/lv_vdb.c ${LVGL_REPO_PATH}/lv_core/lv_obj.c ${LVGL_REPO_PATH}/lv_core/lv_refr.c
|
||||
SRCS += $(LVGL_DIR)/src/main.c
|
||||
|
||||
all:
|
||||
|
@ -53,4 +54,4 @@ all:
|
|||
-Wl,--no-threads,--strip-all,--no-entry \
|
||||
-Wl,--export=on_init -Wl,--export=on_timer_callback \
|
||||
-Wl,--export=__heap_base,--export=__data_end \
|
||||
-o ui_app.wasm
|
||||
-o ui_app_wasi.wasm
|
||||
|
|
|
@ -6,43 +6,44 @@ LVGL_DIR = ${shell pwd}
|
|||
WAMR_DIR = ${LVGL_DIR}/../../..
|
||||
SDK_DIR = $(LVGL_DIR)/../../../wamr-sdk/out/littlevgl/app-sdk
|
||||
APP_FRAMEWORK_DIR = $(SDK_DIR)/wamr-app-framework
|
||||
LVGL_REPO_PATH=../build/lvgl
|
||||
|
||||
CFLAGS += -O3 \
|
||||
-I$(LVGL_DIR) \
|
||||
-I$(LVGL_DIR)/lvgl \
|
||||
-I$(LVGL_DIR)/../build \
|
||||
-I$(LVGL_DIR)/lv_drivers \
|
||||
-I$(LVGL_DIR)/src \
|
||||
-I$(LVGL_DIR)/../lv_config \
|
||||
-I$(APP_FRAMEWORK_DIR)/include
|
||||
|
||||
SRCS += lvgl/lv_draw/lv_draw_line.c lvgl/lv_draw/lv_draw_rbasic.c
|
||||
SRCS += lvgl/lv_draw/lv_draw_img.c lvgl/lv_draw/lv_draw_arc.c
|
||||
SRCS += lvgl/lv_draw/lv_draw_rect.c lvgl/lv_draw/lv_draw_triangle.c
|
||||
SRCS += lvgl/lv_draw/lv_draw.c lvgl/lv_draw/lv_draw_label.c
|
||||
SRCS += lvgl/lv_draw/lv_draw_vbasic.c lvgl/lv_fonts/lv_font_builtin.c
|
||||
SRCS += lvgl/lv_fonts/lv_font_dejavu_20.c
|
||||
SRCS += lvgl/lv_objx/lv_img.c
|
||||
SRCS += lvgl/lv_objx/lv_roller.c lvgl/lv_objx/lv_cb.c lvgl/lv_objx/lv_led.c lvgl/lv_objx/lv_cont.c
|
||||
SRCS += lvgl/lv_objx/lv_calendar.c lvgl/lv_objx/lv_gauge.c lvgl/lv_objx/lv_page.c
|
||||
SRCS += lvgl/lv_objx/lv_list.c lvgl/lv_objx/lv_bar.c lvgl/lv_objx/lv_tabview.c
|
||||
SRCS += lvgl/lv_objx/lv_mbox.c lvgl/lv_objx/lv_objx_templ.c lvgl/lv_objx/lv_sw.c
|
||||
SRCS += lvgl/lv_objx/lv_label.c lvgl/lv_objx/lv_slider.c lvgl/lv_objx/lv_ddlist.c
|
||||
SRCS += lvgl/lv_objx/lv_imgbtn.c lvgl/lv_objx/lv_line.c lvgl/lv_objx/lv_chart.c
|
||||
SRCS += lvgl/lv_objx/lv_btnm.c lvgl/lv_objx/lv_arc.c lvgl/lv_objx/lv_preload.c
|
||||
SRCS += lvgl/lv_objx/lv_win.c lvgl/lv_objx/lv_lmeter.c lvgl/lv_objx/lv_btn.c
|
||||
SRCS += lvgl/lv_objx/lv_ta.c lvgl/lv_misc/lv_log.c lvgl/lv_misc/lv_fs.c
|
||||
SRCS += lvgl/lv_misc/lv_task.c lvgl/lv_misc/lv_circ.c lvgl/lv_misc/lv_anim.c
|
||||
SRCS += lvgl/lv_misc/lv_color.c lvgl/lv_misc/lv_txt.c lvgl/lv_misc/lv_math.c
|
||||
SRCS += lvgl/lv_misc/lv_mem.c lvgl/lv_misc/lv_font.c lvgl/lv_misc/lv_ll.c
|
||||
SRCS += lvgl/lv_misc/lv_area.c lvgl/lv_misc/lv_templ.c lvgl/lv_misc/lv_ufs.c
|
||||
SRCS += lvgl/lv_misc/lv_gc.c
|
||||
SRCS += lvgl/lv_hal/lv_hal_tick.c lvgl/lv_hal/lv_hal_indev.c lvgl/lv_hal/lv_hal_disp.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_mono.c lvgl/lv_themes/lv_theme_templ.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_material.c lvgl/lv_themes/lv_theme.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_night.c lvgl/lv_themes/lv_theme_zen.c lvgl/lv_themes/lv_theme_nemo.c
|
||||
SRCS += lvgl/lv_themes/lv_theme_alien.c lvgl/lv_themes/lv_theme_default.c
|
||||
SRCS += lvgl/lv_core/lv_group.c lvgl/lv_core/lv_style.c lvgl/lv_core/lv_indev.c
|
||||
SRCS += lvgl/lv_core/lv_vdb.c lvgl/lv_core/lv_obj.c lvgl/lv_core/lv_refr.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_draw/lv_draw_line.c $(LVGL_REPO_PATH)/lv_draw/lv_draw_rbasic.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_draw/lv_draw_img.c $(LVGL_REPO_PATH)/lv_draw/lv_draw_arc.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_draw/lv_draw_rect.c $(LVGL_REPO_PATH)/lv_draw/lv_draw_triangle.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_draw/lv_draw.c $(LVGL_REPO_PATH)/lv_draw/lv_draw_label.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_draw/lv_draw_vbasic.c $(LVGL_REPO_PATH)/lv_fonts/lv_font_builtin.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_fonts/lv_font_dejavu_20.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_img.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_roller.c $(LVGL_REPO_PATH)/lv_objx/lv_cb.c $(LVGL_REPO_PATH)/lv_objx/lv_led.c $(LVGL_REPO_PATH)/lv_objx/lv_cont.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_calendar.c $(LVGL_REPO_PATH)/lv_objx/lv_gauge.c $(LVGL_REPO_PATH)/lv_objx/lv_page.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_list.c $(LVGL_REPO_PATH)/lv_objx/lv_bar.c $(LVGL_REPO_PATH)/lv_objx/lv_tabview.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_mbox.c $(LVGL_REPO_PATH)/lv_objx/lv_objx_templ.c $(LVGL_REPO_PATH)/lv_objx/lv_sw.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_label.c $(LVGL_REPO_PATH)/lv_objx/lv_slider.c $(LVGL_REPO_PATH)/lv_objx/lv_ddlist.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_imgbtn.c $(LVGL_REPO_PATH)/lv_objx/lv_line.c $(LVGL_REPO_PATH)/lv_objx/lv_chart.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_btnm.c $(LVGL_REPO_PATH)/lv_objx/lv_arc.c $(LVGL_REPO_PATH)/lv_objx/lv_preload.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_win.c $(LVGL_REPO_PATH)/lv_objx/lv_lmeter.c $(LVGL_REPO_PATH)/lv_objx/lv_btn.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_objx/lv_ta.c $(LVGL_REPO_PATH)/lv_misc/lv_log.c $(LVGL_REPO_PATH)/lv_misc/lv_fs.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_misc/lv_task.c $(LVGL_REPO_PATH)/lv_misc/lv_circ.c $(LVGL_REPO_PATH)/lv_misc/lv_anim.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_misc/lv_color.c $(LVGL_REPO_PATH)/lv_misc/lv_txt.c $(LVGL_REPO_PATH)/lv_misc/lv_math.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_misc/lv_mem.c $(LVGL_REPO_PATH)/lv_misc/lv_font.c $(LVGL_REPO_PATH)/lv_misc/lv_ll.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_misc/lv_area.c $(LVGL_REPO_PATH)/lv_misc/lv_templ.c $(LVGL_REPO_PATH)/lv_misc/lv_ufs.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_misc/lv_gc.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_hal/lv_hal_tick.c $(LVGL_REPO_PATH)/lv_hal/lv_hal_indev.c $(LVGL_REPO_PATH)/lv_hal/lv_hal_disp.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_themes/lv_theme_mono.c $(LVGL_REPO_PATH)/lv_themes/lv_theme_templ.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_themes/lv_theme_material.c $(LVGL_REPO_PATH)/lv_themes/lv_theme.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_themes/lv_theme_night.c $(LVGL_REPO_PATH)/lv_themes/lv_theme_zen.c $(LVGL_REPO_PATH)/lv_themes/lv_theme_nemo.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_themes/lv_theme_alien.c $(LVGL_REPO_PATH)/lv_themes/lv_theme_default.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_core/lv_group.c $(LVGL_REPO_PATH)/lv_core/lv_style.c $(LVGL_REPO_PATH)/lv_core/lv_indev.c
|
||||
SRCS += $(LVGL_REPO_PATH)/lv_core/lv_vdb.c $(LVGL_REPO_PATH)/lv_core/lv_obj.c $(LVGL_REPO_PATH)/lv_core/lv_refr.c
|
||||
SRCS += $(LVGL_DIR)/src/main.c
|
||||
|
||||
all:
|
||||
|
@ -55,4 +56,4 @@ all:
|
|||
-Wl,--allow-undefined \
|
||||
-Wl,--no-threads,--strip-all,--no-entry -nostdlib \
|
||||
-Wl,--export=on_init -Wl,--export=on_timer_callback \
|
||||
-o ui_app_no_wasi.wasm
|
||||
-o ui_app_builtin_libc.wasm
|
||||
|
|
|
@ -13,9 +13,10 @@ else
|
|||
makewrap="kwinject -o $KW_OUT_FILE make"
|
||||
fi
|
||||
|
||||
if [ ! -d "lvgl" ]; then
|
||||
git clone https://github.com/littlevgl/lvgl.git --branch v5.3
|
||||
fi
|
||||
echo "make Makefile_wasm_app"
|
||||
$makewrap -f Makefile_wasm_app
|
||||
|
||||
echo "make Makefile_wasm_app_no_wasi"
|
||||
$makewrap -f Makefile_wasm_app_no_wasi
|
||||
|
||||
echo "completed."
|
Loading…
Reference in New Issue
Block a user