SPI NAND FLASH上的FATFS集成

时间:2017-11-02 15:54:37

标签: memory stm32 spi flash-memory fatfs

我试图在Micron NAND SPI FLASH上集成FATFS文件系统。我使用STM32L486RG的SPI外设作为接口。

我开发了一种低级驱动程序,通过它我可以读取,写入和擦除NAND存储器中不同位置的数据。 然后,我在diskio.c文件下集成了我的低级驱动程序API,以便fatfs API可以使用它们。

我已经通过f_mkfs成功格式化了内存(我在FR_OKf_mkfs API获取f_open并在调试fs时对象包含FAT签名。)

但是,当我尝试将缓冲区写入我使用f_oprn创建的文件时,我得到"FR_INT_ERR"

我已逐步调试了我的代码,发现我的get_fat函数返回(1)结果,这意味着an internal error has occurred

知道可能是什么问题吗?

1 个答案:

答案 0 :(得分:1)

我想您需要擦除要写入的内存扇区-即使您是按页而不是按整个扇区写入-这就是为什么在NAND Flash中使用FatF变得棘手。

由于您的目的是将逻辑驱动器绑定到整个物理驱动器,因此需要在( FM_SDF | FM_ANY )函数中对参数opt使用选项f_mkfs,以格式化内存。