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.

AM625:Yocto DFU

Part Number: AM625

Tool/software:

Hardware: Ti AM6252 (customized)
System SDK version: 10.01.10.04

Hello everyone
I would like to ask some questions about Ti AM6252:

Because I am currently using Yocto environment to build, not using ti-processor-sdk-linux-am62xx-evm-10.01.10.04-Linux-x86-Install.bin bin file to generate SDK, so I want to know how to generate each file when DFU is burned into eMMC under Yocto?

Data files required for DFU burning
Enter DFU certification
1. tiboot3.bin
2. tispl.bin
3. u-boot.img
4. uEnv.txt
Execute the official burning of the main program
1. tiboot3.bin
2. tispl.bin
3. u-boot.img
4. ti_rootfs.ext4

Please help everyone ~ ~ Thank you ~ ~

  • hi!

    DFU is the process/tooling to program images to media such as eMMC. For this, U-Boot is used as device-side tooling and needs to be build using a special configuration (by including `am62x_r5_usbdfu.config` and `am62x_a53_usbdfu.config`), as per SDK documentation.

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_01_10_04/exports/docs/linux/Foundational_Components/U-Boot/UG-DFU.html
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_01_10_04/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html#build-u-boot-label

    Is your question regarding how to generate an DFU-capable U-Boot stack using Yocto, rather than manually?

    As for booting from the eMMC itself once your application image is programmed, no special DFU-capable bootloader is required; the standard U-Boot configuration from our SDK/Yocto build should be sufficient for eMMC boot.

    Regards, Andreas

  • Hi Andreas,

    thanks for your reply

    Now I know that I need to use `am62x_r5_usbdfu.config` and `am62x_a53_usbdfu.config` for DFU construction, but I don't know in which path `am62x_r5_usbdfu.config` and `am62x_a53_usbdfu.config` are located, and I don't know whether the subsequent burned files (tiboot3.bin, tispl.bin, u-boot.img, ti_rootfs.ext4) are in the SDK path (/home/user/tisdk/build/deploy-ti/images/am62xx-evm/).

    Thank you ~ ~

  • Hi Yaohui,

    To build a DFU-capable U-Boot to use as a programming tool you would typically use the SDK to build that, there's no need to use Yocto for this (but you can, if needed-- just more steps/work). Did you review the two documentation links I posted earlier? They should have all the instructions in there that are needed.

    The only noteworthy thing in there is that for building U-Boot SPL for R5 (a.k.a. "tiboot3.bin") for DFU you need to specify both am62x_evm_r5_defconfig and am62x_r5_usbdfu.config when configuring U-Boot, in the same command, like this.

    cd $UBOOT_DIR
    
    # R5
    # To build tiboot3.bin. Saved in $UBOOT_DIR/out/r5
    $ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" am62x_evm_r5_defconfig am62x_r5_usbdfu.config O=$UBOOT_DIR/out/r5
    $ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" O=$UBOOT_DIR/out/r5 BINMAN_INDIRS=$TI_LINUX_FW_DIR
    
    <...continue as per https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_01_10_04/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html#build-u-boot ...>

    U-Boot is located at `<SDK_INSTALL_DIR>/board-support/u-boot-extras-jailhouse-2024.04+git/` for that particular AM62x SDK v10.01.10.04 you are wanting to use.

    Regards, Andreas

  • 你好,安德烈亞斯,

        我不太明白如何填寫以下內容
    $ export UBOOT_DIR=<path-to-ti-u-boot>
    $ export TI_LINUX_FW_DIR=<path-to-ti-linux-firmware> $ export TFA_DIR=<path-to-arm-trustede-firmware>
    $op export TFA_DIR=<path-to-arm-trute-firmware> $opp-f-ware> $op-Tg-to-arm-trude-firmware> $opp-f-ware
    > $op-Tp-to-arm

    Assuming I don't use SDK, I want to use Yocto environment to build DFU compilation tool. Is there any relevant process description?

    Please help again ~ ~ Thank you ~ ~