如何在 U-Boot 中使用 MMC 加速写入?
How to speed up write using MMC in U-Boot?
我正在尝试使用 U-Boot 将一个大 (2 GiB) 图像从网络复制到 SD 卡。这个图像是一个文件系统;因此我使用的是 mmc 子系统。
我创建了这个图像的许多块,每个块 64 MiB,所以过程是这样的:
- 使用 TFTP 下载下一个块
- 使用mmc将子块写入sd卡
- 转到 1
问题是写入sd卡真的很慢。一块 4 MiB 需要几分钟。我试过不同的尺寸,结果都是一样的——很慢。
我正在使用 Raspberry Pi 2 和三星微型 SD 卡 (class 10)。
我写的命令是这样的:
mmc write 0x1600000 0xFF000 0x02
对我来说,这意味着,从内存地址0x1600000
中读取0x02
块512 bytes
并将它们从块0xFF000
开始写入SD卡
我是不是用错了命令?有没有办法加快这个过程?的 U-Boot 驱动程序很慢?
注:昨天晚上复制了一个1.3GiB的镜像。花了16个小时。
编辑:
Git 存储库 git://git.denx.de/u-boot.git
提交 ae765f3a8243faa39d4a32ba2baede638e40c768
编译:
make rpi_2_defconfig
make all
在撰写本文时,当前版本的 U-Boot (v2016.03) 在 RPi 2 上禁用了 dcache。所以实际上速度很慢。目前还有一些补丁正在审查中,这些补丁将启用 dcache 并加快速度。由于 LCD 的问题,预计这些补丁至少会有一个版本,但欢迎和鼓励更多的测试人员。您可以在此处获取当前系列 (v2):
https://patchwork.ozlabs.org/project/uboot/list/?submitter=1212&state=7&q=v2&delegate=3651
并注意 0/5 补丁修复了 LCD 问题,因此我希望提交干净的 v3。
我希望这些更改能够合并到 v2016.05 版本中。
我正在尝试使用 U-Boot 将一个大 (2 GiB) 图像从网络复制到 SD 卡。这个图像是一个文件系统;因此我使用的是 mmc 子系统。
我创建了这个图像的许多块,每个块 64 MiB,所以过程是这样的:
- 使用 TFTP 下载下一个块
- 使用mmc将子块写入sd卡
- 转到 1
问题是写入sd卡真的很慢。一块 4 MiB 需要几分钟。我试过不同的尺寸,结果都是一样的——很慢。
我正在使用 Raspberry Pi 2 和三星微型 SD 卡 (class 10)。
我写的命令是这样的:
mmc write 0x1600000 0xFF000 0x02
对我来说,这意味着,从内存地址0x1600000
中读取0x02
块512 bytes
并将它们从块0xFF000
开始写入SD卡
我是不是用错了命令?有没有办法加快这个过程?的 U-Boot 驱动程序很慢?
注:昨天晚上复制了一个1.3GiB的镜像。花了16个小时。
编辑: Git 存储库 git://git.denx.de/u-boot.git
提交 ae765f3a8243faa39d4a32ba2baede638e40c768
编译:
make rpi_2_defconfig
make all
在撰写本文时,当前版本的 U-Boot (v2016.03) 在 RPi 2 上禁用了 dcache。所以实际上速度很慢。目前还有一些补丁正在审查中,这些补丁将启用 dcache 并加快速度。由于 LCD 的问题,预计这些补丁至少会有一个版本,但欢迎和鼓励更多的测试人员。您可以在此处获取当前系列 (v2):
https://patchwork.ozlabs.org/project/uboot/list/?submitter=1212&state=7&q=v2&delegate=3651
并注意 0/5 补丁修复了 LCD 问题,因此我希望提交干净的 v3。
我希望这些更改能够合并到 v2016.05 版本中。