硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6960|回复: 31
收起左侧

[USB] 基于V7的新版RL-USB V6.X + RL-FlashFS V6.X模板,操作CLASS10的SD卡速度12-15MB/S,含RTX5和FreeRTOS两版

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
发表于 2019-6-27 00:10:35 | 显示全部楼层 |阅读模式
说明:
1、如果需要RL-USB源码的话,将DAPLink(CMSIS-DAP)里面的USB代码导出来即可,DAPLink开源了RL-USB的Device代码。
     也可以反过来,在工程模板的基础上再移植SWD接口相关文件,实现一个DAPLINK下载器。
2、新版RL-USB相比老版本功能强劲了不少,比如新增的WebUSB以及更好的配合WinUSB实现上位机开发。
3、新版RL-FlashFS V6.X相比老版本功能更强些,API更加全面(FlahFS是采用的标准C库API),已经支持删除文件夹时,同步删除其子文件。
4、RL-FlashFS是兼容Fat的,新版最大容量支持2TB。同时也支持EFS嵌入式文件系统,主要用于NOR型Flash。
5、新版RL-FlashFS V6.X和RL-USB的NAND完整解决方案,后面为大家制作,配套到V7上。
6、RL-FlashFS与FatFS的区别:
(1)FatFS仅是一个FAT类的文件件系统,擦写均衡,坏块管理,ECC校验和掉电保护都不支持。这些都需要用户自己去实现,而FlashFS都支持。
(2)RL-FlahFS操作文件名,不支持中文,而FatFS支持。

7、RL-USB:
usbmiddleware.png

RTX5:
V7-RTX5 RL-FlashFS V6.X Template(SD).rar (2.75 MB)

FreeRTOS:
V7-FreeRTOS RL-FlashFS V6.X Template(SD).rar (2.75 MB)


测试例子需要安装的库版本(同一个软件包可以安装多个不同版本):
下面三个软件包的版本(这个三个版本的软件包务必要安装):




调试组件
RL-FlashFS
2.jpg

RL-USB
1.jpg

FreeRTOS
3.jpg

RTX5
5.jpg


USB测试:


FlashFS测试:
2019-06-27_102942.jpg

操作Class4的SD卡速度是4-8MB/S,操作CLASS10的SD卡速度是12-15MB/S








评分

参与人数 1金币 +20 收起 理由
missfox + 20 666

查看全部评分

回复

使用道具 举报

6

主题

216

回帖

234

积分

高级会员

积分
234
发表于 2019-6-27 08:43:19 | 显示全部楼层
硬汉大佬把底层都为我们铺好了,太感谢了!!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2019-6-27 10:43:42 | 显示全部楼层
已经发布。
回复

使用道具 举报

36

主题

2038

回帖

2146

积分

至尊会员

积分
2146
发表于 2019-6-27 11:14:55 | 显示全部楼层
特来支持下,准备研究下webusb的实现
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

23

主题

1403

回帖

1472

积分

至尊会员

积分
1472
发表于 2019-6-27 11:25:00 | 显示全部楼层
代码不规范,亲人两行泪!
回复

使用道具 举报

2

主题

70

回帖

76

积分

初级会员

积分
76
发表于 2019-6-27 14:07:28 | 显示全部楼层
能不能来个建立的详细过程,要是录制有视频,解说每一步的作用,那就完美了
回复

使用道具 举报

27

主题

272

回帖

353

积分

高级会员

积分
353
发表于 2019-6-28 09:11:09 | 显示全部楼层
牛批啊  
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2019-6-28 09:16:55 | 显示全部楼层
sup999 发表于 2019-6-27 14:07
能不能来个建立的详细过程,要是录制有视频,解说每一步的作用,那就完美了

这个可以有,手把手。
回复

使用道具 举报

6

主题

216

回帖

234

积分

高级会员

积分
234
发表于 2019-6-28 09:28:54 | 显示全部楼层
eric2013 发表于 2019-6-28 09:16
这个可以有,手把手。

大佬,大概啥时候能够出手把手的教程啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2019-6-28 09:30:09 | 显示全部楼层
芯跳不止 发表于 2019-6-28 09:28
大佬,大概啥时候能够出手把手的教程啊

还早
先让需要的老手用起来,新手等我H7用户手册搞完了,逐步更新其它教程
回复

使用道具 举报

1

主题

73

回帖

76

积分

初级会员

