summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2021-01-29 11:59:15 +1100
committerDamien George <damien@micropython.org>2021-01-29 15:02:55 +1100
commitd1f120b1425d6622e8596815be7876aa8c434dbf (patch)
tree59fa9981218fcdd4791e5c2a4625ea7fb3b7bba3
parent8f211df360f324c6f8e0fee3fe00bc0b4a9ac390 (diff)
stm32/main: Introduce MICROPY_HW_FLASH_MOUNT_AT_BOOT config option.
It's enabled by default to retain the existing behaviour. A board can disable this option if it manages mounting the filesystem itself, for example in frozen code. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/stm32/main.c4
-rw-r--r--ports/stm32/mpconfigboard_common.h5
2 files changed, 7 insertions, 2 deletions
diff --git a/ports/stm32/main.c b/ports/stm32/main.c
index f0a10fa93..38710e265 100644
--- a/ports/stm32/main.c
+++ b/ports/stm32/main.c
@@ -153,7 +153,7 @@ STATIC mp_obj_t pyb_main(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_a
}
MP_DEFINE_CONST_FUN_OBJ_KW(pyb_main_obj, 1, pyb_main);
-#if MICROPY_HW_ENABLE_STORAGE
+#if MICROPY_HW_FLASH_MOUNT_AT_BOOT
// avoid inlining to avoid stack usage within main()
MP_NOINLINE STATIC bool init_flash_fs(uint reset_mode) {
if (reset_mode == 3) {
@@ -530,7 +530,7 @@ soft_reset:
// Initialise the local flash filesystem.
// Create it if needed, mount in on /flash, and set it as current dir.
bool mounted_flash = false;
- #if MICROPY_HW_ENABLE_STORAGE
+ #if MICROPY_HW_FLASH_MOUNT_AT_BOOT
mounted_flash = init_flash_fs(reset_mode);
#endif
diff --git a/ports/stm32/mpconfigboard_common.h b/ports/stm32/mpconfigboard_common.h
index 60fbc35fc..f493bb5d4 100644
--- a/ports/stm32/mpconfigboard_common.h
+++ b/ports/stm32/mpconfigboard_common.h
@@ -122,6 +122,11 @@
#define MICROPY_HW_HAS_LCD (0)
#endif
+// Whether to automatically mount (and boot from) the flash filesystem
+#ifndef MICROPY_HW_FLASH_MOUNT_AT_BOOT
+#define MICROPY_HW_FLASH_MOUNT_AT_BOOT (MICROPY_HW_ENABLE_STORAGE)
+#endif
+
// The volume label used when creating the flash filesystem
#ifndef MICROPY_HW_FLASH_FS_LABEL
#define MICROPY_HW_FLASH_FS_LABEL "pybflash"