首页 文章

SPI NAND FLASH上的FATFS集成

提问于
浏览
0

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

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

我已经通过 f_mkfs 成功格式化了内存(我正在使用 f_mkfsf_open API获得 FR_OK ,并且在调试 fs 对象时包含FAT签名) .

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

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

知道可能是什么问题吗?

1 回答

  • 1

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

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

相关问题