Ubiquitous/RT_Thread/: update file system

1.change the tick base on  the board/Kconfig
2.The SD card and FLASH can be mounted to the specified directory of romFS at the same time,and SD card or flash can be used independently
3.Avoid the SD card and Flash mounting sequence. If the Flash mounts the SD card to a specific directory, ensure that the SD card is mounted first
This commit is contained in:
chunyexixiaoyu 2021-12-14 11:11:19 +08:00
parent d71c5fcd2f
commit de27c59e51
7 changed files with 80 additions and 50 deletions

View File

@ -19,7 +19,7 @@ CONFIG_RT_ALIGN_SIZE=4
CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=100
CONFIG_RT_TICK_PER_SECOND=1000
CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_USING_HOOK=y
CONFIG_RT_USING_IDLE_HOOK=y
@ -149,12 +149,12 @@ CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y
CONFIG_RT_DFS_ELM_LFN_UNICODE=0
CONFIG_RT_DFS_ELM_MAX_LFN=255
CONFIG_RT_DFS_ELM_DRIVES=2
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=4096
# CONFIG_RT_DFS_ELM_USE_ERASE is not set
CONFIG_RT_DFS_ELM_REENTRANT=y
CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
CONFIG_RT_USING_DFS_DEVFS=y
# CONFIG_RT_USING_DFS_ROMFS is not set
CONFIG_RT_USING_DFS_ROMFS=y
# CONFIG_RT_USING_DFS_RAMFS is not set
# CONFIG_RT_USING_DFS_NFS is not set
@ -191,7 +191,12 @@ CONFIG_RT_USING_PIN=y
CONFIG_RT_USING_SPI=y
# CONFIG_RT_USING_QSPI is not set
CONFIG_RT_USING_SPI_MSD=y
# CONFIG_RT_USING_SFUD is not set
CONFIG_RT_USING_SFUD=y
CONFIG_RT_SFUD_USING_SFDP=y
CONFIG_RT_SFUD_USING_FLASH_INFO_TABLE=y
# CONFIG_RT_SFUD_USING_QSPI is not set
CONFIG_RT_SFUD_SPI_MAX_HZ=50000000
# CONFIG_RT_DEBUG_SFUD is not set
# CONFIG_RT_USING_ENC28J60 is not set
# CONFIG_RT_USING_SPI_WIFI is not set
# CONFIG_RT_USING_WDT is not set
@ -379,7 +384,7 @@ CONFIG_BSP_USING_USB_TO_USART=y
# CONFIG_BSP_USING_COM2 is not set
# CONFIG_BSP_USING_COM3 is not set
CONFIG_BSP_USING_SRAM=y
# CONFIG_BSP_USING_SPI_FLASH is not set
CONFIG_BSP_USING_SPI_FLASH=y
# CONFIG_BSP_USING_EEPROM is not set
CONFIG_BSP_USING_OV2640=y
# CONFIG_BSP_USING_ETH is not set
@ -517,8 +522,7 @@ CONFIG_SENSOR_DEVICE_D124_DEV="/dev/uart2"
# CONFIG_SUPPORT_CONNECTION_FRAMEWORK is not set
CONFIG_SUPPORT_KNOWING_FRAMEWORK=y
# CONFIG_USING_TENSORFLOWLITEMICRO is not set
CONFIG_USING_KPU_POSTPROCESSING=y
# CONFIG_USING_YOLOV2 is not set
# CONFIG_USING_KPU_POSTPROCESSING is not set
# CONFIG_USING_KNOWING_FILTER is not set
# CONFIG_USING_OTA_MODEL is not set
# CONFIG_USING_IMAGE_PROCESSING is not set

View File

@ -34,7 +34,7 @@ menu "Onboard Peripheral Drivers"
default n
config BSP_USING_SPI_FLASH
bool "Enable SPI FLASH (W25Q128 spi1)"
bool "Enable SPI FLASH (W25Q128 spi2)"
select BSP_USING_SPI
select BSP_USING_SPI1
select RT_USING_SFUD

View File

@ -16,7 +16,7 @@ if GetDepend(['BSP_USING_ETH']):
src += Glob('ports/phy_reset.c')
if GetDepend(['BSP_USING_SPI_FLASH']):
src += Glob('ports/spi_flash_init.c')
src += Glob('ports/flash_port.c')
if GetDepend(['BSP_USING_SDCARD']):
src += Glob('ports/sdcard_port.c')
@ -28,6 +28,9 @@ if GetDepend(['BSP_USING_DCMI']):
src += ['drv_dcmi.c']
src += ['../../../../rt-thread/bsp/stm32/libraries/STM32F4xx_HAL/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dcmi.c']
if GetDepend(['RT_USING_DFS_ROMFS']):
src += ['ports/romfs.c']
src += ['ports/mnt_romfs.c']
path = [cwd]
path += [cwd + '/CubeMX_Config/Inc']
path += [cwd + '/ports']

View File