积分
76
发表于 2019-6-28 09:42:04 | 显示全部楼层
eric2013 发表于 2019-6-28 09:30
还早
先让需要的老手用起来,新手等我H7用户手册搞完了,逐步更新其它教程

建议不要这样用中间件,建议拷贝出来用,不要出现依赖,有了依赖这是很不好的做法,不适合工程项目源码管理
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2019-6-28 09:47:42 | 显示全部楼层
neomissing 发表于 2019-6-28 09:42
建议不要这样用中间件,建议拷贝出来用,不要出现依赖,有了依赖这是很不好的做法,不适合工程项目源码管 ...

我以前测试过,不使用RTE,独立建立工程非常不方便,现在的RTE跟CubeMX耦合的太厉害,必须要创建一次CubeMX才可以使用。

由于RTE可以让用户选择不同的软件包版本,所以就屏蔽了依赖性的问题。

回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2019-7-8 16:25:28 | 显示全部楼层
本帖最后由 木兰花 于 2019-7-9 09:17 编辑

硬汉哥这里的FreeRTos用的哪个版本啊,,我没装mdk,,,,
现在想在一个项目中用freertos,用最新的10.2.1呢还是其他旧版本呢,,谢谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2019-7-9 09:40:26 | 显示全部楼层
木兰花 发表于 2019-7-8 16:25
硬汉哥这里的FreeRTos用的哪个版本啊,,我没装mdk,,,,
现在想在一个项目中用freertos,用最新的10.2. ...

用的10.2.0
回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2019-7-9 11:06:06 | 显示全部楼层

好的,谢谢
回复

使用道具 举报

7

主题

46

回帖

72

积分

初级会员

积分
72
发表于 2019-10-6 13:21:28 | 显示全部楼层
参考硬汉哥的例程试图在stm32f401ret6板子上实现RL-USB V6.X + RL-FlashFS V6.X,RTX5开发环境,RTX5任务工作正常,RL-FlashFs finit正常, fmount一直不成功,错误代码9(fsMediaError),卡是8G的SDHC卡,FAT32格式,感觉RL-FlashFs没法上手调试,请教下硬汉哥是否有遇到这种情况了?可能是什么问题了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2019-10-7 00:46:32 | 显示全部楼层
wling597074509 发表于 2019-10-6 13:21
参考硬汉哥的例程试图在stm32f401ret6板子上实现RL-USB V6.X + RL-FlashFS V6.X,RTX5开发环境,RTX5任务工 ...

你这个IO都正确配置了吧,访问这个错误是硬件访问有问题。
回复

使用道具 举报

7

主题

46

回帖

72

积分

初级会员

积分
72
发表于 2019-10-7 09:36:02 | 显示全部楼层
eric2013 发表于 2019-10-7 00:46
你这个IO都正确配置了吧,访问这个错误是硬件访问有问题。

多谢硬汉哥指导,我又仔细检查了stm32f4xx_hal_msp.c这个文件,发现sdio和dma的中断都没开……重新通过cubemx开启后,调试器显示media为true,io配置应该没问题了,fmount还是不成功,返回错误代码0x0B(fsnofilesystem)……我再查查
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2019-10-10 16:38:37 | 显示全部楼层
wling597074509 发表于 2019-10-7 09:36
多谢硬汉哥指导,我又仔细检查了stm32f4xx_hal_msp.c这个文件,发现sdio和dma的中断都没开……重新通过cu ...

FS_Config_MC_0.h配置不正确挂载时就一直返回fsnofilesystem
回复

使用道具 举报

7

主题

46

回帖

72

积分

初级会员

积分
72
发表于 2019-10-11 08:13:00 | 显示全部楼层
dufei555 发表于 2019-10-10 16:38
FS_Config_MC_0.h配置不正确挂载时就一直返回fsnofilesystem

感谢指导,RL-Flashfs调通了,主要还是底层的问题,修改了MCI_STM32F4xx.c文件,因为我使用了DMA,但是若使用cubeMX耦合的话,这个文件里默认DMA应该没有开启,共修改了三处,都是与DMA相关的。
第一二处位于MCI_STM32F4xx.c的PowerControl函数
1.jpg


