打印
[STM32F4]

【原创】开源基于RL-USB和FlashFS的完整NAND方案,稳定可量产

[复制链接]
1448|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Eric2013 于 2018-6-12 15:52 编辑

说明:
0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护。   
    早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡,实际测试效果不够好,容易出问题,所以放弃了。
1. 此例子仅支持MDK4.74版本,因为RTX,RL-FlashFS,RL-USB都是来自MDK4.74的安装目录,使用MDK4.74才是最佳组合。
2. RL-FlashFS本身支持擦写均衡,坏块管理,ECC和掉电保护。其中使用掉电保护的话,请开启配置文件中的FAT Journal。
3. 在前几年的时候,有客户反应使用RL-FlashFS写入文件多后会写入越来越慢,原因是没有正确配置,加大文件名缓冲个数即可。
4. 当前使用的短文件名的库,使用长文件名的话请更换为长文件名的库,也在MDK的安装目录里面。
5. RL-FlashFS是FAT兼容的文件系统,也就是说可以在window系统上面模拟U盘,提供的程序代码已经做了支持。
6. RL-FlashFS的文件名仅支持ASCII,不支持中文,这点要特别注意。
7. 首次格式化后使用,读速度2.3MB/S左右,写速度3.2MB/S左右,配置不同的文件系统缓冲大小,速度有区别。
8. RL-FlashFS的函数是标准的C库函数,跟电脑端的文件系统使用方法一样。
9. RL-FlashFS与FatFS的区别,FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC和掉电保护都不支持。
    这些都需要用户自己去实现。
10. UFFS,YAFFS这两款文件系统是不兼容FAT的,也就是无法在Windows端模拟U盘。




当前NAND的配置如下:


RTX调试组件:


优化等级方面,各种优化等级和超给力的时间优化,可以任意搭配选择,都可以正常通过






使用说明如下:

请选择串口操作命令,电脑键盘打印数字即可:
首次使用,务必调用串口命令0,进行NAND Flash的低级格式化和文件系统格式化!
0 - 低级格式化,显示NAND Flash容量和剩余容量
1 - 显示NAND Flash根目录下的文件
2 - 创建三个text文本并使用不同函数写入内容
3 - 使用三个不同函数读取文本\r\n");
4 - 创建一个text文本并指定一个位置对其进行读写操作
5 - 删除文件夹和文件
6 - 测试文件读写速度
7 - 写数据到CSV文件中
8 - 从CSV文件中读数据
a - 打开NAND模拟U盘,注意是小写字母a
b - 关闭NAND模拟U盘,注意是小写字母b




例程下载:
V4开发板: 基于STM32F103ZET6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
V5开发板: 基于STM32F407IGT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
V6开发板: 基于STM32F429BIT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
RL-USB和RL-FlashFS的文档: rlarm.chm




通过串口做的命令行操作:


模拟U盘操作效果:


电脑端复制文件进去,速度基本是300-500KB/S

4.jpg (6.91 KB )

4.jpg

4.jpg (6.91 KB )

4.jpg

4.jpg (6.91 KB )

4.jpg

4.jpg (6.91 KB )

4.jpg

4.gif (6.91 KB )

4.gif
沙发
mmuuss586| | 2018-6-12 15:58 | 只看该作者
感谢分享;

使用特权

评论回复
板凳
yklstudent| | 2018-6-12 22:26 | 只看该作者
mark,谢谢楼主的分享

使用特权

评论回复
地板
木木guainv| | 2018-6-13 08:16 | 只看该作者
楼主厉害呀 一定要收藏

使用特权

评论回复
5
gyh974| | 2018-6-13 19:35 | 只看该作者
值得收藏

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:RTX->μCOS-II->FreeRTOS->embOS->μCOS-III μCGUI->emWin->FatFs->DSP 淘宝:armfly.taobao.com

115

主题

639

帖子

34

粉丝