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>
This commit is contained in:
Damien George 2021-01-29 11:59:15 +11:00
parent 8f211df360
commit d1f120b142
2 changed files with 7 additions and 2 deletions

View File

@ -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

View File

@ -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"