2.jpg
其实都是把原函数中 #if defined(RTE_DEVICE_FRAMEWORK_CLASSIC)  #endif里注释的DMA中断内容添加上。
第三处是添加DMA中断
3.jpg
也是把#if defined(RTE_DEVICE_FRAMEWORK_CLASSIC)  #endif里注释的DMA中断内容添加上
然后记得在stm32f4xx_hal_msp.c文件里的HAL_SD_MspInit打开DMA时钟。
这时fmount就成功了,但是fopen创建文件还没成功,会卡在这里:
4.jpg
是因为分配的空间不够,需要修改RTX_Config.h的内容,大小根据自己的情况来吧:
5.jpg
然后RL-FlashFs就正常了,读写文件均可。
H7与F4用到的MCI_STM32XXX.c文件差别似乎挺大的,以上是调试RL-Flash遇到的问题。RL-USB还没弄好。。。。

回复

使用道具 举报

11

主题

68

回帖

101

积分

初级会员

积分
101
发表于 2020-1-10 14:17:25 | 显示全部楼层
使用V5的移植下flashFS,把MicroLib勾去掉后,程序编译通过,可是跑起来,提示这个错误:// Standard C/C++ library mutex initialization failed
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2020-1-10 15:22:50 | 显示全部楼层
ymh792260950 发表于 2020-1-10 14:17
使用V5的移植下flashFS,把MicroLib勾去掉后,程序编译通过,可是跑起来,提示这个错误:// Standard C/C++ ...

你这个也是用的新版吗?
回复

使用道具 举报

11

主题

68

回帖

101

积分

初级会员

积分
101
发表于 2020-1-10 15:27:03 | 显示全部楼层
eric2013 发表于 2020-1-10 15:22
你这个也是用的新版吗?

是的,用新版本的
回复

使用道具 举报

4

主题

164

回帖

176

积分

初级会员

积分
176
发表于 2020-1-17 10:30:08 | 显示全部楼层
这个读写有10MB以上的速度,但是usb那个只有800k是受限于USB吗,换成高速USB会更快吗
回复

使用道具 举报

4

主题

164

回帖

176

积分

初级会员

积分
176
发表于 2020-1-17 10:31:03 | 显示全部楼层
这个有10MB以上的速度,那USB那个800k是受限于USB吗,换成高速USB是不是就可以达到10MB了呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2020-1-17 11:03:47 | 显示全部楼层
yuanzhongda 发表于 2020-1-17 10:30
这个读写有10MB以上的速度,但是usb那个只有800k是受限于USB吗,换成高速USB会更快吗

是的。

H7-TOOL的eMMC虚拟U盘最高性能研究,读速度20-30MB,写速度10-15MB/S
http://www.armbbs.cn/forum.php?m ... 5935&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

4

主题

164

回帖

176

积分

初级会员

积分
176
发表于 2020-1-20 14:41:29 | 显示全部楼层
有个问题请教下,我看h743支持uhs的sd卡,但是MDK的demo里rlflash的好像没用到,是不是rlflash不支持sd卡的uhs模式
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2020-1-21 00:49:39 | 显示全部楼层
yuanzhongda 发表于 2020-1-20 14:41
有个问题请教下,我看h743支持uhs的sd卡,但是MDK的demo里rlflash的好像没用到,是不是rlflash不支持sd卡的 ...

STM32H7的SDIO外接支持UHS-I 模式 (SDR12, SDR25, SDR50, SDR104和DDR50)需要1.8的电平转换器
http://www.armbbs.cn/forum.php?m ... 9590&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

12

回帖

18

积分

新手上路

积分
18
发表于 2020-7-12 23:10:59 | 显示全部楼层
硬汉哥  你好  我的sd 卡通过usb虚拟成U盘 目前成功了  只是 U盘复制文件  速度大概才300kb/s 而且不稳定 这个是正常的吗 怎么样提高速度了?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2020-7-13 00:44:08 | 显示全部楼层
jaywen 发表于 2020-7-12 23:10
硬汉哥  你好  我的sd 卡通过usb虚拟成U盘 目前成功了  只是 U盘复制文件  速度大概才300kb/s 而且不稳定  ...

300KB有点慢,是不是你的U盘限制了。
回复

使用道具 举报

1

主题

24

回帖

27

积分

新手上路

积分
27
发表于 2020-8-16 09:13:36 | 显示全部楼层
咨询一下,我们公司用的ES版本的KEIL,没有这些中间件,可以自己移植吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106422
QQ
 楼主| 发表于 2020-8-16 10:26:53 | 显示全部楼层
nzk123 发表于 2020-8-16 09:13
咨询一下,我们公司用的ES版本的KEIL,没有这些中间件,可以自己移植吗?

ES版本不知道能不能编译通过,最好整个PLUS靠谱
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-19 17:31 , Processed in 0.374726 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表