This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3894 booting uImage with microsd

Hi,

Booting device with microsd. U-boot loading is successful, but uImage not loading.

U-boot error:
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!

Try booting uImage with TFTP, all right.
Microsd create with tool: mksd-ti816x.sh EZDK-5-05-02-00.

Thanks.

  • Hi Sergey,

    Can you try with the ti-ezsdk_dm816x-evm_5_05_02_00/bin/mksdboot.sh tool?

    See ti-ezsdk_dm816x-evm_5_05_02_00/docs/DM816x_EZ_Software_Developers_Guide.pdf, section 6.7 How to create an SD card for more info

    BR
    Pavel
  • Note also that the last version of EZSDK tested on AM389x device is ti-ezsdk_dm816x-evm_5_04_00_11
  • Hi Pavel,
    I am dowload last version SDK (EZDK-5-04-00-11). Build new u-boot, try doing what you said. Result the same.

    Thanks.
  • Sergey,

    There is no need to build new u-boot when you are using the mksdboot.sh. This script is taking the u-boot and linux kernel from the pre-built folder:

    ti-ezsdk_dm816x-evm_5_04_00_11/board-support/prebuilt-images/

    Please provide me your flow step-by-step.

    Regards,
    Pavel
  • Pavel,
    I am use custom board with DDR2 and u-boot in prebuilt-image unsuitable in my board. I am build new MLO and u-boot with my settings. Then i am replaced u-boot and MLO in folder prebuilt-image. Then used command: sudo ${EZSDK}/bin/mksdboot.sh --device /dev/sdb --sdk ${EZSDK}

    Thanks.
  • Sergey,

    Can you try the below flow:

    1. Create card with the mksdboot.sh with the default prebuilt images

    2. Remove MLO, u-boot.bin and uImage from the card

    3. Place your new MLO, u-boot.bin and uImage in the card

    If this does not work, have I try with other MMC/SD card, as this one might be damaged.

    BR
    Pavel
  • Hi Pavel,

    Tried doing as you say with different microsd cards (2Gb, 2Gb, 4Gb(SDHC), 8Gb(SDHC)).
    Results: One of 2Gb Microsd cards - u-boot loading, but uImage not loading (same error). On other cards u-boot not loading:

    U-Boot 2010.06 (Apr 15 2015 - 11:33:05)
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0
    Using default environment
    Hit any key to stop autoboot: 0
    raise: Signal # 8 caught
    ** Can't read from device 0 **
    ** Unable to use mmc 0:1 for fatload **
    ## Starting application at 0x80800000 ...

    All cards before use were formatted: dd if=/dev/zero of=/dev/sdf

    Thanks.
  • Sergey_Kl said:
    Tried doing as you say with different microsd cards (2Gb, 2Gb, 4Gb(SDHC), 8Gb(SDHC)).

    Can you try with 2GByte, 4GByte and 8GByte SD cards? Not with 2Gbit, 4Gbit and 8Gbit.

    Regards,
    Pavel

  • Sergey_Kl said:
    U-Boot 2010.06 (Apr 15 2015 - 11:33:05)
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0
    Using default environment
    Hit any key to stop autoboot: 0

    What do you have when you stop the autoboot? Do you enter into the u-boot prompt?

    BR
    Pavel

  • Pavel Botev said:
    Can you try with 2GByte, 4GByte and 8GByte SD cards?

    Yes, of course.

    Pavel Botev said:
    What do you have when you stop the autoboot? Do you enter into the u-boot prompt?

    u-boot prompt:

    U-Boot 2010.06 (Apr 22 2015 - 09:46:24)

    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0
    Using default environment

    Hit any key to stop autoboot: 0
    TI8168_EVM#
    TI8168_EVM#
    TI8168_EVM#
    TI8168_EVM#
    TI8168_EVM#
    TI8168_EVM#
    TI8168_EVM#print
    bootcmd=mmc rescan 0;fatload mmc 0 0x80800000 u-boot.bin;go 0x80800000
    bootdelay=10
    baudrate=115200
    autoload=yes
    stdin=serial
    stdout=serial
    stderr=serial
    ver=U-Boot 2010.06 (Apr 22 2015 - 09:46:24)

    Environment size: 198/8188 bytes
    TI8168_EVM#boot
    raise: Signal # 8 caught
    ** Can't read from device 0 **

    ** Unable to use mmc 0:1 for fatload **
    ## Starting application at 0x80800000 ...

  • Sergey,

    Sergey_Kl said:

    TI8168_EVM#print
    bootcmd=mmc rescan 0;fatload mmc 0 0x80800000 u-boot.bin;go 0x80800000
    bootdelay=10
    baudrate=115200
    autoload=yes
    stdin=serial
    stdout=serial
    stderr=serial
    ver=U-Boot 2010.06 (Apr 22 2015 - 09:46:24)

    Environment size: 198/8188 bytes

    Below is what I have when I run the mksdboot.sh script on my MMC/SD card:

    TI8168_EVM#print
    bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else echo In case ENV on MMC/SD is required; echo Please put a valid script named boot.scr on the card; echo Refer to the User Guide on how to generate the image; fi; else echo Please set bootargs and bootcmd before booting the kernel; echo If that has already been done please ignore this message; fi
    bootdelay=3
    baudrate=115200
    autoload=no
    verify=yes
    bootfile=uImage
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${script_addr}
    ethaddr=40:5f:c2:63:a2:30
    ethact=DaVinci EMAC
    ver=U-Boot 2010.06 (Dec 24 2012 - 20:11:30)

    Environment size: 742/8188 bytes

    Are you sure you are using this script?


    Can you try the below flow?

    TI8168_EVM#mmc rescan 0
    raise: Signal # 8 caught
    TI8168_EVM#fatload mmc 0 0x81000000 uImage
    reading uImage

    2566084 bytes read
    TI8168_EVM#bootm 0x81000000
    ## Booting kernel from Legacy Image at 81000000 ...
       Image Name:   Arago/2.6.37-psp04.04.00.01/dm81
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2566020 Bytes = 2.4 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Regards,
    Pavel

  • Pavel,

    Pavel Botev said:
    Can you try the below flow?

    TI8168_EVM#print
    bootcmd=if mmc rescan 0; then if run loadbootscript; then run bootscript; else echo In case ENV on MMC/SD is required; echo Please put a valid script named b
    oot.scr on the card; echo Refer to the User Guide on how to generate the image; fi; else echo Please set bootargs and bootcmd before booting the kernel; echo
    If that has already been done please ignore this message; fi
    bootdelay=3
    baudrate=115200
    autoload=no
    verify=yes
    bootfile=uImage
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${script_addr}
    ethaddr=90:d7:eb:de:72:e2
    ethact=DaVinci EMAC
    ver=U-Boot 2010.06 (Feb 25 2015 - 13:46:24)

    Environment size: 742/8188 bytes
    TI8168_EVM#mmc rescan 0
    raise: Signal # 8 caught
    TI8168_EVM#fatload mmc 0 0x81000000 uImage
    reading uImage
    block read failed: -19
    mmc_send_cmd: timedout waiting for cmddis!
    mmc_send_cmd: timedout waiting for cmddis!

    2566040 bytes read
    TI8168_EVM#bootm 0x81000000
    ## Booting kernel from Legacy Image at 81000000 ...
    Image Name: Linux-2.6.37
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2565976 Bytes = 2.4 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... Bad Data CRC
    ERROR: can't get kernel image!
    TI8168_EVM#

  • Sergey_Kl said:
    TI8168_EVM#fatload mmc 0 0x81000000 uImage
    reading uImage
    block read failed: -19
    mmc_send_cmd: timedout waiting for cmddis!
    mmc_send_cmd: timedout waiting for cmddis!

    This doesn't look good. Can you try with the latest u-boot code base (link below), do you have the same error result?

    You should also double check your board as it might be HW issue. Refer to the AM389x datasheet and DM816x/AM389x EVM schematics.


    See also if the below links will be in help:

    Regards,
    Pavel

  • Pavel thank you for help, u-boot is work.
    I am build new u-boot from:

    Pavel Botev said:

    Second question: Loading kernel stop on "Waiting for root device /dev/mmcblk0p2..."

    I am not use card detect pin on CPU (card detect pin pullup 10KOm on 3.3V). Probably Kernel wait interupt on sd-card.

  • Sergey

    Sergey_Kl said:

    Second question: Loading kernel stop on "Waiting for root device /dev/mmcblk0p2..."

    I am not use card detect pin on CPU (card detect pin pullup 10KOm on 3.3V). Probably Kernel wait interupt on sd-card.

    Please open a new e2e thread for this new question.

    Regards,
    Pavel