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.

SK-AM62A-LP: SK-AM62A-LP: Steps for dfu

Part Number: SK-AM62A-LP

Hello Team,

We are using AM62A34 evm kit in that need to flash the images via USB Device Firmware Upgrade (DFU)  in eMMC. We have checked in forum in that, we have found multiple approach link. so, can you please suggest proper link or steps for that.

Thanks,
Jaimin

  • Hi Jaimin,

    Have you already referred to the following documentation guide

    3.5.3. Flash via USB Device Firmware Upgrade (DFU) — Processor SDK AM62Ax Documentation

    Regards,

    Prashant


  • Hello Prashant,

    We have followed provided details in this Link:- software-dl.ti.com/.../Flash_via_DFU.html


    For Our Board:- SK-AM62A-LP

    Used Default Binaries available in the "uboot-flash-writer/tools/DFU_flash/bin/am62axx-evm/hsfs"

    Host-Machine Output:-
    ====================

    cd /home/einfochips/SICK-Project/DFU-Git/uboot-flash-writer/tools/DFU_flash
    sudo python3 dfu_flash.py -d am62axx-evm -t hsfs -c /home/einfochips/SICK-Project/DFU-Git/uboot-flash-writer/tools/DFU_flash/bin/am62axx-evm/hsfs/my-flash-files.cfg

    <dfu-device-detected.png>

    <cfg-file.png>

    <script-output.png>

    On Serial-Log:-
    =================

    1) dfu-log-on-board.txt

    dfu-log-on-board.txt
    U-Boot SPL 2021.01 (Aug 08 2023 - 15:09:19 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    am62a_init: board_init_f done
    SPL initial stack usage: 13568 bytes
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Trying to boot from DFU
    ###########################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Authentication passed
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment
    
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    init_env from device 10 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 11:09:43, Feb 27 2023
    
    U-Boot SPL 2021.01 (Aug 08 2023 - 15:09:16 +0530)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x53 bootmedia = 0xa bootindex = 0
    Trying to boot from DFU
    ####DOWNLOAD ... OK
    Ctrl+C to exit ...
    Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
    Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
    
    
    U-Boot 2021.01 (Aug 08 2023 - 15:09:16 +0530)
    
    SoC:   AM62AX SR1.0 HS-FS
    Model: Texas Instruments AM62A7 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Board: AM62A-SKEVM rev E3
    DRAM:  4 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    #DOWNLOAD ... OK
    Ctrl+C to exit ...
    ## Info: input data size = 195 = 0xC3
    ##DOWNLOAD ... OK
    Ctrl+C to exit ...
    #####DOWNLOAD ... OK
    Ctrl+C to exit ...
    ####DOWNLOAD ... OK
    Ctrl+C to exit ...
    =>
    


    2) Uart-Log-DFU-Screenshot.png

    As per our understanding, "dfu_flash.py" only starts the board in dfu stage with the u-boot. Correct ?

    It seems that no EMMC-flashing happens with above script execution. Correct?

    Question:-
    1) Above host machine output and serial logs are correct or we missed something in steps?
    2) In flow we didn't find any step which write the rootfs. Please point us which step is writing rootfs.
    3) It seems that given link has some information missing or are related to older EVM (like dfu-mode switch configuration). Is there any steps available which performs below task for us.
    - Set required environment settings for DFU flash
    - Create partitions in eMMC for bootloader and rootfs
    - Write bootloader and rootfs in to emmc and boot from it

    Thanks,

    Jaimin

  • Hello Jaimin,

    All the logs are looking good. The tool boots the board to A53 U-Boot and then flashes the images given in the .cfg file.

    ##DOWNLOAD ... OK
    Ctrl+C to exit ...

    This log tells that the DFU driver on the board received a certain image and flashed it successfully.

    Btw, you should not flash the default images that are there in the tool. Those images are specifically built for DFU and used to boot to A53 U-Boot via DFU. You should flash the images that are there in the SDK.

    2) In flow we didn't find any step which write the rootfs. Please point us which step is writing rootfs.

    For flashing rootfs, you would need to first manually partition the eMMC UDA from A53 U-Boot prompt.

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62AX/09_01_00/exports/docs/linux/Foundational_Components/U-Boot/UG-Memory.html#partitioning-emmc-from-u-boot

    Then, you would need to create a EXT4 filesystem as described here

    [FAQ] SK-AM62: How to flash eMMC using USB DFU on AM62x-SK E2 - Processors forum - Processors - TI E2E support forums

    Then, you can uncomment the rootfs line in the .cfg file to flash rootfs.

    Regards,

    Prashant