using petalinux 2021.2 vitis 2021.2 image from eMMC (sd0) image.ub read by u-boot takes a long time (~19sec): Trying to load boot images from mmc0 286172648 bytes read in 18889 ms (14.4 MiB/s) how can i significantly increase transfer rate?

未关闭
#47 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
28/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
linux

调研方向

Start with the U-Boot fatload mmc 0 0x1000000 image.ub measurement and compare it with the mmcinfo output showing HS200 and an 8-bit bus. Check the reported /sys/kernel/debug/mmc0/ios settings and boot logs to identify where the transfer rate is limited. Done means the bottleneck is identified and a measured transfer-rate improvement is demonstrated.

由索引模型根据 Issue 内容生成。

描述

using
petalinux 2021.2
vitis 2021.2
image from eMMC (sd0)

root FS type:
initramfs FS

boot.bin, image.ub and boot.scr are located at FAT32 partition of the eMMC.

image.ub read by u-boot takes a long time (~19sec):
Trying to load boot images from mmc0
286172648 bytes read in 18889 ms (14.4 MiB/s)

how can i significantly increase transfer rate?

hi,

here is the log from u-boot:

switch to partitions #0, OK

mmc0(part 0) is current device

Scanning mmc 0:1...

Found U-Boot script /boot.scr

2710 bytes read in 16 ms (165 KiB/s)

Executing script at 20000000

Trying to load boot images from mmc0

286172648 bytes read in 18889 ms (14.4 MiB/s)

Loading kernel from FIT Image at 10000000 ...

I GET while stop at u-boot stage:

ZynqMP> version

U-Boot 2021.01 (Oct 12 2021 - 09:28:42 +0000)

ZynqMP> mmc list

mmc@ff160000: 0 (eMMC)

mmc@ff170000: 1

ZynqMP> mmc dev 0

switch to partitions #0, OK

mmc0(part 0) is current device

ZynqMP> mmcinfo

Device: mmc@ff160000

Manufacturer ID: 70

OEM: 100

Name: W5251

Bus Speed: 199999998

Mode: HS200 (200MHz)

Rd Block Len: 512

MMC version 5.0

High Capacity: Yes

Capacity: 14.3 GiB

Bus Width: 8-bit

Erase Group Size: 512 KiB

HC WP Group Size: 16 MiB

User Capacity: 14.3 GiB

Boot Capacity: 4 MiB ENH

RPMB Capacity: 4 MiB ENH

Boot area 0 is not write protected

Boot area 1 is not write protected

as expected.

the big problem is:

**ZynqMP> fatload mmc 0 0x1000000 image.ub

286172648 bytes read in 18889 ms (14.4 MiB/s)

it takes 19 seconds to u-boot to read image.ub.

why read transfer rate is so slow, 14.4MiB/s??????**

**we have 200MHz reference clock from PS subsystem, 8 bus width, means 200MByte/s capacity..so according my calculation :

286172648/200000000 = 1.43 SECONDS.

am i wrong?**

in addition kernel debug is also fine:

root@petalinux:~# cat /sys/kernel/debug/mmc0/ios

clock: 200000000 Hz

actual clock: 200000000 Hz

vdd: 21 (3.3 ~ 3.4 V)

bus mode: 2 (push-pull)

chip select: 0 (don't care)

power mode: 2 (on)

bus width: 3 (8 bits)

timing spec: 9 (mmc HS200)

signal voltage: 1 (1.80 V)

driver type: 0 (driver type B)

can somebody help?

thanks and best regards

主要语言
没有语言数据
星标
172
派生
70
平均合并
9 分钟
30 天内合并 PR
1

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Xilinx/Embedded-Design-Tutorials 的其他 Issue

查看 Xilinx/Embedded-Design-Tutorials 的全部 Issue

相似的 Issue

更多 Embedded & IoT Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。