walnux/include/nuttx/mtd
Laczen JMS c506c25f19 drivers/mtd: introduce nvblk
NVBLK provides a block device that operates on top of a non volatile
memory (as a mtd device) that enables wear levelling for non volatile
memory. It's operation is similar to the dhara wear levelling library,
but nvblk is meant to be used on smaller (nor, mram, rram) memory.

I am also the author and maintainer of the nvblk library.

A block device can be created during startup by using:
```
nvblk_initialize(0, mtd, CONFIG_MTD_NVBLK_DEFAULT_LBS,
                         CONFIG_MTD_NVBLK_DEFAULT_IOBS,
                         CONFIG_MTD_NVBLK_DEFAULT_SPEB);
```
and a fat filesystem on top of this as:
```
nsh> mkfatfs /dev/mtdblock0
nsh> mount -t vfat /dev/mtdblock0 /mnt
```
this fat filesystem can then be used:
```
nsh> echo "test" > /mnt/test.txt
nsh> cat test.txt
test
nsh>
```

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2025-08-06 01:53:56 +08:00
..
configdata.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
hamming.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
mtd.h drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
nand.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_config.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_ecc.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_model.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_ram.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_raw.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_scheme.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
nand_wrapper.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
onfi.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00
smart.h include: migrate to SPDX identifier 2024-10-04 08:18:42 +08:00