|
|
本帖最后由 hpdell 于 2025-10-8 14:22 编辑
请问下各位大佬有没有使用 levelx + fatfs + nand 组合的呀 ? 我目前单独测试都是正常的但组合后失败 ?
单独 测试 levelx 读写是没有问题的,
nand 单独测试读写也是没有问题的,
现在 把 levelx + fatfs 整合后读写 nand 就不行, f_write , f_open 返回 13 , 貌似是 nand 里面没有文件系统 ?
我明明已经调用 f_mkfs 进行格式话过了,而且返回值也是成功的, f_mout 挂载返回也是成功的 , 可目前就是不能够读写 ???
不知道是哪门子 没有搞对呀 .. ???
--------------------------------------------------------------------------------------------------
static DSTATUS NAND_initialize (BYTE);
static DSTATUS NAND_status (BYTE);
static DRESULT NAND_read (BYTE, BYTE*, LBA_t, UINT);
static DRESULT NAND_write (BYTE, const BYTE*, LBA_t, UINT);
static DRESULT NAND_ioctl (BYTE, BYTE, void*);
const Diskio_drvTypeDef NAND_Driver =
{
NAND_initialize,
NAND_status,
NAND_read,
NAND_write,
NAND_ioctl,
};
static DSTATUS NAND_initialize (BYTE lun)
{
return nand_disk_initialize( lun);
}
static DSTATUS NAND_status (BYTE lun)
{
return nand_disk_status(lun);
}
static DRESULT NAND_read (BYTE lun, BYTE *buff, LBA_t sector, UINT count)
{
return nand_disk_read(lun, buff, sector, count);
}
static DRESULT NAND_write (BYTE lun, const BYTE *buff, LBA_t sector, UINT count)
{
return nand_disk_write(lun, buff, sector, count);
}
static DRESULT NAND_ioctl (BYTE lun, BYTE cmd, void *buff)
{
return nand_disk_ioctl(lun, cmd, buff);
}
lx_levelx_nand 我只调用了如下函数:
_lx_nand_flash_initialize_driver(&nand_info.lx_instance);
_lx_nand_flash_memory_initialize(&nand_info.lx_instance, fx_lx_nand_driver_buffer, FX_LX_NAND_DRIVER_BUFFER_SIZE);
-----------------------------------------------------------
之前调用 lx_nand_flash_open 及 lx_nand_flash_format 这 2个函数也是一样的结果 f_write 读写时返回值也是 13
|
|