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

Raspberry pi 如何在U-Boot中使用MMC加速写入?,raspberry-pi,sd-card,u-boot,Raspberry Pi,Sd Card,U Boot,我正在尝试使用U-Boot将一个大(2 GiB)映像从网络复制到SD卡。这个映像是一个文件系统;因此,我使用的是mmc子系统 我创建了此图像的许多块,每个块有64个MiB,因此过程如下所示: 使用TFTP下载下一个区块 使用mmc将子块写入sd卡 转到1 问题是写入sd卡的速度非常慢。4个MiB块需要几分钟的时间。我试过不同的尺寸,但都一样——相当慢 我使用的是覆盆子Pi 2和三星micro SD卡(10级) 我用于编写的命令如下所示: mmc写入0x1600000 0xFF000 0x02 对

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

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

  • 使用TFTP下载下一个区块
  • 使用mmc将子块写入sd卡
  • 转到1
  • 问题是写入sd卡的速度非常慢。4个MiB块需要几分钟的时间。我试过不同的尺寸,但都一样——相当慢

    我使用的是覆盆子Pi 2和三星micro SD卡(10级)

    我用于编写的命令如下所示:

    mmc写入0x1600000 0xFF000 0x02

    对我来说,这意味着从内存地址
    0x1600000
    ,读取
    0x02
    512字节的
    block,并从block
    0xFF000
    开始将其写入sd卡

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

    注意:昨天晚上我复制了一张1.3 GiB的图像。花了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 one出现问题,预计至少还会有一个版本的补丁,但欢迎并鼓励更多的测试人员。您可以在此处获得当前系列(v2):

    请注意,0/5的补丁是解决LCD问题的补丁,因此我希望提交一个干净的v3


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

    您能提供您正在使用的U-Boot版本的链接吗?我们需要链接到git repo、分支名称和用于构建U-Boot的配置文件的名称,以便我们可以检查MMC驱动程序及其设置。我将检查修补程序,如果它有效,我将接受答案。事实上,阅读这里和那里,我认为这是一个问题,但我不知道如何fi它自己。亚历山大respun补丁的问题,我已经合并到硕士系列,所以确认树顶修复您的问题是感激的,谢谢!是的,这解决了问题。它从200千比特/秒上升到7.1兆比特/秒。谢谢