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

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

[复制链接]
baiyongbin2009 发布时间:2018-6-12 15:43
本帖最后由 baiyongbin2009 于 2018-6-12 15:45 编辑 9 Q, Q( q% g4 v- Q$ f
  R9 {( B8 N1 E' M: x4 X

  h. d- t9 A; B. C3 i$ ?说明:! F$ S9 C8 B6 s6 |$ L: x2 Y3 ^  r
1 l. V7 Z4 Y) Y$ I
0. NAND Flash这块经常有人咨询,这里发布一个完整的解决方案,支持擦写均衡,坏块管理,ECC和掉电保护。早期的时候我们是用的自己做的NAND算法,支持滑块管理,擦写均衡,实际测试效果不够好,容易出问题,所以放弃了。5 X6 v* e) W2 W7 G9 f7 u8 [
1. 此例子仅支持MDK4.74版本,因为RTX,RL-FlashFS,RL-USB都是来自MDK4.74的安装目录,使用MDK4.74才是最佳组合。* q5 [% \6 M6 s
2. RL-FlashFS本身支持擦写均衡,坏块管理,ECC和掉电保护。其中使用掉电保护的话,请开启配置文件中的FAT Journal。
1 O( y+ X' O9 J* F  Y: z, P1 X' y3. 在前几年的时候,有客户反应使用RL-FlashFS写入文件多后会写入越来越慢,原因是没有正确配置,加大文件名缓冲个数即可。
& g7 g8 N9 A3 s$ t; F0 y, ~& x4. 当前使用的短文件名的库,使用长文件名的话请更换为长文件名的库,也在MDK的安装目录里面。- b4 S9 o9 X4 m7 {; X6 m8 h6 Z
5. RL-FlashFS是FAT兼容的文件系统,也就是说可以在window系统上面模拟U盘,提供的程序代码已经做了支持。9 V5 @4 P  m) U% C. W
6. RL-FlashFS的文件名仅支持ASCII,不支持中文,这点要特别注意。4 }" A- V  }0 q0 z7 t9 @) E
7. 首次格式化后使用,读速度2.3MB/S左右,写速度3.2MB/S左右,配置不同的文件系统缓冲大小,速度有区别。3 ^' Z! `+ \: `) v! y2 d
8. RL-FlashFS的函数是标准的C库函数,跟电脑端的文件系统使用方法一样。, i/ t6 h# y- T' c4 u& ~( O
9. RL-FlashFS与FatFS的区别,FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC和掉电保护都不支持。这些都需要用户自己去实现。; @; G' r. H$ W& d' c
10. UFFS,YAFFS这两款文件系统是不兼容FAT的,也就是无法在Windows端模拟U盘。
( R; r+ J  D  ^0 p* S3 Y' d, G9 z- D3 z" h1 z- {& f4 h
" Z4 P7 h* L( A  p( f8 Z" y/ o
当前NAND的配置如下:
8 {4 r! b/ C2 L3 q6 e
2.1.png
( p0 K& }' U! f  J! F. e1 J

" P7 ?% S# J3 c, X: A, Z6 tRTX调试组件:
; d( Q) Q9 ^# R% U6 i! |& h
2.2.png
+ A- \6 }0 L; s) |7 U, d% M
1 q+ O4 \5 A; {6 p' v优化等级方面,各种优化等级和超给力的时间优化,可以任意搭配选择,都可以正常通过
! _# a7 `: m( d# [
2.3.png
$ {7 G' d, S: m* r( Y2 i4 l! U' ~2 ~0 F- D5 h. o6 V3 o
, x) D1 O4 w" a; Q# ^
- f3 R1 t( [, J
使用说明如下:
* z1 W1 N% i( J
1 h4 u/ ~- a! ~% n请选择串口操作命令,电脑键盘打印数字即可:7 E+ v4 O2 G4 G/ J+ H# L; B
首次使用,务必调用串口命令0,进行NAND Flash的低级格式化和文件系统格式化!!5 ^2 w! G' Q+ t6 \" y+ J9 o5 [
0 - 低级格式化,显示NAND Flash容量和剩余容量
, c4 r, \- i% k# E! |6 N1 - 显示NAND Flash根目录下的文件5 U5 ?6 @* M0 M: D$ P3 K1 {
2 - 创建三个text文本并使用不同函数写入内容
( }2 O) p( y* t* M3 - 使用三个不同函数读取文本\r\n");$ P" I; b$ @; W
4 - 创建一个text文本并指定一个位置对其进行读写操作
. H) j8 z% M: O# \! b5 ?7 a5 - 删除文件夹和文件
* C1 ~+ h1 N; i6 e6 - 测试文件读写速度
. q2 w. m( h' x( Q% D2 [* H7 - 写数据到CSV文件中9 ?% d# I9 k3 f) {2 a8 q; H
8 - 从CSV文件中读数据1 x  u" _" p! s6 i; h
a - 打开NAND模拟U盘,注意是小写字母a
& E" o# `/ c# d5 u- `4 ab - 关闭NAND模拟U盘,注意是小写字母b6 g% ^1 W" s# Z  w( _: `

4 A& ~8 k1 j: {# O
, E$ n8 G% O* [5 j/ h/ M8 m4 g# Q, ~例程下载:6 w6 ?+ F: L5 w- R7 _% o8 v, y
V4开发板: 基于STM32F103ZET6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z   s8 R1 K9 E; f3 \. n; g( o
V5开发板: 基于STM32F407IGT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z
: J+ U! e4 a4 j9 UV6开发板: 基于STM32F429BIT6的RTX RL-USB RL-FlashFS的完整NAND解决方案.7z. P5 A4 K8 m, A# t, p* g% V2 X
RL-USB和RL-FlashFS的文档: rlarm.chm% J; i$ {7 M  v5 w* b8 n; u

+ s( u0 y6 |" ^7 D  I3 V1 A7 O$ l6 @; d
通过串口做的命令行操作:# R" M5 {' F; X! T2 ?
2.4.jpg
) ?) t( o& d6 Z' x* O
+ d& l$ x# j1 d0 l" J' N0 E模拟U盘操作效果:
! D9 _5 _) @8 E' Q, Y9 S: d: Y* E 2.5.png
( P! L* k! p( y3 ~% |) k, y4 d! i" F
电脑端复制文件进去,速度基本是300-500KB/S0 u" X$ A2 y+ p, F
2.6.png
; v  J" G2 N5 c
收藏 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不支持  那不合道理啊 !
3 k# @! _: r% U# c& X5 _3 ~* D# d6 S
hmanhcc 回答时间:2019-3-12 12:23:27
我試了 KEIL 新版  MDK  ,  finit("N0:")    需用到 LIB 元件庫 ,  真的 就都過不去! 無法使用; w" [3 o; X5 c* _( m, e
baiyongbin2009 回答时间:2019-3-12 17:04:04
hmanhcc 发表于 2019-3-12 12:196 Y' r6 w# }( q
只能用在 MDK4.74版本 ? 那不就意味  得走回頭 用舊版 MDK  ,  新版MDK不支持  那不合道理啊 !/ t0 S( X# l9 K$ k1 X: V+ X
...

+ x* w2 ]8 r% A0 F) }不是,主要是没法比撸调试组件,不方便调试状态查看任务运行状态。还有哪里不理解的找我。
+ E  l- D3 f: {- h3 n( i4 l) w5 T- @0 B6 x; ~# T$ G6 d' ?4 Y$ L
使用MDK5,看此贴即可:
# W/ B5 _1 J6 HV4,V5,V6开发的所有RTX例子都可以使用最新的MDK5.25进行编译测试了,仅需加一个命令去掉警告即可+ `% r7 [- h+ z$ g& H  `
http://forum.armfly.com/forum.ph ... 6086&fromuid=58
  M: u: q' Q( U7 O& s9 x* d* `6 ?% ?7 P

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版