Skip to content
This repository was archived by the owner on Aug 23, 2024. It is now read-only.

Commit 8644388

Browse files
committed
Merge branch 'master' into m5stack-dev
2 parents f98c01f + 8de6ca3 commit 8644388

41 files changed

Lines changed: 4588 additions & 109 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

MicroPython_BUILD/BUILD.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ export CROSS_COMPILE=xtensa-esp32-elf-
173173

174174
for arg in "${POSITIONAL_ARGS[@]}"
175175
do
176-
if [ "${arg}" == "all" ] || [ "${arg}" == "flash" ] || [ "${arg}" == "makefs" ] || [ "${arg}" == "flashfs" ] || [ "${arg}" == "makefatfs" ] || [ "${arg}" == "flashfatfs" ]; then
176+
if [ "${arg}" == "all" ] || [ "${arg}" == "flash" ] || [ "${arg}" == "makefs" ] || [ "${arg}" == "flashfs" ] || [ "${arg}" == "makefatfs" ] || [ "${arg}" == "flashfatfs" ] || [ "${arg}" == "makelfsfs" ] || [ "${arg}" == "flashlfsfs" ]; then
177177
set_partitions ${APP_SIZE}
178178
if [ $? -ne 0 ]; then
179179
exit 1

MicroPython_BUILD/Makefile

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@
55

66
PROJECT_NAME := MicroPython
77

8-
# ##########################################################################
9-
# Variables for creating/flashing spiffs image file
8+
# ###########################################################################
9+
# Variables for creating/flashing image file
1010
ifeq ($(OS),Windows_NT)
1111
MKSPIFFS_BIN="mkspiffs.exe"
1212
MKFATFS_BIN="mkfatfs.exe"
13+
MKLITTLEFS_BIN="mklfs.exe"
1314
else
1415
MKSPIFFS_BIN="mkspiffs"
1516
MKFATFS_BIN="mkfatfs"
17+
MKLITTLEFS_BIN="mklfs"
1618
endif
1719
FILESYS_SIZE = $(shell echo $$(( $(CONFIG_MICROPY_INTERNALFS_SIZE) * 1024 )))
1820
INTERNALFS_IMAGE_COMPONENT_PATH := $(PWD)/components/internalfs_image
19-
# ##########################################################################
21+
# ###########################################################################
2022

2123

2224
echo_flash_cmd:
@@ -48,7 +50,35 @@ copyfs:
4850
@echo "-----------------------------"
4951
@echo "$(INTERNALFS_IMAGE_COMPONENT_PATH)/spiffs_image.img"
5052
@echo "-----------------------------"
51-
$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(INTERNALFS_IMAGE_COMPONENT_PATH)/spiffs_image.img
53+
$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(INTERNALFS_IMAGE_COMPONENT_PATH)/internalfs_image.img
54+
55+
makelfsfs:
56+
@echo "Making LittleFS image; Flash address: $(CONFIG_MICROPY_INTERNALFS_START), Size: $(CONFIG_MICROPY_INTERNALFS_SIZE) KB ..."
57+
$(PROJECT_PATH)/components/mklittlefs/$(MKLITTLEFS_BIN) -b $(CONFIG_MICROPY_BLOCK_SIZE) -c $(CONFIG_MICROPY_BLOCK_COUNT) $(CONFIG_MICROPY_USE_WL) $(INTERNALFS_IMAGE_COMPONENT_PATH)/image $(BUILD_DIR_BASE)/lfs_image.img
58+
@echo "--------------------------"
59+
@echo "To flash to ESP32 execute:"
60+
@echo "--------------------------"
61+
@echo "$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(BUILD_DIR_BASE)/lfs_image.img)"
62+
@echo "--------------------------------"
63+
@echo "or execute ./BUILD.sh flashlfsfs"
64+
@echo "--------------------------------"
65+
66+
flashlfsfs:
67+
@echo "Making LittleFS image; Flash address: $(CONFIG_MICROPY_INTERNALFS_START), Size: $(CONFIG_MICROPY_INTERNALFS_SIZE) KB ..."
68+
$(PROJECT_PATH)/components/mklittlefs/$(MKLITTLEFS_BIN) -b $(CONFIG_MICROPY_BLOCK_SIZE) -c $(CONFIG_MICROPY_BLOCK_COUNT) $(CONFIG_MICROPY_USE_WL) $(INTERNALFS_IMAGE_COMPONENT_PATH)/image $(BUILD_DIR_BASE)/lfs_image.img
69+
@echo "----------------------"
70+
@echo "Flashing the image ..."
71+
@echo "----------------------"
72+
$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(BUILD_DIR_BASE)/lfs_image.img
73+
@echo "----------------------"
74+
75+
copylfsfs:
76+
@echo "-----------------------------------"
77+
@echo "Flashing default LittleFS image ..."
78+
@echo "-----------------------------------"
79+
@echo "$(INTERNALFS_IMAGE_COMPONENT_PATH)/lfs_image.img"
80+
@echo "-----------------------------"
81+
$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(INTERNALFS_IMAGE_COMPONENT_PATH)/internalfs_image.img
5282

