Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

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?

Open
#47 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
28/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
linux

Research direction

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.

Written by the indexing model from the issue text.

Description

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

Dominant language
No language data
Stars
172
Forks
70
Avg merge
9m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Xilinx/Embedded-Design-Tutorials

All issues in Xilinx/Embedded-Design-Tutorials

Similar issues

More Embedded & IoT issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.