浏览代码

[bsp][nxp]增加了drv_filesystem_spi_flash驱动

Abner 1 年之前
父节点
当前提交
aca7a71815
共有 1 个文件被更改,包括 19 次插入15 次删除
  1. 19 15
      bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c

+ 19 - 15
bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c

@@ -10,11 +10,12 @@
  */
 
 #include <rtthread.h>
+
+#if defined(BSP_USING_SPI7) && defined(RT_USING_SFUD) && defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT)
 #include <dfs_elm.h>
 #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 <rtdbg.h>
@@ -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 */