硬汉嵌入式论坛

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

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

  [复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2022-5-28 10:36:11 | 显示全部楼层 |阅读模式
本帖最后由 mumuge 于 2022-5-28 11:33 编辑

前段时间折腾好了在nand flash上使用fatfs的方案,磨损均衡层使用的是微软的levelx,用levelx对接fatfs实现在nand flash上挂在fat32文件系统。
我的硬件情况如下:
核心板:野火stm32h743xih6黑色核心板
NAND型号:W29N01HVSINA

建议在移植前先把nand全片擦除一遍。还有别忘了配置mpu加速nand的读写,配置方法参考硬汉哥前几期的mpu教程。
移植顺序:
首先要移植bsp_nand.c,bsp主要实现了data区和Spare区的读写,nand的id和状态读取, 全片和block擦除等操作,是为了对接上levelx。(看附件的bsp_nand.c和.h)
image.png
然后移植levelx,下载levelx源码,将lx_nand开头的c文件都加入到工程,再将附件的lx_stm32_nand_custom_driver.c和.h加入工程,这两个文件就是移植文件,将上面的bsp_nand与levelx对接,这一步完成后可以使用levelx的读写接口测试一下移植是否正常,看看写进去和读出来数据是否一致,这里就不提供测试代码了。参考微软官网的levelx接口操作教程。

下一步就是对接fatfs了,参考附件的user_diskio.c,fatfs需要特别设置的地方就是:
#define _MAX_SS    2048  /* 512, 1024, 2048 or 4096 */
因为我的nand一个page是2048字节。这是与sd卡(512)和spi flash(4096)不同的地方。

这个时候调用f_mount会失败,因为nand里面还没有文件系统,但是调用f_mkfs会出现莫名其妙的错误,所以我建议将nand再对接到usb msc,插到pc上来格式化nand成fat32文件系统。
对接usb msc也很简单,cubemx上配置好后就只要完成usbd_storage_if.c就行了,附件有提供我写好的usbd_storage_if.c。

到这一步将开发板usb插上电脑,右键此电脑-->管理-->磁盘管理。会发现有一个未分区的盘,你需要将它格式化成fat32格式。具体操作应该不用我多说。
接下来就可以愉快地使用f_mount挂载了,然后在开发板和pc都可以操作nand里的文件了!!

levelx fatfs usb msc移植文件.zip

9.65 KB, 下载次数: 171

评分

参与人数 3金币 +130 收起 理由
----- + 20 感謝樓主分享寶貴的技術資料!
Vxworks + 10 很给力!
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106760
QQ
发表于 2022-5-28 17:26:09 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

4

主题

11

回帖

23

积分

新手上路

积分
23
发表于 2022-9-28 16:21:51 | 显示全部楼层
你好,请问可以麻烦您分享一下工程文件吗,谢谢,我这个移植后debug就Default_handler,不知道哪出了问题
回复

使用道具 举报

4

主题

11

回帖

23

积分

新手上路

积分
23
发表于 2022-9-28 17:16:19 | 显示全部楼层
Ash1n 发表于 2022-9-28 16:21
你好,请问可以麻烦您分享一下工程文件吗,谢谢,我这个移植后debug就Default_handler,不知道哪出了问题

我的邮箱是1033026448@qq.com,谢谢
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2022-11-9 10:14:08 | 显示全部楼层
大佬,能否分享一下完整的例程学习一下,
回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2023-4-9 13:38:22 | 显示全部楼层
今天正好有时间,尝试移植未成功。
代码不规范,亲人两行泪!
回复

使用道具 举报

0

主题

69

回帖

69

积分

初级会员

积分
69
发表于 2023-7-24 09:02:17 | 显示全部楼层
谢谢楼主分享,正在移植到FATFS上使用。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2023-12-23 17:59:31 | 显示全部楼层
ECC在Spare区的读写没有看到
回复

使用道具 举报

38

主题

291

回帖

405

积分

高级会员

积分
405
发表于 2024-1-4 11:35:38 | 显示全部楼层
楼主你好,这个工程你那边测试性能吗?读写速度大概能达到多少?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 05:52 , Processed in 0.237042 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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