zephyr: Enable littlefs.
Enables the littlefs (v1 and v2) filesystems in the zephyr port. Example usage with the internal flash on the reel_board or the rv32m1_vega_ri5cy board: import os from zephyr import FlashArea bdev = FlashArea(FlashArea.STORAGE, 4096) os.VfsLfs2.mkfs(bdev) os.mount(bdev, '/flash') with open('/flash/hello.txt','w') as f: f.write('Hello world') print(open('/flash/hello.txt').read()) Things get a little trickier with the frdm_k64f due to the micropython application spilling into the default flash storage partition defined for this board. The zephyr build system doesn't enforce the flash partitioning when mcuboot is not enabled (which it is not for micropython). For now we can demonstrate that the littlefs filesystem works on frdm_k64f by constructing the FlashArea block device on the mcuboot scratch partition instead of the storage partition. Do this by replacing the FlashArea.STORAGE constant above with the value 4.
This commit is contained in:
parent
86a66960f9
commit
7a5752a748
@ -18,6 +18,8 @@ MICROPY_HEAP_SIZE = 16384
|
||||
FROZEN_DIR = scripts
|
||||
|
||||
MICROPY_VFS_FAT ?= 1
|
||||
MICROPY_VFS_LFS1 ?= 0
|
||||
MICROPY_VFS_LFS2 ?= 1
|
||||
|
||||
# Default target
|
||||
all:
|
||||
|
@ -32,6 +32,10 @@
|
||||
#include "extmod/vfs_fat.h"
|
||||
#endif
|
||||
|
||||
#if MICROPY_VFS_LFS1 || MICROPY_VFS_LFS2
|
||||
#include "extmod/vfs_lfs.h"
|
||||
#endif
|
||||
|
||||
#if MICROPY_PY_UOS
|
||||
|
||||
STATIC const mp_rom_map_elem_t uos_module_globals_table[] = {
|
||||
@ -54,6 +58,12 @@ STATIC const mp_rom_map_elem_t uos_module_globals_table[] = {
|
||||
#if MICROPY_VFS_FAT
|
||||
{ MP_ROM_QSTR(MP_QSTR_VfsFat), MP_ROM_PTR(&mp_fat_vfs_type) },
|
||||
#endif
|
||||
#if MICROPY_VFS_LFS1
|
||||
{ MP_ROM_QSTR(MP_QSTR_VfsLfs1), MP_ROM_PTR(&mp_type_vfs_lfs1) },
|
||||
#endif
|
||||
#if MICROPY_VFS_LFS2
|
||||
{ MP_ROM_QSTR(MP_QSTR_VfsLfs2), MP_ROM_PTR(&mp_type_vfs_lfs2) },
|
||||
#endif
|
||||
};
|
||||
STATIC MP_DEFINE_CONST_DICT(uos_module_globals, uos_module_globals_table);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user