Easier VFS integration.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15187 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
1a92311b0c
commit
e8520182e0
|
@ -69,7 +69,7 @@
|
||||||
* @brief Enables the VFS FatFS Driver.
|
* @brief Enables the VFS FatFS Driver.
|
||||||
*/
|
*/
|
||||||
#if !defined(VFS_CFG_ENABLE_DRV_FATFS) || defined(__DOXYGEN__)
|
#if !defined(VFS_CFG_ENABLE_DRV_FATFS) || defined(__DOXYGEN__)
|
||||||
#define VFS_CFG_ENABLE_DRV_FATFS TRUE
|
#define VFS_CFG_ENABLE_DRV_FATFS FALSE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -20,11 +20,6 @@
|
||||||
#include "ch.h"
|
#include "ch.h"
|
||||||
#include "hal.h"
|
#include "hal.h"
|
||||||
#include "vfs.h"
|
#include "vfs.h"
|
||||||
#include "drvoverlay.h"
|
|
||||||
#include "drvstreams.h"
|
|
||||||
#if defined(DEMO_USE_FATFS)
|
|
||||||
#include "drvfatfs.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "rt_test_root.h"
|
#include "rt_test_root.h"
|
||||||
#include "oslib_test_root.h"
|
#include "oslib_test_root.h"
|
||||||
|
@ -35,7 +30,6 @@
|
||||||
|
|
||||||
#include "portab.h"
|
#include "portab.h"
|
||||||
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Card insertion monitor. */
|
/* Card insertion monitor. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -45,7 +39,7 @@
|
||||||
*/
|
*/
|
||||||
static event_source_t inserted_event, removed_event;
|
static event_source_t inserted_event, removed_event;
|
||||||
|
|
||||||
#if defined(DEMO_USE_FATFS)
|
#if VFS_CFG_ENABLE_DRV_FATFS == TRUE
|
||||||
#define POLLING_INTERVAL 10
|
#define POLLING_INTERVAL 10
|
||||||
#define POLLING_DELAY 10
|
#define POLLING_DELAY 10
|
||||||
|
|
||||||
|
@ -216,7 +210,7 @@ static void InsertHandler(eventid_t id) {
|
||||||
|
|
||||||
(void)id;
|
(void)id;
|
||||||
|
|
||||||
#if defined(DEMO_USE_FATFS)
|
#if VFS_CFG_ENABLE_DRV_FATFS == TRUE
|
||||||
msg_t err;
|
msg_t err;
|
||||||
|
|
||||||
#if HAL_USE_SDC
|
#if HAL_USE_SDC
|
||||||
|
@ -249,7 +243,7 @@ static void RemoveHandler(eventid_t id) {
|
||||||
|
|
||||||
(void)id;
|
(void)id;
|
||||||
|
|
||||||
#if defined(DEMO_USE_FATFS)
|
#if VFS_CFG_ENABLE_DRV_FATFS == TRUE
|
||||||
#if HAL_USE_SDC
|
#if HAL_USE_SDC
|
||||||
sdcDisconnect(&PORTAB_SDCD1);
|
sdcDisconnect(&PORTAB_SDCD1);
|
||||||
#else
|
#else
|
||||||
|
@ -317,7 +311,7 @@ int main(void) {
|
||||||
sdStart(&PORTAB_SD1, NULL);
|
sdStart(&PORTAB_SD1, NULL);
|
||||||
nullObjectInit(&nullstream);
|
nullObjectInit(&nullstream);
|
||||||
|
|
||||||
#if defined(DEMO_USE_FATFS)
|
#if VFS_CFG_ENABLE_DRV_FATFS == TRUE
|
||||||
/* Activates the SDC driver using default configuration.*/
|
/* Activates the SDC driver using default configuration.*/
|
||||||
sdcStart(&PORTAB_SDCD1, NULL);
|
sdcStart(&PORTAB_SDCD1, NULL);
|
||||||
|
|
||||||
|
|
|
@ -108,8 +108,6 @@ include $(CHIBIOS)/os/rt/rt.mk
|
||||||
include $(CHIBIOS)/os/common/ports/ARMv7-M/compilers/GCC/mk/port.mk
|
include $(CHIBIOS)/os/common/ports/ARMv7-M/compilers/GCC/mk/port.mk
|
||||||
# VFS files (optional).
|
# VFS files (optional).
|
||||||
include $(CHIBIOS)/os/vfs/vfs.mk
|
include $(CHIBIOS)/os/vfs/vfs.mk
|
||||||
include $(CHIBIOS)/os/vfs/drivers/overlay/drvoverlay.mk
|
|
||||||
include $(CHIBIOS)/os/vfs/drivers/streams/drvstreams.mk
|
|
||||||
# Auto-build files in ./source recursively.
|
# Auto-build files in ./source recursively.
|
||||||
include $(CHIBIOS)/tools/mk/autobuild.mk
|
include $(CHIBIOS)/tools/mk/autobuild.mk
|
||||||
# Other files (optional).
|
# Other files (optional).
|
||||||
|
|
|
@ -108,9 +108,6 @@ include $(CHIBIOS)/os/rt/rt.mk
|
||||||
include $(CHIBIOS)/os/common/ports/ARMv7-M/compilers/GCC/mk/port.mk
|
include $(CHIBIOS)/os/common/ports/ARMv7-M/compilers/GCC/mk/port.mk
|
||||||
# VFS files (optional).
|
# VFS files (optional).
|
||||||
include $(CHIBIOS)/os/vfs/vfs.mk
|
include $(CHIBIOS)/os/vfs/vfs.mk
|
||||||
include $(CHIBIOS)/os/vfs/drivers/overlay/drvoverlay.mk
|
|
||||||
include $(CHIBIOS)/os/vfs/drivers/streams/drvstreams.mk
|
|
||||||
include $(CHIBIOS)/os/vfs/drivers/fatfs/drvfatfs.mk
|
|
||||||
# Auto-build files in ./source recursively.
|
# Auto-build files in ./source recursively.
|
||||||
include $(CHIBIOS)/tools/mk/autobuild.mk
|
include $(CHIBIOS)/tools/mk/autobuild.mk
|
||||||
# Other files (optional).
|
# Other files (optional).
|
||||||
|
@ -159,7 +156,7 @@ CPPWARN = -Wall -Wextra -Wundef
|
||||||
#
|
#
|
||||||
|
|
||||||
# List all user C define here, like -D_DEBUG=1
|
# List all user C define here, like -D_DEBUG=1
|
||||||
UDEFS = -DDEMO_USE_FATFS
|
UDEFS =
|
||||||
|
|
||||||
# Define ASM defines here
|
# Define ASM defines here
|
||||||
UADEFS =
|
UADEFS =
|
||||||
|
|
|
@ -28,7 +28,8 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "vfs.h"
|
#include "vfs.h"
|
||||||
#include "drvfatfs.h"
|
|
||||||
|
#if (VFS_CFG_ENABLE_DRV_FATFS == TRUE) || defined(__DOXYGEN__)
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module local definitions. */
|
/* Module local definitions. */
|
||||||
|
@ -530,4 +531,6 @@ msg_t drvFatFSUnmount(const char *name) {
|
||||||
return translate_error(res);
|
return translate_error(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* VFS_CFG_ENABLE_DRV_FATFS == TRUE */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#ifndef DRVFATFS_H
|
#ifndef DRVFATFS_H
|
||||||
#define DRVFATFS_H
|
#define DRVFATFS_H
|
||||||
|
|
||||||
|
#if (VFS_CFG_ENABLE_DRV_FATFS == TRUE) || defined(__DOXYGEN__)
|
||||||
|
|
||||||
#include "ff.h"
|
#include "ff.h"
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -186,6 +188,8 @@ extern "C" {
|
||||||
/* Module inline functions. */
|
/* Module inline functions. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#endif /* VFS_CFG_ENABLE_DRV_FATFS == TRUE */
|
||||||
|
|
||||||
#endif /* DRVFATFS_H */
|
#endif /* DRVFATFS_H */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
# List of all the FatFS VFS driver files.
|
|
||||||
DRVFATFSSRC := $(CHIBIOS)/os/vfs/drivers/fatfs/drvfatfs.c
|
|
||||||
|
|
||||||
# Required include directories
|
|
||||||
DRVFATFSINC := $(CHIBIOS)/os/vfs/drivers/fatfs
|
|
||||||
|
|
||||||
# Shared variables
|
|
||||||
ALLCSRC += $(DRVFATFSSRC)
|
|
||||||
ALLINC += $(DRVFATFSINC)
|
|
|
@ -28,7 +28,8 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "vfs.h"
|
#include "vfs.h"
|
||||||
#include "drvoverlay.h"
|
|
||||||
|
#if (VFS_CFG_ENABLE_DRV_OVERLAY == TRUE) || defined(__DOXYGEN__)
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module local definitions. */
|
/* Module local definitions. */
|
||||||
|
@ -310,4 +311,6 @@ msg_t drvOverlayRegisterDriver(vfs_overlay_driver_t *vodp,
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* VFS_CFG_ENABLE_DRV_OVERLAY == TRUE */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#ifndef DRVOVERLAY_H
|
#ifndef DRVOVERLAY_H
|
||||||
#define DRVOVERLAY_H
|
#define DRVOVERLAY_H
|
||||||
|
|
||||||
|
#if (VFS_CFG_ENABLE_DRV_OVERLAY == TRUE) || defined(__DOXYGEN__)
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module constants. */
|
/* Module constants. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -158,6 +160,8 @@ extern "C" {
|
||||||
/* Module inline functions. */
|
/* Module inline functions. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#endif /* VFS_CFG_ENABLE_DRV_OVERLAY == TRUE */
|
||||||
|
|
||||||
#endif /* DRVOVERLAY_H */
|
#endif /* DRVOVERLAY_H */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
# List of all the overlay VFS driver files.
|
|
||||||
DRVOVERLAYSRC := $(CHIBIOS)/os/vfs/drivers/overlay/drvoverlay.c
|
|
||||||
|
|
||||||
# Required include directories
|
|
||||||
DRVOVERLAYINC := $(CHIBIOS)/os/vfs/drivers/overlay
|
|
||||||
|
|
||||||
# Shared variables
|
|
||||||
ALLCSRC += $(DRVOVERLAYSRC)
|
|
||||||
ALLINC += $(DRVOVERLAYINC)
|
|
|
@ -28,7 +28,8 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "vfs.h"
|
#include "vfs.h"
|
||||||
#include "drvstreams.h"
|
|
||||||
|
#if (VFS_CFG_ENABLE_DRV_STREAMS == TRUE) || defined(__DOXYGEN__)
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module local definitions. */
|
/* Module local definitions. */
|
||||||
|
@ -306,4 +307,6 @@ vfs_driver_t *drvStreamsObjectInit(vfs_streams_driver_t *vsdp,
|
||||||
return (vfs_driver_t *)vsdp;
|
return (vfs_driver_t *)vsdp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* VFS_CFG_ENABLE_DRV_STREAMS == TRUE */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#ifndef DRVSTREAMS_H
|
#ifndef DRVSTREAMS_H
|
||||||
#define DRVSTREAMS_H
|
#define DRVSTREAMS_H
|
||||||
|
|
||||||
|
#if (VFS_CFG_ENABLE_DRV_STREAMS == TRUE) || defined(__DOXYGEN__)
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* Module constants. */
|
/* Module constants. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@ -194,6 +196,8 @@ extern "C" {
|
||||||
/* Module inline functions. */
|
/* Module inline functions. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#endif /* VFS_CFG_ENABLE_DRV_STREAMS == TRUE */
|
||||||
|
|
||||||
#endif /* DRVSTREAMS_H */
|
#endif /* DRVSTREAMS_H */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
# List of all the streams VFS driver files.
|
|
||||||
DRVSTREAMSSRC := $(CHIBIOS)/os/vfs/drivers/streams/drvstreams.c
|
|
||||||
|
|
||||||
# Required include directories
|
|
||||||
DRVSTREAMSINC := $(CHIBIOS)/os/vfs/drivers/streams
|
|
||||||
|
|
||||||
# Shared variables
|
|
||||||
ALLCSRC += $(DRVSTREAMSSRC)
|
|
||||||
ALLINC += $(DRVSTREAMSINC)
|
|
|
@ -84,6 +84,19 @@
|
||||||
#include "vfsnodes.h"
|
#include "vfsnodes.h"
|
||||||
#include "vfsdrivers.h"
|
#include "vfsdrivers.h"
|
||||||
|
|
||||||
|
/* File System drivers.*/
|
||||||
|
#if VFS_CFG_ENABLE_DRV_OVERLAY == TRUE
|
||||||
|
#include "drvoverlay.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if VFS_CFG_ENABLE_DRV_STREAMS == TRUE
|
||||||
|
#include "drvstreams.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if VFS_CFG_ENABLE_DRV_FATFS == TRUE
|
||||||
|
#include "drvfatfs.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Application code is suppored to export this symbol, it is expected to
|
/* Application code is suppored to export this symbol, it is expected to
|
||||||
exists.*/
|
exists.*/
|
||||||
extern vfs_driver_t *vfs_root;
|
extern vfs_driver_t *vfs_root;
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
# List of all the ChibiOS/VFS files.
|
# List of all the ChibiOS/VFS files.
|
||||||
VFSSRC := $(CHIBIOS)/os/vfs/src/vfsparser.c \
|
VFSSRC := $(CHIBIOS)/os/vfs/src/vfsparser.c \
|
||||||
$(CHIBIOS)/os/vfs/src/vfs.c
|
$(CHIBIOS)/os/vfs/src/vfs.c \
|
||||||
|
$(CHIBIOS)/os/vfs/drivers/fatfs/drvfatfs.c \
|
||||||
|
$(CHIBIOS)/os/vfs/drivers/overlay/drvoverlay.c \
|
||||||
|
$(CHIBIOS)/os/vfs/drivers/streams/drvstreams.c
|
||||||
|
|
||||||
# Required include directories
|
# Required include directories
|
||||||
VFSINC := $(CHIBIOS)/os/vfs/include
|
VFSINC := $(CHIBIOS)/os/vfs/include \
|
||||||
|
$(CHIBIOS)/os/vfs/drivers/fatfs \
|
||||||
|
$(CHIBIOS)/os/vfs/drivers/overlay \
|
||||||
|
$(CHIBIOS)/os/vfs/drivers/streams
|
||||||
|
|
||||||
# Shared variables
|
# Shared variables
|
||||||
ALLCSRC += $(VFSSRC)
|
ALLCSRC += $(VFSSRC)
|
||||||
|
|
Loading…
Reference in New Issue