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

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

[复制链接]
baiyongbin2009 发布时间:2018-6-12 15:43
本帖最后由 baiyongbin2009 于 2018-6-12 15:45 编辑 " R. n: ?7 C% T+ ^; [5 U0 b

& B' M( ^5 a8 D- V
/ |; g4 Z+ u9 D3 w
说明:+ G9 r2 A' t5 R% C: M) u

. J8 s* {1 @* Z# }) Q0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护。早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡,实际测试效果不够好,容易出问题,所以放弃了。' G5 Z8 a' o/ X$ G/ t0 M9 U5 w% _
1. 此例子仅支持MDK4.74版本,因为RTX,RL-FlashFS,RL-USB都是来自MDK4.74的安装目录,使用MDK4.74才是最佳组合。
& y; z9 K+ V' a# D; L0 V! ~2. RL-FlashFS本身支持擦写均衡,坏块管理,ECC和掉电保护。其中使用掉电保护的话,请开启配置文件中的FAT Journal。
) K5 f/ M8 ^! w2 L- g3. 在前几年的时候,有客户反应使用RL-FlashFS写入文件多后会写入越来越慢,原因是没有正确配置,加大文件名缓冲个数即可。6 D5 ^9 c% G* a. S0 G
4. 当前使用的短文件名的库,使用长文件名的话请更换为长文件名的库,也在MDK的安装目录里面。
) a" x  E- S$ {* ]1 ]4 R$ C0 Y5. RL-FlashFS是FAT兼容的文件系统,也就是说可以在window系统上面模拟U盘,提供的程序代码已经做了支持。" n& @( H' W6 b8 p( M$ C* H
6. RL-FlashFS的文件名仅支持ASCII,不支持中文,这点要特别注意。5 D7 W2 A) c0 S
7. 首次格式化后使用,读速度2.3MB/S左右,写速度3.2MB/S左右,配置不同的文件系统缓冲大小,速度有区别。  g1 s9 G9 a# ^; S# \
8. RL-FlashFS的函数是标准的C库函数,跟电脑端的文件系统使用方法一样。3 V. v5 [4 N+ l4 R
9. RL-FlashFS与FatFS的区别,FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC和掉电保护都不支持。这些都需要用户自己去实现。; n7 Y5 S" Z, D8 B
10. UFFS,YAFFS这两款文件系统是不兼容FAT的,也就是无法在Windows端模拟U盘。3 S% y1 E2 t+ D8 w. N1 n+ h0 x' @

" Q1 v1 e  `) G8 B1 s! A6 ?. J4 e9 ?/ `( X% j, O4 o  P7 Z
当前NAND的配置如下:
! G6 }6 D; P! T# A2 U. i9 h
2.1.png

$ ~2 a' g& w/ z. I# _
+ q* [( E* o! b  i3 mRTX调试组件:

2 m5 b" H; g. A) E! j% i
2.2.png + i) ^& j7 V6 D

( s& s: _6 v/ r% z. O- v优化等级方面,各种优化等级和超给力的时间优化,可以任意搭配选择,都可以正常通过

  _" r7 T& O6 P3 T" s! f5 @8 o
2.3.png 1 W  u9 q! r+ g

1 H/ J/ u; u( k: i
) S7 e2 R4 X& ~9 B( z, W& J
4 g; J) v) q3 }& l3 {使用说明如下:
# ~, }$ o/ F  O) b/ X1 F# D& W) W" f( i5 D. t9 u+ L9 q  F' H4 s/ r* Z2 F
请选择串口操作命令,电脑键盘打印数字即可:- F  x' t" ?7 w* V& ~
首次使用,务必调用串口命令0,进行NAND Flash的低级格式化和文件系统格式化!!% u5 U2 Q% V9 S. \  z
0 - 低级格式化,显示NAND Flash容量和剩余容量
' Z2 H# F" \1 ^* ~8 w! d+ T1 - 显示NAND Flash根目录下的文件
+ Q/ X$ E/ j4 I) ~+ I+ e6 G2 - 创建三个text文本并使用不同函数写入内容, E5 E, G) H0 [  J8 f
3 - 使用三个不同函数读取文本\r\n");% \2 h9 l5 |6 e2 H* X
4 - 创建一个text文本并指定一个位置对其进行读写操作3 o7 {# ]  |- @& V
5 - 删除文件夹和文件- D" U  C8 E5 A9 {# b1 K8 k, V/ O
6 - 测试文件读写速度4 m) s. ~3 v/ }# V
7 - 写数据到CSV文件中
  F+ N: J3 M0 l8 [8 - 从CSV文件中读数据
, `: ^# e3 s) |/ f- q1 ma - 打开NAND模拟U盘,注意是小写字母a% b4 Z, }1 P# h$ l4 n/ H4 F+ h
b - 关闭NAND模拟U盘,注意是小写字母b( |8 Q' h$ |! K) p) t+ V

! a" C0 w% }/ d. p# Q% Y) Z3 U% p3 E$ k7 {/ Y% @
例程下载:& t  i4 P& {6 ^# A% ~: ?
V4开发板: 基于STM32F103ZET6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
- T+ a( U% h! x  k' u- l) q! t8 BV5开发板: 基于STM32F407IGT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
! N/ e7 W( M5 T9 E3 n8 T* s' ^. i% jV6开发板: 基于STM32F429BIT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z, \1 S; r0 y- L; D- K( R6 ~+ g
RL-USB和RL-FlashFS的文档: rlarm.chm; h% x- e' `+ u' h
9 C) h- V# X: U* F) ~

; `! l9 a5 @0 _. V通过串口做的命令行操作:
' M$ k( Z7 C) N' T: K 2.4.jpg
# W" N1 [- F" r/ Y. {  R, l# @2 W- }) o& W+ O5 y, n& B; d
模拟U盘操作效果:
  V; K' }% ], t$ E8 S* O8 q  U( o0 c 2.5.png
* q  q, E. s0 m1 c
3 ?0 d$ X, r7 i电脑端复制文件进去,速度基本是300-500KB/S
# N2 c0 v$ m0 B. d# ]% K/ h/ M
2.6.png
+ ?9 q9 E% S% b2 g) _7 T, h4 Z
赞 收藏 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不支持  那不合道理啊 !6 t0 G+ y" ]- R) N3 ~( j, G9 ^
hmanhcc 回答时间:2019-3-12 12:23:27
我試了 KEIL 新版  MDK  ,  finit("N0:")    需用到 LIB 元件庫 ,  真的 就都過不去! 無法使用3 d0 x1 N& U) v
baiyongbin2009 回答时间:2019-3-12 17:04:04
hmanhcc 发表于 2019-3-12 12:19" K4 F& D7 P; W! w
只能用在 MDK4.74版本 ? 那不就意味  得走回頭 用舊版 MDK  ,  新版MDK不支持  那不合道理啊 !
- k9 l% o1 Q* w2 `5 O4 j ...

+ q/ ~) S. N& N不是,主要是没法比撸调试组件,不方便调试状态查看任务运行状态。还有哪里不理解的找我。( ?8 N  t! A# H, `; ^
1 v9 e4 G* R, J
使用MDK5,看此贴即可:& v' O6 [0 W  C+ x% K
V4,V5,V6开发的所有RTX例子都可以使用最新的MDK5.25进行编译测试了,仅需加一个命令去掉警告即可- s( e/ B- g- O" r- S
http://forum.armfly.com/forum.ph ... 6086&fromuid=586 e  L6 R5 ?/ W* X9 r
' p3 G4 p! i; r) W  K' m; }

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版