From aca7a71815e24d51436afb271b9f19d1e3e38483 Mon Sep 17 00:00:00 2001 From: Abner <1310125025@qq.com> Date: Tue, 16 Apr 2024 13:25:16 +0800 Subject: [PATCH] =?UTF-8?q?[bsp][nxp]=E5=A2=9E=E5=8A=A0=E4=BA=86drv=5Ffile?= =?UTF-8?q?system=5Fspi=5Fflash=E9=A9=B1=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../board/ports/drv_filesystem_spi_flash.c | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c b/bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c index 18d8918fa1..de993e45bf 100644 --- a/bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c +++ b/bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c @@ -10,11 +10,12 @@ */ #include + +#if defined(BSP_USING_SPI7) && defined(RT_USING_SFUD) && defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT) #include #include "spi_flash_sfud.h" #include "dfs_fs.h" #include "dfs.h" -#include "dfs_elm.h" #include "dfs_file.h" #if DFS_FILESYSTEMS_MAX < 4 @@ -23,7 +24,9 @@ #if DFS_FILESYSTEM_TYPES_MAX < 4 #error "Please define DFS_FILESYSTEM_TYPES_MAX more than 4" #endif - +#if RT_DFS_ELM_MAX_SECTOR_SIZE == 512 +#define RT_DFS_ELM_MAX_SECTOR_SIZE 4096 +#endif #define DBG_TAG "app.filesystem_spi_flash" #define DBG_LVL DBG_INFO #include @@ -34,16 +37,16 @@ #define W25Q64_SPI_FLASH_NAME "w25qxx" rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, rt_uint32_t pin); - + static int filesystem_mount(void) { struct rt_spi_device *spi70 = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); - - if(!spi70) - { - rt_kprintf("spi sample run failed! can't find %s device!\n","spi7"); + + if(!spi70) + { + rt_kprintf("spi sample run failed! can't find %s device!\n","spi7"); return -RT_ERROR; - } + } struct rt_spi_configuration cfg; cfg.data_width = 8; @@ -52,23 +55,24 @@ static int filesystem_mount(void) rt_spi_configure(spi70, &cfg); /* legcy issue */ - - //rt_spi_bus_attach_device_cspin(spi70, W25Q64_SPI_DEVICE_NAME, W25Q64_SPI_BUS_NAME, 96, RT_NULL); + +// rt_spi_bus_attach_device_cspin(spi70, W25Q64_SPI_DEVICE_NAME, W25Q64_SPI_BUS_NAME, 96, RT_NULL); rt_hw_spi_device_attach(W25Q64_SPI_BUS_NAME, W25Q64_SPI_DEVICE_NAME, 96); - + if(RT_NULL == rt_sfud_flash_probe(W25Q64_SPI_FLASH_NAME, W25Q64_SPI_DEVICE_NAME)) { rt_kprintf("Flash sfud Failed!\n"); return -RT_ERROR; - }; - + } +// dfs_mkfs("elm", "W25Q64_SPI_FLASH_NAME"); if(dfs_mount(W25Q64_SPI_FLASH_NAME, "/", "elm", 0, 0)) { rt_kprintf("dfs mount dev:%s failed!\n", W25Q64_SPI_FLASH_NAME); return -RT_ERROR; } - + return RT_EOK; - } INIT_APP_EXPORT(filesystem_mount); + +#endif /* BSP_USING_SPI7/RT_USING_SFUD/RT_USING_DFS/RT_USING_DFS_ELMFAT */ \ No newline at end of file