你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于RL-USB和FlashFS的NAND解决方案,稳定好用,可放心用于量产

[复制链接]
baiyongbin2009 发布时间:2018-9-22 11:00
说明:
0 [4 @9 x% H, f! ?; S0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护。   
  ~3 k" D& `3 a4 V( P4 l( P    早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡,实际测试效果不够好,容易出问题,所以放弃了。: C% H- U. m9 }: O. n
1. 此例子仅支持MDK4.74版本,因为RTX,RL-FlashFS,RL-USB都是来自MDK4.74的安装目录,使用MDK4.74才是最佳组合。
' Z% R# M* H( ^' W( ^  S2. RL-FlashFS本身支持擦写均衡,坏块管理,ECC和掉电保护。其中使用掉电保护的话,请开启配置文件中的FAT Journal。
7 _/ D' f, @5 z+ v$ g! |3. 在前几年的时候,有客户反应使用RL-FlashFS写入文件多后会写入越来越慢,原因是没有正确配置,加大文件名缓冲个数即可。
, J1 ]. O* l+ m, ~, W# G4. 当前使用的短文件名的库,使用长文件名的话请更换为长文件名的库,也在MDK的安装目录里面。+ n1 o! Q8 N  t; w, Q0 Z( J
5. RL-FlashFS是FAT兼容的文件系统,也就是说可以在window系统上面模拟U盘,提供的程序代码已经做了支持。4 Q( \9 r) Q2 z+ p8 v/ ]& D% ]
6. RL-FlashFS的文件名仅支持ASCII,不支持中文,这点要特别注意。
7 ?* A8 K7 n/ w$ i7. 首次格式化后使用,读速度2.3MB/S左右,写速度3.2MB/S左右,配置不同的文件系统缓冲大小,速度有区别。
9 o: l2 S( m, V4 H4 O8. RL-FlashFS的函数是标准的C库函数,跟电脑端的文件系统使用方法一样。. Q6 R/ z! n* _# V$ k
9. RL-FlashFS与FatFS的区别,FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC和掉电保护都不支持。& {7 M- V" r: [! l
    这些都需要用户自己去实现。; A4 S9 m' M4 A" m1 O7 L  L: d
10. UFFS,YAFFS这两款文件系统是不兼容FAT的,也就是无法在Windows端模拟U盘。
! a' v* e- w* u  J/ }
6 ?) {/ v& V1 T5 k0 p' A4 e. f6 O3 t  }' z
当前NAND的配置如下:, ]5 _5 f/ Q. P. X2 ]! Z' t# D
0 R- \2 z) p! Z& w

. y! I) l# g4 N9 F, B9 I. ~RTX调试组件:5 @9 z2 P+ C- t# R

" G& M- N2 F4 p1 I5 R5 t% _& N$ a
优化等级方面,各种优化等级和超给力的时间优化,可以任意搭配选择,都可以正常通过
. }8 Y" e* q; i* y1 }, a
% A) g1 X! n6 L. Y5 v! N: B% F; ?' {
* K* s/ j+ C+ N1 x- x
5 t: `8 ?2 d; W3 `  Z: X7 y% @" X) g
使用说明如下:
0 J! Z2 L' z+ L7 m, h* W4 X% U9 b$ k' l5 u2 M
请选择串口操作命令,电脑键盘打印数字即可:
+ j9 D. ^: y3 [  _3 ?4 V( ~6 A首次使用,务必调用串口命令0,进行NAND Flash的低级格式化和文件系统格式化!& x5 ~( J2 G) K( V0 _( g
0 - 低级格式化,显示NAND Flash容量和剩余容量1 }$ t2 J" H# F& m: C
1 - 显示NAND Flash根目录下的文件
0 u( u! r. H) `! N$ D  z- {2 - 创建三个text文本并使用不同函数写入内容6 h8 a; H8 V3 S* H$ A$ m5 V  g
3 - 使用三个不同函数读取文本\r\n");: j6 c0 k3 i  D: Y* C  n9 E  u
4 - 创建一个text文本并指定一个位置对其进行读写操作8 z* m  O" Q2 ]. [
5 - 删除文件夹和文件
7 V: I" N$ j6 w2 k) ~6 |0 v6 - 测试文件读写速度
% W3 }+ B9 Y- s+ K5 P3 c* P: F7 - 写数据到CSV文件中
3 b; e3 p+ o  Y, p$ i. B. c8 - 从CSV文件中读数据
) A+ E3 c# ~7 B2 \8 La - 打开NAND模拟U盘,注意是小写字母a4 R) p' l! w- h$ o! q
b - 关闭NAND模拟U盘,注意是小写字母b9 O# Q9 Y7 {) I" J. J# ]
9 _8 k. o  I" E1 y# {* _. u
1 b* |% S, J& J, n6 C
例程下载:
3 R" j: `' ^7 {4 e" |# ]; z! @1 RV4开发板: 基于STM32F103ZET6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
8 Z& V. u$ S3 a7 oV5开发板: 基于STM32F407IGT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
. `; \7 g" X" q* e3 Q. PV6开发板: 基于STM32F429BIT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
9 S4 D  }9 V( _* |RL-USB和RL-FlashFS的文档: rlarm.chm
9 U$ }1 M. r9 S
1 ^5 D9 C- B) O# y5 c7 [* w) c9 H' O) _3 K# y
通过串口做的命令行操作:
4 _" n2 u+ }: G, G- G0 Z
; ?% F: ^8 d8 Y$ s' _- a, H' N
5 J7 a  v: C) c6 c模拟U盘操作效果:
: k; ~  K4 N* C! T - `/ Q& ^) A6 b4 {( H

6 ]% U; e2 y% l电脑端复制文件进去,速度基本是300-500KB/S+ q& D9 W! ^& ?( V7 R8 y, t
' ~5 Y" e1 _9 M/ Q* S
收藏 2 评论1 发布时间:2018-9-22 11:00

举报

1个回答
caiyuhui74748 回答时间:2018-11-17 18:59:12
支持硬总!!
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版