mirror of https://github.com/RT-Thread/rt-thread
[bsp/renesas/vision_board] Fix the sdio mount
This commit is contained in:
parent
9333ed7856
commit
d34981f81d
|
@ -7,9 +7,6 @@ list = os.listdir(cwd)
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
src = Glob('*.c')
|
src = Glob('*.c')
|
||||||
|
|
||||||
if GetDepend(['BSP_USING_FS']):
|
|
||||||
src += Glob('ports/mnt.c')
|
|
||||||
|
|
||||||
CPPDEFINES = ['BSP_CFG_RTOS = 2']
|
CPPDEFINES = ['BSP_CFG_RTOS = 2']
|
||||||
|
|
||||||
objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
|
objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES)
|
||||||
|
|
|
@ -2,10 +2,13 @@ import os
|
||||||
from building import *
|
from building import *
|
||||||
|
|
||||||
objs = []
|
objs = []
|
||||||
src = Glob('*.c')
|
src = ["drv_sdram.c"]
|
||||||
cwd = GetCurrentDir()
|
cwd = GetCurrentDir()
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if GetDepend(['BSP_USING_FS']):
|
||||||
|
src += ['mnt.c']
|
||||||
|
|
||||||
objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
|
objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
list = os.listdir(cwd)
|
list = os.listdir(cwd)
|
||||||
|
|
|
@ -9,6 +9,13 @@
|
||||||
#define DBG_LVL DBG_INFO
|
#define DBG_LVL DBG_INFO
|
||||||
#include <rtdbg.h>
|
#include <rtdbg.h>
|
||||||
|
|
||||||
|
#define SDHI_USING_CD
|
||||||
|
#define RA_SDHI_CD_PIN "p503"
|
||||||
|
|
||||||
|
#ifdef BSP_USING_OPENMV
|
||||||
|
#include "led.h"
|
||||||
|
#endif /* BSP_USING_OPENMV */
|
||||||
|
|
||||||
#ifdef BSP_USING_ONCHIP_FS
|
#ifdef BSP_USING_ONCHIP_FS
|
||||||
#include "fal.h"
|
#include "fal.h"
|
||||||
#define FS_PARTITION_NAME "disk"
|
#define FS_PARTITION_NAME "disk"
|
||||||
|
@ -47,10 +54,11 @@ static void sd_mount(void)
|
||||||
#elif defined(BSP_USING_SDCARD_FS)
|
#elif defined(BSP_USING_SDCARD_FS)
|
||||||
#include <drv_sdhi.h>
|
#include <drv_sdhi.h>
|
||||||
|
|
||||||
|
#ifdef SDHI_USING_CD
|
||||||
/* SD Card hot plug detection pin */
|
/* SD Card hot plug detection pin */
|
||||||
#define SD_CHECK_PIN "p405"
|
#define SD_CHECK_PIN RA_SDHI_CD_PIN
|
||||||
|
|
||||||
static rt_base_t sd_check_pin = 0;
|
static rt_base_t sd_check_pin = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static void _sdcard_mount(void)
|
static void _sdcard_mount(void)
|
||||||
{
|
{
|
||||||
|
@ -92,10 +100,11 @@ static void _sdcard_unmount(void)
|
||||||
|
|
||||||
static void sd_auto_mount(void *parameter)
|
static void sd_auto_mount(void *parameter)
|
||||||
{
|
{
|
||||||
rt_uint8_t re_sd_check_pin = 1;
|
rt_uint8_t re_sd_check_pin = 0;
|
||||||
rt_thread_mdelay(20);
|
rt_thread_mdelay(500);
|
||||||
|
|
||||||
if (!rt_pin_read(sd_check_pin))
|
#ifdef SDHI_USING_CD
|
||||||
|
if (re_sd_check_pin = rt_pin_read(sd_check_pin))
|
||||||
{
|
{
|
||||||
_sdcard_mount();
|
_sdcard_mount();
|
||||||
}
|
}
|
||||||
|
@ -103,28 +112,36 @@ static void sd_auto_mount(void *parameter)
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
rt_thread_mdelay(200);
|
rt_thread_mdelay(200);
|
||||||
|
if (!re_sd_check_pin && (re_sd_check_pin = rt_pin_read(sd_check_pin)) != 0)
|
||||||
if (re_sd_check_pin && (re_sd_check_pin = rt_pin_read(sd_check_pin)) == 0)
|
|
||||||
{
|
{
|
||||||
|
#ifdef BSP_USING_OPENMV
|
||||||
|
led_state(LED_RED, 1);
|
||||||
|
#endif /* BSP_USING_OPENMV */
|
||||||
_sdcard_mount();
|
_sdcard_mount();
|
||||||
|
#ifdef BSP_USING_OPENMV
|
||||||
|
led_state(LED_RED, 0);
|
||||||
|
#endif /* BSP_USING_OPENMV */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!re_sd_check_pin && (re_sd_check_pin = rt_pin_read(sd_check_pin)) != 0)
|
if (re_sd_check_pin && (re_sd_check_pin = rt_pin_read(sd_check_pin)) == 0)
|
||||||
{
|
{
|
||||||
_sdcard_unmount();
|
_sdcard_unmount();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
_sdcard_mount();
|
||||||
|
#endif /* SDHI_USING_CD */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sd_mount(void)
|
static void sd_mount(void)
|
||||||
{
|
{
|
||||||
rt_thread_t tid;
|
rt_thread_t tid;
|
||||||
|
#ifdef SDHI_USING_CD
|
||||||
sd_check_pin = rt_pin_get(SD_CHECK_PIN);
|
sd_check_pin = rt_pin_get(SD_CHECK_PIN);
|
||||||
rt_pin_mode(sd_check_pin, PIN_MODE_INPUT_PULLUP);
|
rt_pin_mode(sd_check_pin, PIN_MODE_INPUT_PULLUP);
|
||||||
|
#endif /* SDHI_USING_CD */
|
||||||
tid = rt_thread_create("sd_mount", sd_auto_mount, RT_NULL,
|
tid = rt_thread_create("sd_mount", sd_auto_mount, RT_NULL,
|
||||||
2048, RT_THREAD_PRIORITY_MAX - 2, 20);
|
2048, RT_THREAD_PRIORITY_MAX - 12, 20);
|
||||||
if (tid != RT_NULL)
|
if (tid != RT_NULL)
|
||||||
{
|
{
|
||||||
rt_thread_startup(tid);
|
rt_thread_startup(tid);
|
||||||
|
@ -137,12 +154,12 @@ static void sd_mount(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#include <dev_spi_msd.h>
|
#include <spi_msd.h>
|
||||||
#include "drv_sci.h"
|
#include "drv_sci_spi.h"
|
||||||
int sd_mount(void)
|
int sd_mount(void)
|
||||||
{
|
{
|
||||||
uint32_t cs_pin = BSP_IO_PORT_10_PIN_05;
|
uint32_t cs_pin = BSP_IO_PORT_10_PIN_05;
|
||||||
rt_hw_sci_spi_device_attach("sci2s", "scpi20", cs_pin);
|
rt_hw_sci_spi_device_attach("scpi2", "scpi20", cs_pin);
|
||||||
msd_init("sd0", "scpi20");
|
msd_init("sd0", "scpi20");
|
||||||
if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
|
if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
|
||||||
{
|
{
|
||||||
|
@ -158,8 +175,14 @@ int sd_mount(void)
|
||||||
|
|
||||||
int mount_init(void)
|
int mount_init(void)
|
||||||
{
|
{
|
||||||
|
mmcsd_wait_cd_changed(0);
|
||||||
|
|
||||||
|
sdcard_change();
|
||||||
|
mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
|
||||||
|
|
||||||
|
rt_thread_mdelay(200);
|
||||||
sd_mount();
|
sd_mount();
|
||||||
return RT_EOK;
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
// INIT_ENV_EXPORT(mount_init);
|
INIT_ENV_EXPORT(mount_init);
|
||||||
#endif
|
#endif
|
Loading…
Reference in New Issue