首页 > 解决方案 > 是否可以实现 DISKCOPY 从 eMMC 卷逐块复制到 USB 卷

问题描述

我正在使用 STM32、FATFS、SDMMC、eMMC 并在 eMMC 上创建了 FATFS。我还在 USBH(主机模式)上创建了一个 FATFS 卷。这也可以正常工作。

eMMC FATFS 工作正常,然后我需要将所有文件从 eMMC 复制到 USB 驱动器。通过 FATFS 从 eMMC 逐个文件复制文件花费的时间太长。

我认为如果我只是盲目地将内存块(512字节)从eMMC复制到USBH会更快。所以我实施了足够的例程来做到这一点。问题是复制大约几百块后复制失败。故障似乎是由于 USBH 没有响应。

我的问题是:1-“是否可以像我尝试做的那样将原始数据从 eMMC 逐块复制到 USBH?” 2-有没有人成功做到这一点?

标签: usbstm32fatfssdmmc

解决方案


是的,盲目地将一个存储设备的所有块复制到另一个存储设备并期望它能够工作是完全正常的。

唯一的问题是设备必须具有相同的块大小,否则您至少必须假装它们有(例如:将每个 4kB 物理块视为八个 512 字节块)。这是因为许多文件系统驱动程序总是假定块大小为 512 字节。

我在这样做时遇到的另一个问题是设备可能会过热(但这不是软件问题)。


推荐阅读