Loading...
Searching...
No Matches
MTD wrapper for emulated MTD devices

MTD device that is emulated in RAM for test purposes More...

Detailed Description

MTD device that is emulated in RAM for test purposes

Helpers for using emulated MTDs.

Author
Gunar Schorcht gunar.nosp@m.@sch.nosp@m.orcht.nosp@m..net

Data Structures

struct  mtd_emulated_t
 Device descriptor for a MTD device that is emulated in RAM. More...
 

Macros

#define MTD_EMULATED_DEV(n, sc, pps, ps)
 Macro to define an emulated MTD.
 
#define MTD_EMULATED_DEV_FS(n, m, fs)
 Macro to define an automatic VFS mount point for an emulated MTD.
 

Variables

const mtd_desc_t _mtd_emulated_driver
 Emulated MTD device operations table for mtd.
 

Macro Definition Documentation

◆ MTD_EMULATED_DEV

#define MTD_EMULATED_DEV ( n,
sc,
pps,
ps )
Value:
uint8_t _mtd_emulated_memory ## n[sc * pps * ps]; \
\
mtd_emulated_t mtd_emulated_dev ## n = { \
.base = { \
.driver = &_mtd_emulated_driver, \
.sector_count = sc, \
.pages_per_sector = pps, \
.page_size = ps, \
.write_size = 1, \
}, \
.size = sc * pps * ps, \
.memory = _mtd_emulated_memory ## n, \
.init_done = false, \
}; \
\
XFA_CONST(mtd_dev_t, mtd_dev_xfa, 99) CONCAT(*mtd_emulated, n) = (mtd_dev_t *)&mtd_emulated_dev ## n
#define CONCAT(a, b)
Concatenate the tokens a and b.
Definition utils.h:29
const mtd_desc_t _mtd_emulated_driver
Emulated MTD device operations table for mtd.
mtd_dev_t *const mtd_dev_xfa[]
MTD device array as XFA.
Definition mtd.h:139
void ps(void)
Print information to all active threads to stdout.
MTD device descriptor.
Definition mtd.h:112
Device descriptor for a MTD device that is emulated in RAM.

Macro to define an emulated MTD.

This macro creates a MTD device that is emulated in RAM. For example, using

MTD_EMULATED_DEV(0, 16, 4, 64)
#define MTD_EMULATED_DEV(n, sc, pps, ps)
Macro to define an emulated MTD.

creates the emulated MTD device mtd_emulated_dev0 with 16 sectors, 4 pages per sector and a page size of 64 bytes. The write size is always 1 byte.

Note
The emulated devices are added to the XFA of MTD device pointers mtd_dev_xfa with priority 99 to place them at the end of the XFA.
Parameters
nindex of the emulated MTD (results into symbol mtd_emulated_dev<n>)
scsectors of the emulated MTD
ppspages per sector of the emulated MTD
pspage size in bytes

Definition at line 50 of file mtd_emulated.h.

◆ MTD_EMULATED_DEV_FS

#define MTD_EMULATED_DEV_FS ( n,
m,
fs )
Value:
VFS_AUTO_MOUNT(fs, VFS_MTD(mtd_emulated_dev ## n), "/mtde" # n, m)
#define VFS_MTD(mtd)
Helper macro for VFS_AUTO_MOUNT.
Definition vfs.h:315
#define VFS_AUTO_MOUNT(type, mtd, path, idx)
Define an automatic mountpoint.
Definition vfs.h:330

Macro to define an automatic VFS mount point for an emulated MTD.

For example, using

MTD_EMULATED_DEV_FS(0, 2, fatfs);
#define MTD_EMULATED_DEV_FS(n, m, fs)
Macro to define an automatic VFS mount point for an emulated MTD.

automatically mounts the emulated MTD mtd_emulated_dev0 with FAT file system under mount point /mtde0 with unique index 2.

Parameters
nindex of the emulated MTD (symbol mtd_emulated_dev<n>, mount point /mtde0)
munique overall index of VFS mount point
fsfilesystem type used

Definition at line 83 of file mtd_emulated.h.