11
22fs_type_fat=" no"
33fs_fat_sect=4096
4+ fs_use_wl=" "
45linplatform=" "
56linprocessor=" "
67linmachine=" "
@@ -74,14 +75,33 @@ get_bin_size() {
7475
7576# ----------------------
7677get_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