mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 15:58:59 +08:00
Add an MTD driver to wrap another MTD driver and makes is sector size look like 512 bytes
This commit is contained in:
@@ -26,6 +26,27 @@ config MTD_PARTITION
|
|||||||
managing the sub-region of flash beginning at 'offset' (in blocks)
|
managing the sub-region of flash beginning at 'offset' (in blocks)
|
||||||
and of size 'nblocks' on the device specified by 'mtd'.
|
and of size 'nblocks' on the device specified by 'mtd'.
|
||||||
|
|
||||||
|
config MTD_SECT512
|
||||||
|
bool "512B sector conversion"
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
If enabled, a MTD driver will be created that will convert the
|
||||||
|
sector size of any other MTD driver to a 512 byte "apparent" sector
|
||||||
|
size. The managed MTD driver in this case must have an erase block
|
||||||
|
size that is greater than 512B and an event multiple of 512B.
|
||||||
|
|
||||||
|
if MTD_SECT512
|
||||||
|
|
||||||
|
config MTD_SECT512_ERASED_STATE
|
||||||
|
hex "Erased state of the FLASH"
|
||||||
|
default 0xff
|
||||||
|
|
||||||
|
config MTD_SECT512_READONLY
|
||||||
|
bool "512B read-only"
|
||||||
|
default n
|
||||||
|
|
||||||
|
endif # MTD_SECT512
|
||||||
|
|
||||||
config MTD_PARTITION_NAMES
|
config MTD_PARTITION_NAMES
|
||||||
bool "Support MTD partition naming"
|
bool "Support MTD partition naming"
|
||||||
depends on FS_PROCFS
|
depends on FS_PROCFS
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ ifeq ($(CONFIG_MTD_PARTITION),y)
|
|||||||
CSRCS += mtd_partition.c
|
CSRCS += mtd_partition.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_MTD_SECT512),y)
|
||||||
|
CSRCS += sector512.c
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_MTD_NAND),y)
|
ifeq ($(CONFIG_MTD_NAND),y)
|
||||||
CSRCS += mtd_nand.c mtd_onfi.c mtd_nandscheme.c mtd_nandmodel.c mtd_modeltab.c
|
CSRCS += mtd_nand.c mtd_onfi.c mtd_nandscheme.c mtd_nandmodel.c mtd_modeltab.c
|
||||||
ifeq ($(CONFIG_MTD_NAND_SWECC),y)
|
ifeq ($(CONFIG_MTD_NAND_SWECC),y)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -266,6 +266,24 @@ int smart_initialize(int minor, FAR struct mtd_dev_s *mtd,
|
|||||||
* functions (such as a block or character driver front end).
|
* functions (such as a block or character driver front end).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Name: s512_initialize
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* Create an initialized MTD device instance. This MTD driver contains another
|
||||||
|
* MTD driver and converts a larger sector size to a standard 512 byte sector
|
||||||
|
* size.
|
||||||
|
*
|
||||||
|
* MTD devices are not registered in the file system, but are created as instances
|
||||||
|
* that can be bound to other functions (such as a block or character driver front
|
||||||
|
* end).
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_MTD_SECT512
|
||||||
|
FAR struct mtd_dev_s *s512_initialize(FAR struct mtd_dev_s *mtd);
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: at45db_initialize
|
* Name: at45db_initialize
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user