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

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

[复制链接]
baiyongbin2009 发布时间:2018-6-12 15:43
本帖最后由 baiyongbin2009 于 2018-6-12 15:45 编辑 7 `$ w7 E4 @+ s$ c4 A
, l+ ?: D+ f' j2 ?# @0 z  \

$ ]2 r* J6 U; r  k/ h7 q' q说明:
" r4 W) V0 }1 K- h, a
% a% ]% G( x  c9 V; Y
0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护。早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡,实际测试效果不够好,容易出问题,所以放弃了。, s6 H% C9 P/ V7 p. M9 Y
1. 此例子仅支持MDK4.74版本,因为RTX,RL-FlashFS,RL-USB都是来自MDK4.74的安装目录,使用MDK4.74才是最佳组合。6 I% l1 ^+ A" U0 s& [
2. RL-FlashFS本身支持擦写均衡,坏块管理,ECC和掉电保护。其中使用掉电保护的话,请开启配置文件中的FAT Journal。
5 f) L; v) K9 q3. 在前几年的时候,有客户反应使用RL-FlashFS写入文件多后会写入越来越慢,原因是没有正确配置,加大文件名缓冲个数即可。
) ~! I0 u/ b- H1 k: Q4. 当前使用的短文件名的库,使用长文件名的话请更换为长文件名的库,也在MDK的安装目录里面。
2 o  x9 L# C( {5. RL-FlashFS是FAT兼容的文件系统,也就是说可以在window系统上面模拟U盘,提供的程序代码已经做了支持。
$ O0 E$ P6 }2 l8 O6. RL-FlashFS的文件名仅支持ASCII,不支持中文,这点要特别注意。
0 }9 f, ?' t( K6 V7. 首次格式化后使用,读速度2.3MB/S左右,写速度3.2MB/S左右,配置不同的文件系统缓冲大小,速度有区别。
$ `9 G( R6 |- {1 v+ h8. RL-FlashFS的函数是标准的C库函数,跟电脑端的文件系统使用方法一样。
# }/ E9 ~; Y1 y9 }4 \9. RL-FlashFS与FatFS的区别,FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC和掉电保护都不支持。这些都需要用户自己去实现。( S/ N2 K" H' a+ w. d
10. UFFS,YAFFS这两款文件系统是不兼容FAT的,也就是无法在Windows端模拟U盘。
8 D2 o5 }0 @9 \+ ~6 L, \
" V2 C  V0 }6 R$ G6 V/ d) C% ?2 P8 G) t8 @7 b! \: c# }
当前NAND的配置如下:
1 e9 I$ X1 e1 }% ^5 J# P
2.1.png
+ p3 S# l3 w- V7 N' p; i( ?

7 h2 ~5 M9 L* _6 f* \RTX调试组件:

: S5 a# d: T! m
2.2.png
+ Z/ S3 Y( N2 V, D& J, O# E
# U0 O- A8 s6 H. p( z- h4 ~0 K6 @: o优化等级方面,各种优化等级和超给力的时间优化,可以任意搭配选择,都可以正常通过

# z, r; j: E. {( B
2.3.png
' e5 i" H& P2 ]: K1 H3 u, A) C7 O5 n7 `5 {# }% g6 |

5 Y0 X; {8 D6 p# J1 |9 s
5 h/ U4 ~& E4 L使用说明如下:* `3 I( a/ a# L8 Q
( L7 h3 Z! p2 z) V/ C/ ?% R
请选择串口操作命令,电脑键盘打印数字即可:
  P1 z' q- n0 T, W首次使用,务必调用串口命令0,进行NAND Flash的低级格式化和文件系统格式化!!
% `1 |$ Z+ ~3 ^/ |0 - 低级格式化,显示NAND Flash容量和剩余容量
+ Z/ q, H( W) u4 f& B5 C+ V1 - 显示NAND Flash根目录下的文件
: \3 Y  B+ D$ i  ?( \2 x5 b7 _+ e) o) s2 - 创建三个text文本并使用不同函数写入内容& f  J. n. x  h7 q: i/ n
3 - 使用三个不同函数读取文本\r\n");
! V6 ^- x* l7 R  }: G0 \$ r! x4 - 创建一个text文本并指定一个位置对其进行读写操作
7 b9 B/ G* C) K) I% Z6 d5 - 删除文件夹和文件
9 k: c8 a- _: H9 \1 H6 - 测试文件读写速度7 x) S' B" {" V/ [2 N4 ^! Y% j
7 - 写数据到CSV文件中
6 ]$ l: ?; {! r6 O8 - 从CSV文件中读数据
& o8 l+ {; Z( C/ a4 @% Oa - 打开NAND模拟U盘,注意是小写字母a, I# a( n( e) k( Y  Z* E6 F
b - 关闭NAND模拟U盘,注意是小写字母b
" d( R1 k; T( t# j$ C3 W/ G8 Q; G& d2 r9 a1 x2 c

1 b9 [5 V* I" e+ p# h' x: y例程下载:
* ~5 p# s  I8 `V4开发板: 基于STM32F103ZET6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z ( B) S% t. u, `1 ?! }8 j& i5 F; R
V5开发板: 基于STM32F407IGT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
' ~) ?0 i& Q1 B& W( p) VV6开发板: 基于STM32F429BIT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z4 \4 K* f4 E  e; t
RL-USB和RL-FlashFS的文档: rlarm.chm$ j0 z1 O% G: a; a) i

! T: K3 C8 \+ i( o$ p$ A% O$ _3 C8 s1 U6 I. O
通过串口做的命令行操作:
% r( g" i2 I* w/ J' l! z) e 2.4.jpg - b8 Y, E' |8 @+ T/ J9 B
7 A/ i# j. P" M) K1 o
模拟U盘操作效果:4 P) @2 U+ P' [; G4 b: j8 T+ G, `
2.5.png & A  [3 q7 R) F' `
8 m: B4 d" G; P: \* I4 j( b
电脑端复制文件进去,速度基本是300-500KB/S
9 b- e( @# Y  Y3 m( N
2.6.png

  O" n5 ^5 n6 E" ?" X2 b5 Q5 Y- _
收藏 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不支持  那不合道理啊 !
. K- w" Z+ {2 W$ l( _7 }
hmanhcc 回答时间:2019-3-12 12:23:27
我試了 KEIL 新版  MDK  ,  finit("N0:")    需用到 LIB 元件庫 ,  真的 就都過不去! 無法使用! g) {  T/ ]* H( d- s& ^7 M
baiyongbin2009 回答时间:2019-3-12 17:04:04
hmanhcc 发表于 2019-3-12 12:19- C5 Q3 C$ x8 M" ]
只能用在 MDK4.74版本 ? 那不就意味  得走回頭 用舊版 MDK  ,  新版MDK不支持  那不合道理啊 !& z* E6 F" Q8 k; T( _7 E$ o
...

" d5 d% u" i) k6 K不是,主要是没法比撸调试组件,不方便调试状态查看任务运行状态。还有哪里不理解的找我。
7 L& G8 _# @$ u: e) n; Z: Z4 S% w( @3 P
使用MDK5,看此贴即可:
3 ]7 b- k( u8 z4 s9 P) BV4,V5,V6开发的所有RTX例子都可以使用最新的MDK5.25进行编译测试了,仅需加一个命令去掉警告即可
8 ?1 r5 K' D/ f& Q  whttp://forum.armfly.com/forum.ph ... 6086&fromuid=58
' F3 R6 S) ^- f8 S' g' Q6 Y' ?5 ?
* H, e! ?6 p* G
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版