@ -0,0 +1,42 @@
#include <rtthread.h>
#if defined(BSP_USING_SPI_FLASH)
#include "spi_flash_sfud.h"
#include "spi_flash.h"
#include "drv_spi.h"
#include <board.h>
#include <spi_msd.h>
#include <dfs_elm.h>
#include <dfs_fs.h>
#include <drv_spi.h>
#include <dfs_posix.h>
#include <rtdbg.h>
static int rt_hw_spi_flash_init(void)
{
__HAL_RCC_GPIOB_CLK_ENABLE();
rt_hw_spi_device_attach("spi2", "spi30", GPIOB, GPIO_PIN_14);
if (RT_NULL == rt_sfud_flash_probe("W25Q128", "spi30"))
{
LOG_E("W25Q128 flash spi30 fail !!!");
return -RT_ERROR;
};
#ifdef RT_USING_DFS_ROMFS
if (dfs_mount("W25Q128", "/FLASH", "elm", 0, 0) == RT_EOK)
#else
if (dfs_mount("W25Q128", "/", "elm", 0, 0) == RT_EOK)
#endif
{
LOG_I("Mount flash successfully");
return RT_EOK;
}
else
{
LOG_E("Mount fail !!!");
return -RT_ERROR;
}
}
INIT_APP_EXPORT(rt_hw_spi_flash_init);
#endif

View File

@ -30,23 +30,27 @@ int sd_mount()
cs_gpiox = (GPIO_TypeDef *)((rt_base_t)GPIOA + (rt_base_t)(SDCARD_SPI2_CS_PIN / 16) * 0x0400UL);
cs_pin = (uint16_t)(1 << SDCARD_SPI2_CS_PIN % 16);
rt_hw_spi_device_attach(SDCARD_SPI_BUS_NAME, "spi20", cs_gpiox, cs_pin);
ret = msd_init("sd0", "spi20");
ret = msd_init("sd", "spi20");
if(RT_EOK == ret)
{
if(dfs_mount("sd0", "/", "elm", 0, 0) == 0)
#ifdef RT_USING_DFS_ROMFS
if(dfs_mount("sd", "/SD", "elm", 0, 0) == 0)
#else
if(dfs_mount("sd", "/", "elm", 0, 0) == 0)
#endif
{
LOG_I("Mount /sd0 successfully");
LOG_I("Mount sd card successfully");
return RT_EOK;
}
else
{
LOG_E("Mount fail !!1");
return -1;
LOG_E("Mount fail !!!");
return -RT_ERROR;
}
}
LOG_E("msd_init fail !!!");
return -2;
return -RT_ERROR;
}
INIT_ENV_EXPORT(sd_mount);
INIT_APP_EXPORT(sd_mount);
#endif /* BSP_USING_SDCARD */

View File

@ -1,31 +0,0 @@
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-11-27 SummerGift add spi flash port file
*/
#include <rtthread.h>
#include "spi_flash.h"
#include "spi_flash_sfud.h"
#include "drv_spi.h"
#if defined(BSP_USING_SPI_FLASH)
static int rt_hw_spi_flash_init(void)
{
__HAL_RCC_GPIOB_CLK_ENABLE();
rt_hw_spi_device_attach("spi1", "spi10", GPIOB, GPIO_PIN_14);
if (RT_NULL == rt_sfud_flash_probe("W25Q128", "spi10"))
{
return -RT_ERROR;
};
return RT_EOK;
}
INIT_COMPONENT_EXPORT(rt_hw_spi_flash_init);
#endif

View File

@ -15,7 +15,7 @@
#define RT_ALIGN_SIZE 4
#define RT_THREAD_PRIORITY_32
#define RT_THREAD_PRIORITY_MAX 32
#define RT_TICK_PER_SECOND 100
#define RT_TICK_PER_SECOND 1000
#define RT_USING_OVERFLOW_CHECK
#define RT_USING_HOOK
#define RT_USING_IDLE_HOOK
@ -103,10 +103,11 @@
#define RT_DFS_ELM_LFN_UNICODE 0
#define RT_DFS_ELM_MAX_LFN 255
#define RT_DFS_ELM_DRIVES 2
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
#define RT_DFS_ELM_MAX_SECTOR_SIZE 4096
#define RT_DFS_ELM_REENTRANT
#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
#define RT_USING_DFS_DEVFS
#define RT_USING_DFS_ROMFS
/* Device Drivers */
@ -124,6 +125,10 @@
#define RT_USING_PIN
#define RT_USING_SPI
#define RT_USING_SPI_MSD
#define RT_USING_SFUD
#define RT_SFUD_USING_SFDP
#define RT_SFUD_USING_FLASH_INFO_TABLE
#define RT_SFUD_SPI_MAX_HZ 50000000
#define RT_USING_WIFI
#define RT_WLAN_DEVICE_STA_NAME "wlan0"
#define RT_WLAN_DEVICE_AP_NAME "wlan1"
@ -250,6 +255,7 @@
#define BSP_USING_USB_TO_USART
#define BSP_USING_SRAM
#define BSP_USING_SPI_FLASH
#define BSP_USING_OV2640
#define BSP_USING_SDCARD
#define SDCARD_SPI2_CS_PIN 28
@ -294,6 +300,9 @@
#define MAIN_KTASK_STACK_SIZE 1024
/* ota app */
/* test app */
@ -322,7 +331,6 @@
#define SENSOR_QUANTITY_D124_VOICE "voice_1"
#define SENSOR_DEVICE_D124_DEV "/dev/uart2"
#define SUPPORT_KNOWING_FRAMEWORK
#define USING_KPU_POSTPROCESSING
/* Security */