Tool/software: Linux
U-boot is very slow when reading from the micro SD card while booting when created by the bin/create-sdcard.sh script . I'm am using a BeaglBone Black as the my current hardware target and and using the TI pre-build image.
When use the 04.01.00.06 SDK to create the SD card I get the following output on boot up.
U-Boot SPL 2017.01-g590c7d7fe1 (Sep 26 2017 - 18:28:01) Trying to boot from MMC1 reading uboot.env ** Unable to read "uboot.env" from mmc0:1 ** Using default environment reading u-boot.img reading u-boot.img reading u-boot.img reading u-boot.img U-Boot 2017.01-g590c7d7fe1 (Sep 26 2017 - 18:28:01 -0400) CPU : AM335X-GP rev 2.1 Model: TI AM335x BeagleBone Black DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 reading uboot.env ** Unable to read "uboot.env" from mmc0:1 ** Using default environment <ethaddr> not set. Validating first E-fuse MAC Net: cpsw, usb_ether Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 reading boot.scr ** Unable to read file boot.scr ** reading uEnv.txt ** Unable to read file uEnv.txt ** switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 3607512 bytes read in 73885 ms (46.9 KiB/s) 37853 bytes read in 1782 ms (20.5 KiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8fff3000, end 8ffff3dc ... OK Starting kernel ...
When I use the current BeagleBone Black community image of bone-debian-9.1-lxqt-armhf-2017-08-31-4gb.img on the same SD Card the read speed in U-boot is faster.
-Boot SPL 2017.09-rc2-00002-g7c9353e752 (Aug 31 2017 - 09:25:14) Trying to boot from MMC1 U-Boot 2017.09-rc2-00002-g7c9353e752 (Aug 31 2017 - 09:25:14 -0500), Build: jenkins-github_Bootloader-Builder-596 CPU : AM335X-GP rev 2.1 I2C: ready DRAM: 512 MiB No match for driver 'omap_hsmmc' No match for driver 'omap_hsmmc' Some drivers were not found Reset Source: Power-on reset has occurred. MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Using default environment Board: BeagleBone Black <ethaddr> not set. Validating first E-fuse MAC BeagleBone Black: BeagleBone: cape eeprom: i2c_probe: 0x54: BeagleBone: cape eeprom: i2c_probe: 0x55: BeagleBone: cape eeprom: i2c_probe: 0x56: BeagleBone: cape eeprom: i2c_probe: 0x57: Net: eth0: MII MODE cpsw Press SPACE to abort autoboot in 2 seconds board_name=[A335BNLT] ... board_rev=[000B] ... switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** Bad device 0:2 0x82000000 ** ** Bad device 0:2 0x82000000 ** switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... gpio: pin 56 (gpio 56) value is 0 gpio: pin 55 (gpio 55) value is 0 gpio: pin 54 (gpio 54) value is 0 gpio: pin 53 (gpio 53) value is 1 switch to partitions #0, OK mmc0 is current device gpio: pin 54 (gpio 54) value is 1 Checking for: /uEnv.txt ... Checking for: /boot.scr ... Checking for: /boot/boot.scr ... Checking for: /boot/uEnv.txt ... gpio: pin 55 (gpio 55) value is 1 2044 bytes read in 46 ms (43 KiB/s) Loaded environment from /boot/uEnv.txt Checking if uname_r is set in /boot/uEnv.txt... gpio: pin 56 (gpio 56) value is 1 Running uname_boot ... loading /boot/vmlinuz-4.9.45-ti-r57 ... 9464664 bytes read in 634 ms (14.2 MiB/s) uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot.dtb] ... uboot_overlays: Switching too: dtb=am335x-boneblack-uboot.dtb ... loading /boot/dtbs/4.9.45-ti-r57/am335x-boneblack-uboot.dtb ... 55752 bytes read in 76 ms (715.8 KiB/s) uboot_overlays: [fdt_buffer=0x60000] ... uboot_overlays: loading /lib/firmware/AM335X-20-00A0.dtbo ... 378 bytes read in 87 ms (3.9 KiB/s) uboot_overlays: loading /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo ... 1105 bytes read in 207 ms (4.9 KiB/s) uboot_overlays: loading /lib/firmware/BB-HDMI-TDA998x-00A0.dtbo ... 4169 bytes read in 318 ms (12.7 KiB/s) uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo ... 695 bytes read in 219 ms (2.9 KiB/s) uboot_overlays: loading /lib/firmware/AM335X-PRU-UIO-00A0.dtbo ... 853 bytes read in 120 ms (6.8 KiB/s) uboot_overlays: loading /lib/firmware/univ-bbb-EVA-00A0.dtbo ... 54858 bytes read in 233 ms (229.5 KiB/s) loading /boot/initrd.img-4.9.45-ti-r57 ... 5908180 bytes read in 414 ms (13.6 MiB/s) debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ... debug: [bootz 0x82000000 0x88080000:5a26d4 88000000] ... ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Ramdisk to 8fa5d000, end 8ffff6d4 ... OK reserving fdt memory region: addr=88000000 size=76000 Loading Device Tree to 8f9e4000, end 8fa5cfff ... OK Starting kernel ...
I have tried numerous micro SD cards and I'm getting similar results, it appears that the Processor SDK 04.01.00.06 U-boot has an issue with reading from the SD Card. The Processor's U-boot reports a speed of less than 50KB/s when reading the kernel, when compared to the BeagleBone Black's community image read speed of 14MB/s.
Is this a known issue in Processor SDK 04.01.00.06?