SK-AM62-LP: Clarification on USB-DFU usage with AM62x

Part Number: SK-AM62-LP

Tool/software:

Hi Team,

We are using the USB-DFU utility in peripheral mode.
Is it possible to flash eMMC with u-boot.img, kernel.img, and the root filesystem etc. using USB-DFU in this mode?

We followed the reference document and were able to flash U-Boot, but after a power cycle it disappears.
Does this mean USB-DFU is only meant to bring up a temporary U-Boot prompt, which can then be used to flash images into eMMC?

Could you please help us better understand the correct usage of dfu-util on AM62x?


Regards,
Gopal Sharma

  • Hi Gopal,

    The doc you referred is for DFU boot. Please check the following doc for DFU flashing.

     [FAQ] SK-AM62: How to flash eMMC using USB DFU on AM62x-SK E2 

  • Hi Bin Liu,

    Thank you for your support.

    We also shared the post below to confirm the minimal required hardware for flashing:
    Link
    Could you please confirm if the method described there is the same as the one you shared, or if it is different?




    Regards,
    Gopal Sharma

  • Hi Gopal,

    Yes, ROM only supports DFU on USB0, not on USB1 interface.

  • Hi Bin Liu,

    Thank you for your support.

    We followed the setup steps from the provided link and were able to prepare the environment successfully. However, we faced an issue while compiling BL32 (tee-pager_v2.bin).

    We tried the following command:

    make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" \
        BL31=$TFA_DIR/build/k3/lite/release/bl31.bin \
        TEE=$OPTEE_DIR/out/arm-plat-k3/core/tee-pager_v2.bin \
        O=$UBOOT_DIR/out/a53 \
        BINMAN_INDIRS=$TI_LINUX_FW_DIR
    


    Note:
    According to the TI forums (link),the recommended solution for OP-TEE compilation errors is to install a separate toolchain rather than using the TI Processor SDK toolchain.

    To avoid installing an additional toolchain, we instead used the default bl32.bin provided in the SDK. The following command worked for us:

    make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" \
        BL31=$TFA_DIR/build/k3/lite/release/bl31.bin \
        TEE=$TI_LINUX_FW_DIR/bl32.bin \
        O=$UBOOT_DIR/out/a53 \
        BINMAN_INDIRS=$TI_LINUX_FW_DIR
    


    With this approach, we were able to generate the required binaries successfully.
    However, we are now stuck at the following command:

    Could you please suggest how to resolve this issue?

    Regards,
    Gopal Sharma

  • Hi Gopal,

    However, we faced an issue while compiling BL32 (tee-pager_v2.bin).

    I guess you meant you faced an issue while compiling U-Boot (not BL32)?

    Can you please try to build U-Boot from the SDK downloaded from ti.com?

    To build the SDK U-Boot with USB DFU enabled, please first change Rules.make in the SDK top level directory as following:

    - UBOOT_MACHINE_R5=am62x_evm_r5_defconfig
    + UBOOT_MACHINE_R5=am62x_evm_r5_defconfig am62x_r5_usbmsc.config

    then run command 'make u-boot' at the SDK top level directory to compile U-Boot with DFU enabled.

  • Hi Bin Liu,

    Sorry for the delay. We have been busy with some other threads with TI that are more important at the moment.
    We will continue with this thread after some time.

    Regards,
    Gopal Sharma