REALIOT 发表于 2023-1-16 15:10:24

求助:RL-FLASHFS驱动EMMC的若干问题

本帖最后由 REALIOT 于 2023-1-16 15:12 编辑

项目需求: 构建一个TCP客户端收发数据并存储,使用存储介质存储数据,并支持通过以太网读出已存储的数据。
原有技术方案:STM32F407+LWIP1.4+FATFS+EMMC
    但是在实现以太网读出已存储数据的功能时,为了实现已存储数据的读取功能,我构建了一个TCP Server,使用PC端的TCP 客户端连接STM32接收已存储的数据,但读取速度和数据可靠性无法满足要求。
    一方面,读取速度约30K/s,实在很慢;另一方面,读出的数据也有一定的概率出错。所以笔者这边尝试构建一个FTP Server,借助FTP的框架来提升数据传输速度和可靠性、稳定性。
    而LWIP1.4版本是不支持FTP的相关服务的,如果想要实现FTP,就面临两个选择:1、将LWIP更换为2.1x版本,2、使用RL全家桶中的RL-TCPnet实现TCP Client、FTP Server和RL_FlashFS运行文件系统实现文件读写。


改进的技术方案1:STM32F407+LWIP2.1+FATFS+EMMC
    优点:可以沿用原有技术路线
    缺点:FATFS不支持擦写均衡

改进的技术方案2:STM32F407+RL-TCPnet+RL-FlashFS+EMMC
    优点:RL全家桶系列移植简便,稳定性好,可靠性高
    缺点:RL-FlashFS常用例程都是针对NandFlash和SD卡的,没有针对EMMC进行操作的相关参考。同时,RL-FlashFS都是官方写好的库,无法知道其实现逻辑,虽然二者的驱动引脚十分接近,但难以将SD的驱动迁移到EMMC存储上。

求助问题:
    1、RL-FlashFS是否确实无法支持EMMC的驱动?
    我现在的参考的程序是:V5-1015_RL-TCPnet实验_TCP客户端(FreeRTOS),标准库,Keil版本是5.36,已经将PHY芯片成功更换为DP83848
   Keil界面中关于软件包版本如下图所示
   现有的电路板已经生产出来,采用的是EMMC存储,使用文件系统读写也是测试通过的,如果RL TCPnet确实无法支持EMMC,我计划将EMMC存储修改为SD卡。
   2、FATFS不支持擦写均衡是否属实,使用FATFS存储文件,是否需要考虑擦写均衡方面的问题?
   笔者希望采用RL-FlashFS的原因,是根据掌握到的资料,FATFS无法支持擦写均衡。而RL-FlashFS驱动SD卡的话,SD卡本身就自带均衡算法。
   而且基于LWIP+FATFS实现的FTP,其传输速率具体可以达到多少,仍是个未知数,而基于RL-FLASHFS操作SD卡的FTP Server,我已经在开发板实测过速度平均达到2M/s,是可以满足项目需求的。

tomyqg 发表于 2023-1-16 17:24:41

sd/emmc不需要考虑擦写均衡,需要考虑掉电安全了吧,另外threadx全家桶不香吗

eric2013 发表于 2023-1-17 10:26:31

1、这个是否支持跟RL-FlashFS本身没有关系,主要还是驱动。
F4系列的CMSIS-Driver更新缺少一个重要的
Added handling for separate SD and MMC HAL layers
像H7系列有这么一个重要的更新,所以可以方便驱动eMMC

2、eMMC不需要擦写均衡和坏块管理,本身已经集成了。
页: [1]
查看完整版本: 求助:RL-FLASHFS驱动EMMC的若干问题