summaryrefslogtreecommitdiff
path: root/bsp/nxp/mcx
diff options
context:
space:
mode:
authorAbner <[email protected]>2024-04-16 13:25:16 +0800
committerRbb666 <[email protected]>2024-04-16 18:48:37 +0800
commitbbac8e954d66b5ad92dc88c0de9c4e9b1c4f98cd (patch)
treee013372f03a7ead92e19b8baaf8be741a575ebc8 /bsp/nxp/mcx
parent47d9c03937aead6a82a9013f008e58c498efd0e5 (diff)
[bsp][nxp]增加了drv_filesystem_spi_flash驱动
Diffstat (limited to 'bsp/nxp/mcx')
-rw-r--r--bsp/nxp/mcx/mcxn/frdm-mcxn947/board/ports/drv_filesystem_spi_flash.c34
1 files 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..72704346ac 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 <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 */ \ No newline at end of file