5383
makefatfs:
5484
@echo "Making fatfs image; Flash address: $(CONFIG_MICROPY_INTERNALFS_START), Size: $(CONFIG_MICROPY_INTERNALFS_SIZE) KB ..."
@@ -78,6 +108,6 @@ copyfatfs:
78108
@echo "----------------------------"
79109
@echo "$(INTERNALFS_IMAGE_COMPONENT_PATH)/fatfs_image.img"
80110
@echo "-----------------------------"
81-
$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(INTERNALFS_IMAGE_COMPONENT_PATH)/fatfs_image.img
111+
$(ESPTOOLPY_WRITE_FLASH) $(CONFIG_MICROPY_INTERNALFS_START) $(INTERNALFS_IMAGE_COMPONENT_PATH)/internalfs_image.img
82112

83113
include $(IDF_PATH)/make/project.mk

MicroPython_BUILD/build_func.sh

Lines changed: 87 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
fs_type_fat="no"
33
fs_fat_sect=4096
4+
fs_use_wl=""
45
linplatform=""
56
linprocessor=""
67
linmachine=""
@@ -74,14 +75,33 @@ get_bin_size() {
7475

7576
#----------------------
7677
get_config_flash_sz() {
77-
local cfg_fsfat=$(grep -e CONFIG_MICROPY_FILESYSTEM_TYPE=0 sdkconfig)
78-
if [ "${cfg_fsfat}" == "" ]; then
78+
local cfg_fsfat=$(grep -e CONFIG_LITTLEFLASH_USE_WEAR_LEVELING=y sdkconfig)
79+
if [ "${cfg_fsfat}" != "" ]; then
80+
fs_use_wl="-w"
81+
fi
82+
83+
cfg_fsfat=$(grep -e CONFIG_MICROPY_FILESYSTEM_TYPE=1 sdkconfig)
84+
if [ "${cfg_fsfat}" == "CONFIG_MICROPY_FILESYSTEM_TYPE=1" ]; then
85+
# FatFS
7986
fs_type_fat="yes"
8087
cfg_fsfat=$(grep -e CONFIG_WL_SECTOR_SIZE_512=y sdkconfig)
8188
if [ "${cfg_fsfat}" == "CONFIG_WL_SECTOR_SIZE_512=y" ]; then
8289
fs_fat_sect=512
8390
fi
91+
else
92+
cfg_fsfat=$(grep -e CONFIG_MICROPY_FILESYSTEM_TYPE=2 sdkconfig)
93+
if [ "${cfg_fsfat}" == "CONFIG_MICROPY_FILESYSTEM_TYPE=2" ]; then
94+
# LittleFS
95+
fs_type_fat="yes"
96+
cfg_fsfat=$(grep -e CONFIG_WL_SECTOR_SIZE_512=y sdkconfig)
97+
if [ "${cfg_fsfat}" == "CONFIG_WL_SECTOR_SIZE_512=y" ]; then
98+
if [ "${fs_use_wl}" == "-w" ]; then
99+
fs_fat_sect=512
100+
fi
101+
fi
102+
fi
84103
fi
104+
85105
if [ ${FLASH_SIZE} -eq 4 ]; then
86106
# Flash size was not set by options, check config file
87107
local cfg_flashsz=$(grep -e CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y sdkconfig)
@@ -209,8 +229,13 @@ set_partitions() {
209229
echo "internalfs, data, ${PART_SUB_TYPE} , ${fs_size}K," >> partitions_mpy.csv
210230
fi
211231
fs_start_hex=$(printf "%x\n" $fs_start)
232+
local fs_sector_count=$(( ($fs_size * 1024) / $fs_fat_sect ))
233+
212234
export CONFIG_MICROPY_INTERNALFS_START="0x${fs_start_hex}"
213235
export CONFIG_MICROPY_INTERNALFS_SIZE=${fs_size}
236+
export CONFIG_MICROPY_BLOCK_SIZE=${fs_fat_sect}
237+
export CONFIG_MICROPY_BLOCK_COUNT=${fs_sector_count}
238+
export CONFIG_MICROPY_USE_WL=${fs_use_wl}
214239
return 0
215240
}
216241

@@ -259,6 +284,7 @@ check_OS() {
259284
fi
260285
MK_SPIFFS_BIN="mkspiffs.exe"
261286
MK_FATFS_BIN="mkfatfs.exe"
287+
MK_LITTLEFS_BIN="mklfs.exe"
262288
else
263289
if [ "${machine}" == "Linux" ]; then
264290
linplatform="$(uname -i)"
@@ -267,6 +293,7 @@ check_OS() {
267293
fi
268294
MK_SPIFFS_BIN="mkspiffs"
269295
MK_FATFS_BIN="mkfatfs"
296+
MK_LITTLEFS_BIN="mklfs"
270297
fi
271298
return 0
272299
}
@@ -339,6 +366,8 @@ check_Environment() {
339366
rm -f ${BUILD_BASE_DIR}/components/mkspiffs/src/mkspiffs.exe > /dev/null 2>&1
340367
rm -f ${BUILD_BASE_DIR}/components/mkfatfs/src/mkfatfs > /dev/null 2>&1
341368
rm -f ${BUILD_BASE_DIR}/components/mkfatfs/src/mkfatfs.exe > /dev/null 2>&1
369+
rm -f ${BUILD_BASE_DIR}/components/mklittlefs/mklfs > /dev/null 2>&1
370+
rm -f ${BUILD_BASE_DIR}/components/mklittlefs/mklfs.exe > /dev/null 2>&1
342371
# remove build directory and configs
343372
cp -f ${BUILD_BASE_DIR}/sdkconfig ${BUILD_BASE_DIR}/_sdkconfig.saved > /dev/null 2>&1
344373
rm -f ${BUILD_BASE_DIR}/sdkconfig > /dev/null 2>&1
@@ -485,6 +514,33 @@ build_MKFatFS() {
485514
return 0
486515
}
487516

517+
# ===============================================================
518+
# Build mklfs program which creates LittleFS image from directory
519+
# ===============================================================
520+
#----------------
521+
build_MKlfsFS() {
522+
if [ ! -f "components/mklittlefs/${MK_LITTLEFS_BIN}" ]; then
523+
export CROSS_COMPILE=""
524+
export PATH=${orig_PATH}
525+
526+
export BUILD_DIR_BASE=${BUILD_BASE_DIR}/build
527+
echo "==============="
528+
echo "Building mklfs"
529+
make -C components/mklittlefs > /dev/null 2>&1
530+
if [ $? -eq 0 ]; then
531+
echo "OK."
532+
echo "==============="
533+
else
534+
echo "FAILED"
535+
echo "==============="
536+
return 1
537+
fi
538+
export PATH=${xtensa_PATH}
539+
export CROSS_COMPILE=xtensa-esp32-elf-
540+
fi
541+
return 0
542+
}
543+
488544

489545
# ===================
490546
# Check build command
@@ -648,6 +704,35 @@ executeCommand() {
648704
echo "========================================"
649705
make copyfatfs
650706

707+
# ------------------------------------
708+
elif [ "${arg}" == "makelfsfs" ]; then
709+
build_MKlfsFS
710+
if [ $? -ne 0 ]; then
711+
return 1
712+
fi
713+
echo "=========================="
714+
echo "Creating LittleFS image..."
715+
echo "=========================="
716+
make makelfsfs
717+
718+
# -------------------------------------
719+
elif [ "${arg}" == "flashlfsfs" ]; then
720+
build_MKlfsFS
721+
if [ $? -ne 0 ]; then
722+
return 1
723+
fi
724+
echo "==================================="
725+
echo "Flashing LittleFS image to ESP32..."
726+
echo "==================================="
727+
make flashlfsfs
728+
729+
# -------------------------------------
730+
elif [ "${arg}" == "copylfsfs" ]; then
731+
echo "==========================================="
732+
echo "Flashing default LittleFS image to ESP32..."
733+
echo "==========================================="
734+
make copylfsfs
735+
651736
# -------------------------------
652737
elif [ "${arg}" == "size" ]; then
653738
echo "======================================="

0 commit comments

Comments
 (0)