repair 'mount sd card'

This commit is contained in:
Wang_Weigen 2021-11-09 17:13:07 +08:00
parent 9959ec6470
commit 8609045f2a
7 changed files with 95 additions and 3 deletions

View File

@ -51,6 +51,12 @@ menu "aiit-arm32-board feature"
endif
endmenu
menu "config board peripheral"
config MOUNT_SDCARD
bool "mount cd card"
default n
select BSP_USING_SDIO
endmenu
endmenu
endmenu

View File

@ -150,6 +150,24 @@ struct InitSequenceDesc _board_init[] =
{ " NONE ",NONE },
};
#if defined(FS_VFS) && defined(MOUNT_SDCARD)
#include <iot-vfs.h>
/**
* @description: Mount SD card
* @return 0
*/
int MountSDCard(void)
{
if (MountFilesystem(SDIO_BUS_NAME, SDIO_DEVICE_NAME, SDIO_DRIVER_NAME, FSTYPE_FATFS, "/") == 0)
DBG("sd card mount to '/'");
else
SYS_WARN("sd card mount to '/' failed!");
return 0;
}
#endif
void InitBoardHardware()
{
int i = 0;

View File

@ -53,6 +53,13 @@ menu "aiit-riscv64-board feature"
endif
endmenu
menu "config board peripheral"
config MOUNT_SDCARD
bool "mount cd card"
default n
select BSP_USING_SDIO
endmenu
endmenu
config __STACKSIZE__

View File

@ -64,6 +64,28 @@ extern int HwRtcInit(void);
extern int HwTouchBusInit(void);
extern int HwCh376Init(void);
#if defined(FS_VFS) && defined(MOUNT_SDCARD)
#include <iot-vfs.h>
/**
* @description: Mount SD card
* @return 0
*/
/**
* @description: Mount SD card
* @return 0
*/
int MountSDCard(void)
{
if (MountFilesystem(SDIO_BUS_NAME, SDIO_DEVICE_NAME, SDIO_DRIVER_NAME, FSTYPE_CH376, "/") == 0)
DBG("sd card mount to '/'");
else
SYS_WARN("sd card mount to '/' failed!");
return 0;
}
#endif
void init_bss(void)
{
unsigned int *dst;

View File

@ -58,6 +58,15 @@ menu "kd233 feature"
endmenu
menu "config board peripheral"
config MOUNT_SDCARD
bool "mount cd card"
default n
select BSP_USING_SPI
select BSP_USING_SPI1
select RESOURCES_SPI_SD
endmenu
endmenu
config __STACKSIZE__

View File

@ -62,6 +62,32 @@ extern int HwWdtInit(void);
extern int HwLcdInit(void);
extern int HwTimerInit(void);
#if defined(FS_VFS) && defined (MOUNT_SDCARD)
#include <iot-vfs.h>
#include <sd_spi.h>
extern SpiSdDeviceType SpiSdInit(struct Bus *bus, const char *dev_name, const char *drv_name, const char *sd_name);
/**
* @description: Mount SD card
* @return 0
*/
int MountSDCard(void)
{
struct Bus *spi_bus;
spi_bus = BusFind(SPI_BUS_NAME_1);
if (NONE == SpiSdInit(spi_bus, SPI_1_DEVICE_NAME_0, SPI_1_DRV_NAME, SPI_SD_NAME)) {
KPrintf("MountSDCard SpiSdInit error!\n");
return 0;
}
if (EOK == MountFilesystem(SPI_BUS_NAME_1, SPI_SD_NAME, SPI_1_DRV_NAME, FSTYPE_FATFS, "/"))
KPrintf("SPI SD card fatfs mounted\n");
return 0;
}
#endif
void InitBss(void)
{
unsigned int *dst;

View File

@ -100,11 +100,15 @@ struct InitSequenceDesc components_init[] =
};
struct InitSequenceDesc env_init[] =
{
#ifdef ARCH_RISCV
#if defined (RESOURCES_SPI_SD)|| defined(RESOURCES_SDIO )
// #ifdef ARCH_RISCV
// #if defined (RESOURCES_SPI_SD)|| defined(RESOURCES_SDIO )
// { "MountSDCard", MountSDCard },
// #endif
// #endif
#ifdef MOUNT_SDCARD
{ "MountSDCard", MountSDCard },
#endif
#endif
#ifdef FS_VFS_MNTTABLE
{ "DfsMountTable", DfsMountTable },
#endif