如何在U-Boot中使用MMC加速写入?

时间:2016-03-15 13:52:40

标签: raspberry-pi sd-card u-boot

我尝试使用U-Boot将大(2 GiB)图像从网络复制到SD卡。这个图像是一个文件系统;因此,我使用的是mmc子系统。

我创建了许多此图像的块,每块64 MiB,因此过程如下:

  1. 使用TFTP下载下一个块
  2. 使用mmc
  3. 将子块写入SD卡
  4. 转到1
  5. 问题是写入SD卡真的很慢。一块4 MiB需要几分钟。我尝试过不同的尺寸,它们都是一样的 - 很慢。

    我使用的是Raspberry Pi 2和Samsung micro SD卡(10级)。

    我用来写作的命令就像:

    mmc write 0x1600000 0xFF000 0x02

    对我而言,这意味着,从内存地址0x1600000开始,读取0x02的{​​{1}}块并将其写入sd卡,从块512 bytes开始

    我使用了错误的命令吗?有没有办法加快这个过程? U-Boot驱动程序很慢?

    注意:昨天晚上我复制了1.3 GiB的图像。花了16个小时。

    编辑: Git仓库git://git.denx.de/u-boot.git

    commit ae765f3a8243faa39d4a32ba2baede638e40c768

    汇编: 0xFF000 make rpi_2_defconfig

1 个答案:

答案 0 :(得分:3)

在撰写本文时,当前版本的U-Boot(v2016.03)在RPi 2上禁用了dcache。事实上事情似乎很慢。此外,目前正在审查补丁,这将启用dcache并加快速度。由于液晶显示器存在问题,预计这些补丁至少会有一个版本,但欢迎和鼓励更多的测试人员。您可以在此处获取当前系列(v2):
https://patchwork.ozlabs.org/project/uboot/list/?submitter=1212&state=7&q=v2&delegate=3651
请注意,0/5的补丁是解决LCD问题的方法,因此我预计会提交干净的v3。

我希望这些更改能够合并到v2016.05版本中。