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

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

[复制链接]
baiyongbin2009 发布时间:2018-6-12 15:43
本帖最后由 baiyongbin2009 于 2018-6-12 15:45 编辑 : Q% J  c. k# h# i! D+ `. M* L
" M' q  I6 ~9 `9 ^6 f0 c0 }6 ]/ c

! ^4 U/ j8 z% |% c3 s说明:; D  p' D" Z" Y9 p) }1 j% E/ M# y

4 I& m( A1 A- A' J+ p- n6 o0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护。早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡,实际测试效果不够好,容易出问题,所以放弃了。# R" s% N& \5 \3 x
1. 此例子仅支持MDK4.74版本,因为RTX,RL-FlashFS,RL-USB都是来自MDK4.74的安装目录,使用MDK4.74才是最佳组合。
! G: P8 S; d& q* X2. RL-FlashFS本身支持擦写均衡,坏块管理,ECC和掉电保护。其中使用掉电保护的话,请开启配置文件中的FAT Journal。: C" A+ U' g# r5 D( a+ N, j
3. 在前几年的时候,有客户反应使用RL-FlashFS写入文件多后会写入越来越慢,原因是没有正确配置,加大文件名缓冲个数即可。7 ]4 E& q0 B/ q0 p- Y6 ?* `+ B- a
4. 当前使用的短文件名的库,使用长文件名的话请更换为长文件名的库,也在MDK的安装目录里面。
2 D+ }  u7 ^' G# _& D$ \9 T5. RL-FlashFS是FAT兼容的文件系统,也就是说可以在window系统上面模拟U盘,提供的程序代码已经做了支持。2 ?& p, Q& r3 b- g. E
6. RL-FlashFS的文件名仅支持ASCII,不支持中文,这点要特别注意。) m% R; |5 m- |  q  p
7. 首次格式化后使用,读速度2.3MB/S左右,写速度3.2MB/S左右,配置不同的文件系统缓冲大小,速度有区别。
# Q1 O7 s$ }9 t9 h; e/ l7 N8. RL-FlashFS的函数是标准的C库函数,跟电脑端的文件系统使用方法一样。
+ S# A0 I5 t2 d! ~' N9. RL-FlashFS与FatFS的区别,FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC和掉电保护都不支持。这些都需要用户自己去实现。
+ p- t! \  |8 q10. UFFS,YAFFS这两款文件系统是不兼容FAT的,也就是无法在Windows端模拟U盘。
% [" c* m( K2 m, p- `7 ^  z  l& C9 J  X$ Z8 P+ p7 V- A, D; R, W# M: b
: k- A( c2 ^' ]
当前NAND的配置如下:( S, W; a1 V# r8 g, s1 y
2.1.png
- n' _' A: T* a

' ~* L& C2 B/ P6 sRTX调试组件:

: ^( J3 H* a6 H! I6 T5 k% z
2.2.png # J3 ^/ K. Z7 V2 q
( K3 Q6 D1 T6 M" Z
优化等级方面,各种优化等级和超给力的时间优化,可以任意搭配选择,都可以正常通过
' V+ M% S* `9 p+ i
2.3.png
7 A+ k: E, V& u) p8 L
/ C8 x0 a, I3 ^5 v$ v/ A! `1 q. h& Z
/ Z' W4 g+ Q- x* t) M* r+ T7 g; F; t# O. Q0 Q" B( \( J
使用说明如下:
* {& h! t7 k3 u$ N+ ]: M4 u) k$ D% m
请选择串口操作命令,电脑键盘打印数字即可:9 j" _0 P* X* F( q' `) U3 G; G
首次使用,务必调用串口命令0,进行NAND Flash的低级格式化和文件系统格式化!!
1 _! S) {) G# e# v6 z0 - 低级格式化,显示NAND Flash容量和剩余容量! W/ m4 I# o1 \
1 - 显示NAND Flash根目录下的文件) A# A. O) _* r
2 - 创建三个text文本并使用不同函数写入内容/ r+ M' n+ C4 v% H9 z& d1 f
3 - 使用三个不同函数读取文本\r\n");
3 ], _. V' ]- F1 y4 - 创建一个text文本并指定一个位置对其进行读写操作
* [( s. f+ x- k0 U' R& ?  z5 - 删除文件夹和文件
4 z1 K; i" i9 A# }6 - 测试文件读写速度
2 ~9 C! M% K% Y$ I7 K% y. Q7 - 写数据到CSV文件中' z% v5 Q' u1 E- a* n
8 - 从CSV文件中读数据
1 \' J7 M# w3 E0 Ja - 打开NAND模拟U盘,注意是小写字母a
( z6 f/ u- a( G+ Xb - 关闭NAND模拟U盘,注意是小写字母b
/ Z: K" {' a0 \# ?
' z" `% d7 u/ n$ E0 w  i
) z, }+ a; U  A" F& g) v1 R. h% Y例程下载:
0 ^) T- C8 }. g( {* `V4开发板: 基于STM32F103ZET6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z + j5 }2 ]4 s; v( K
V5开发板: 基于STM32F407IGT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
8 e, l7 H9 a, W: f+ ]  pV6开发板: 基于STM32F429BIT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z  [9 a( X9 f. E; w/ w. h# `5 s4 a
RL-USB和RL-FlashFS的文档: rlarm.chm
4 z7 P4 E% e6 F# ?( H3 Q! o6 Z& T& }0 T  g* ]( R' V; y$ K
  }1 G: u. s- o, }% ^% z3 \( H3 g7 {
通过串口做的命令行操作:9 }- H, d: u/ ^5 |
2.4.jpg " i1 `  y; Q) B# {. r

2 b) d2 ^, Y6 e模拟U盘操作效果:
- D4 c; M5 p( x+ E: L" U 2.5.png 3 \5 O' a) f& [8 b4 \! d* x8 {  w

9 e  `4 U/ x/ `+ v2 _! ]) d" Z0 L5 s电脑端复制文件进去,速度基本是300-500KB/S
5 U; m) \. W9 c/ o3 a( j# m  D
2.6.png
& z9 B4 \& Z5 D4 F1 r
收藏 4 评论8 发布时间:2018-6-12 15:43

举报

8个回答
stary666 回答时间:2018-6-13 09:07:35
牛气啊,,,,,,
jiaxiaokui 回答时间:2018-6-14 14:40:54
谢谢分享~
hi201803 回答时间:2018-8-2 19:04:38
学习
西点钟灵毓秀 回答时间:2018-8-3 10:28:37
666掰
未来战士wlzs 回答时间:2018-12-17 17:31:14
666,学习
hmanhcc 回答时间:2019-3-12 12:19:29
只能用在 MDK4.74版本 ? 那不就意味  得走回頭 用舊版 MDK  ,  新版MDK不支持  那不合道理啊 !
1 j8 Y8 Z, _( u9 {
hmanhcc 回答时间:2019-3-12 12:23:27
我試了 KEIL 新版  MDK  ,  finit("N0:")    需用到 LIB 元件庫 ,  真的 就都過不去! 無法使用4 F/ f0 D, ~- J. _+ z- v
baiyongbin2009 回答时间:2019-3-12 17:04:04
hmanhcc 发表于 2019-3-12 12:19
8 \8 {; v4 z& S$ C; \% j; _只能用在 MDK4.74版本 ? 那不就意味  得走回頭 用舊版 MDK  ,  新版MDK不支持  那不合道理啊 !
* s5 @$ W* S6 C ...
8 V  Z1 N2 Z/ x1 f4 C( S
不是,主要是没法比撸调试组件,不方便调试状态查看任务运行状态。还有哪里不理解的找我。
8 h! E* m- M3 `/ N7 M& c; U9 v: s4 e3 r1 e" P
使用MDK5,看此贴即可:( Q2 m! ?0 S% h
V4,V5,V6开发的所有RTX例子都可以使用最新的MDK5.25进行编译测试了,仅需加一个命令去掉警告即可
1 A; }; X" `/ h* I2 j, f8 jhttp://forum.armfly.com/forum.ph ... 6086&fromuid=582 S- L( p( f' a' s
( ]3 m/ K- u; K) o4 M1 e# o0 `
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版