硬汉嵌入式论坛

 找回密码
 立即注册
查看: 305|回复: 7
收起左侧

[STM32H7] 请问下各位大佬有没有使用 levelx + fatfs + nand 组合的呀 ? 我目前单独测试都是正常的但组合后失败 ?

[复制链接]

714

主题

3709

回帖

5876

积分

论坛元老

积分
5876
发表于 2025-10-8 14:07:42 | 显示全部楼层 |阅读模式
本帖最后由 hpdell 于 2025-10-8 14:22 编辑

请问下各位大佬有没有使用 levelx + fatfs + nand 组合的呀 ? 我目前单独测试都是正常的但组合后失败 ?

单独 测试 levelx 读写是没有问题的,

nand 单独测试读写也是没有问题的,

现在 把 levelx + fatfs 整合后读写 nand 就不行,  f_write , f_open 返回 13 , 貌似是 nand 里面没有文件系统 ?

我明明已经调用  f_mkfs 进行格式话过了,而且返回值也是成功的,  f_mout 挂载返回也是成功的 , 可目前就是不能够读写 ???

不知道是哪门子 没有搞对呀  .. ???

levelx 6.4.0-fatfs-test-err-bb.png


--------------------------------------------------------------------------------------------------

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);
}


levelx 6.4.0-fatfs-test-err-01.png
levelx 6.4.0-fatfs-test-err-02.png
levelx 6.4.0-fatfs-test-err-03.png


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
  






















回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-9 08:42:22 | 显示全部楼层
没有,只有坛友分享过一个

[分享]基于野火h7pro核心板的nand+levelx+fatfs适配
https://forum.anfulai.cn/forum.p ... 2587&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

714

主题

3709

回帖

5876

积分

论坛元老

积分
5876
 楼主| 发表于 2025-10-9 09:01:51 | 显示全部楼层
eric2013 发表于 2025-10-9 08:42
没有,只有坛友分享过一个

[分享]基于野火h7pro核心板的nand+levelx+fatfs适配

他这个貌似是吧 nand 模拟成u 盘了,

按照他这个里面的介绍说明是必须得是模拟成 u 盘后在 pc 上进行 格式化才行,

我目前使用的方式跟他这个有些不通,我使用的是 fatfs 直接进行 读写 nand + levelx ,

fatfs 与 nand + levelx 接口我也增加了, 但还是不行,难道 fatfs 不能够与 nand + levelx 进行组合使用吗 ?

还是我的 fatfs + nand + levelx  组合的 接口有问题 ?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-10 09:40:36 | 显示全部楼层
hpdell 发表于 2025-10-9 09:01
他这个貌似是吧 nand 模拟成u 盘了,

按照他这个里面的介绍说明是必须得是模拟成 u 盘后在 pc 上进行 ...

如果模拟U盘正常的话,那么fatfs接口也没问题的,可以再研究下试试
回复

使用道具 举报

714

主题

3709

回帖

5876

积分

论坛元老

积分
5876
 楼主| 发表于 2025-10-10 11:16:49 | 显示全部楼层
eric2013 发表于 2025-10-10 09:40
如果模拟U盘正常的话,那么fatfs接口也没问题的,可以再研究下试试

好的, 再研究研究看看,如果后续实在搞不定就放弃了  
回复

使用道具 举报

714

主题

3709

回帖

5876

积分

论坛元老

积分
5876
 楼主| 发表于 2025-10-10 17:25:58 | 显示全部楼层
eric2013 发表于 2025-10-10 09:40
如果模拟U盘正常的话,那么fatfs接口也没问题的,可以再研究下试试




大佬, 我刚刚看了一下 FreeRTOS All In One(2024-10-30 V3.0) 这个例程的里面的 flashfs - nand 部分, 貌似没有找到 flashfs 读写 nand 底层的接口函数呀 ?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-11 09:14:13 | 显示全部楼层
hpdell 发表于 2025-10-10 17:25
大佬, 我刚刚看了一下 FreeRTOS All In One(2024-10-30 V3.0) 这个例程的里面的 flashfs - nand  ...

2345.png
回复

使用道具 举报

714

主题

3709

回帖

5876

积分

论坛元老

积分
5876
 楼主| 发表于 2025-10-11 11:11:59 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-22 04:11 , Processed in 0.050570 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表