You've already forked MicroPythonOS
mirror of
https://github.com/m5stack/MicroPythonOS.git
synced 2026-05-20 11:51:27 -07:00
54 lines
3.2 KiB
Bash
Executable File
54 lines
3.2 KiB
Bash
Executable File
|
|
target="$1"
|
|
buildtype="$2"
|
|
|
|
|
|
if [ -z "$target" -o -z "$buildtype" ]; then
|
|
echo "Usage: $0 <esp32 or unix or macos> <dev or prod>"
|
|
echo "Example: $0 unix dev"
|
|
echo "Example: $0 esp32 prod"
|
|
echo
|
|
echo "A 'dev' build is without any preinstalled files or builtin/ filsystem, so it will just start with a black screen and you'll have to do: ./scripts/install.sh to install the User Interface."
|
|
echo "A 'prod' build has the files from manifest*.py frozen in. Don't forget to run: ./scripts/freezefs_mount_builtin.sh !"
|
|
exit 1
|
|
fi
|
|
|
|
pushd ~/sources/lvgl_micropython
|
|
|
|
manifest=""
|
|
|
|
if [ "$target" == "esp32" ]; then
|
|
if [ "$buildtype" == "prod" ]; then
|
|
manifest="FROZEN_MANIFEST=/home/user/sources/MicroPythonOS/manifest.py"
|
|
fi
|
|
# Build for https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-2.
|
|
# See https://github.com/lvgl-micropython/lvgl_micropython
|
|
# --ota: support Over-The-Air updates
|
|
# --partition size: both OTA partitions are 4MB
|
|
# --flash-size: total flash size is 16MB
|
|
# --debug: enable debugging from ESP-IDF but makes copying files to it very slow
|
|
# --dual-core-threads: disabled GIL, run code on both CPUs
|
|
# --task-stack-size={stack size in bytes}
|
|
# CONFIG_* sets ESP-IDF options
|
|
# listing processes on the esp32 still doesn't work because no esp32.vtask_list_threads() or something
|
|
# CONFIG_FREERTOS_USE_TRACE_FACILITY=y
|
|
# CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y
|
|
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
|
|
python3 make.py --ota --partition-size=4194304 --flash-size=16 esp32 BOARD=ESP32_GENERIC_S3 BOARD_VARIANT=SPIRAM_OCT DISPLAY=st7789 INDEV=cst816s USER_C_MODULE=/home/user/sources/micropython-camera-API/src/micropython.cmake USER_C_MODULE=/home/user/projects/MicroPythonOS/secp256k1-embedded-ecdh/micropython.cmake USER_C_MODULE=/home/user/sources/MicroPythonOS/c_mpos/micropython.cmake CONFIG_FREERTOS_USE_TRACE_FACILITY=y CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y "$manifest"
|
|
# ffmpeg failed because time_t conflict time.h /home/user/sources/lvgl_micropython/lib/esp-idf/components/mbedtls/mbedtls/include/mbedtls/platform_time.h
|
|
#python3 make.py --ota --partition-size=4194304 --flash-size=16 esp32 BOARD=ESP32_GENERIC_S3 BOARD_VARIANT=SPIRAM_OCT DISPLAY=st7789 INDEV=cst816s USER_C_MODULE=/home/user/sources/micropython-camera-API/src/micropython.cmake USER_C_MODULE=/home/user/projects/MicroPythonOS/secp256k1-embedded-ecdh/micropython.cmake USER_C_MODULE=/home/user/sources/MicroPythonOS/c_mpos/micropython.cmake USER_C_MODULE=/home/user/sources/MicroPythonOS/c_mpos/ffmpeg.cmake CONFIG_FREERTOS_USE_TRACE_FACILITY=y CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y "$manifest"
|
|
elif [ "$target" == "unix" -o "$target" == "macos" ]; then
|
|
if [ "$buildtype" == "prod" ]; then
|
|
manifest="FROZEN_MANIFEST=/home/user/sources/MicroPythonOS/manifest_unix.py"
|
|
fi
|
|
# build for desktop
|
|
#python3 make.py "$target" DISPLAY=sdl_display INDEV=sdl_pointer INDEV=sdl_keyboard "$manifest"
|
|
# LV_CFLAGS are passed to USER_C_MODULES
|
|
# STRIP= makes it so that debug symbols are kept
|
|
python3 make.py "$target" LV_CFLAGS="-g -O0 -ggdb -ljpeg" STRIP= DISPLAY=sdl_display INDEV=sdl_pointer INDEV=sdl_keyboard "$manifest"
|
|
else
|
|
echo "invalid target $target"
|
|
fi
|
|
|
|
popd
|