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-AM62-LP: SK-am62-lp

Part Number: SK-AM62-LP
Other Parts Discussed in Thread: UNIFLASH

Tool/software:

Hi Team,

I have installed ti-processor-sdk-linux-am62xx-evm-10.00.07.04 in Linux. and modify the configuration file to flash emmc through UART. below is the configuration file used.

hsm@c001149862:~/ti/bin/uart_uniflash/bin/am62xx-lp-evm$ ls
example_sbl_ospi_nand_linux_hs.cfg     sbl_uart_uniflash_stage1.release.hs_fs.tiimage  sbl_uart_uniflash_stage2.release.appimage.hs     sbl_uart_uniflash_stage2.release.appimage.hs_fs.tmp
example_sbl_ospi_nand_linux_hs_fs.cfg  sbl_uart_uniflash_stage1.release.hs.tiimage     sbl_uart_uniflash_stage2.release.appimage.hs_fs  sbl_uart_uniflash_stage2.release.appimage.hs.tmp
hsm@c001149862:~/ti/bin/uart_uniflash/bin/am62xx-lp-evm$ cat example_sbl_ospi_nand_linux_hs_fs.cfg
#-----------------------------------------------------------------------------#
#                                                                             #
#      EXAMPLE CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT      #
#                                                                             #
#-----------------------------------------------------------------------------#
#
# - You can customized this config file to point to your own bootloader and/or application images
# - You can use --operation=flashverify if you just want to verify the flash contents and not flash the file.
#   how to use: python uart_uniflash.py -p {name of your UART com port} --cfg={path to your edited config file}
#   help: python uart_uniflash.py --help
#

# First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary
--flash-writer=/home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage1.release.hs_fs.tiimage

# When sending sbl_uart_uniflash_stage2 binary make sure to flash at SOC memory offset 0x0.
# Points to sbl_uart_uniflash_stage2 binary, which function's as a server to flash one or more
--file=/home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0

# Now send one or more files to flash or flashverify as needed. The order of sending files does not matter

# Flash tiboot3.bin
--file=/home/u_hsm/git_repos/az24266ssp-linux-is7_kernal/image-a/am62x-bootloader/hs-fs/tiboot3.bin --operation=flash-emmc --flash-offset=0x0

# Flash tispl.bin
--file=/home/u_hsm/git_repos/az24266ssp-linux-is7_kernal/image-a/am62x-bootloader/hs-fs/tispl.bin --operation=flash-emmc --flash-offset=0x80000

# Flash u-boot.img
--file=/home/u_hsm/git_repos/az24266ssp-linux-is7_kernal/image-a/am62x-bootloader/hs-fs/u-boot.img --operation=flash-emmc --flash-offset=0x280000
hsm@c001149862:~/ti/bin/uart_uniflash/bin/am62xx-lp-evm$

and set board boot mode as UART, try to flash using sbl_uart_uniflash.py with above attached cfg file. below is the error facing.

hsm@c001149862:~/ti/bin/uart_uniflash$
hsm@c001149862:~/ti/bin/uart_uniflash$ python3.8 uart_uniflash.py -p /dev/ttyUSB0 --cfg=/home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/example_sbl_ospi_nand_linux_hs_fs.cfg

Parsing config file ...
Parsing config file ... SUCCESS. Found 5 command(s) !!!

Executing command 1 of 5 ...
Found flash writer ... sending /home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage1.release.hs_fs.tiimage
Sent flashwriter /home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage1.release.hs_fs.tiimage of size 246676 bytes in 24.54s.

Executing command 2 of 5 ...
Command arguments : --file=/home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0
Sending /home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage2.release.appimage.hs_fs: 122468bytes [00:13, 10718.41bytes/s]error_count reached 16, aborting.
Sending /home/u_hsm/ti/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage2.release.appimage.hs_fs: 122470bytes [00:13, 10718.41bytes/s]
[ERROR] XMODEM recv failed, no response OR incorrect response from EVM OR cancelled by user,
Power cycle EVM and run this script again !!!
hsm@c001149862:~/ti/bin/uart_uniflash$

Could you please help me on this. thanks

  • My board is HS_FS.

  • Hi, the prebuilt binaries are meant for TI EVMs only. So, are you using a TI SK-LP EVM or a custom board?

  • I'm using TI SK-LP EVM only not custom board.

  • In that case, can you try the following UART_UNIFLASH images?

    6281.images.zip

  • hsm@c001149862:~/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash$ python3.8 uart_uniflash.py -p /dev/ttyUSB0 --cfg=/home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/example_sbl_ospi_nand_linux_hs_fs.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 5 command(s) !!!
    
    Executing command 1 of 5 ...
    Found flash writer ... sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage1.release.hs_fs.tiimage
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage                                                                                                                                Sent flashwriter /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage1.release.hs_fs.tiimage of size 249016 bytes in 25.57s.
    
    Executing command 2 of 5 ...
    Command arguments : --file=/home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage2.release.appimage.hs_fs --operation=flash --flash-offset=0x0
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stageSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage                                                                                                                                Sent /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash/bin/am62xx-lp-evm/sbl_uart_uniflash_stage2.release.appimage.hs_fs of size 128079 bytes in 15.59s.
    [STATUS] SUCCESS !!!
    
    Executing command 3 of 5 ...
    Command arguments : --file=/home/u_hsm/git_repos/az24266ssp-linux-is7_kernal/image-a/am62x-bootloader/hs-fs/tiboot3.bin --operation=flash-emmc --flash-offset=0x0
    Sending /home/u_hsm/git_repos/az24266ssp-linux-is7_kernal/image-a/am62x-bootloader/hs-fs/tiboot3.bin:   0%| | 0/313118 [00:00<?,send error: error_count reached 10, aborting.
    Sending /home/u_hsm/git_repos/az24266ssp-linux-is7_kernal/image-a/am62x-bootloader/hs-fs/tiboot3.bin:   0%| | 2/313118 [01:50<95
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!
    hsm@c001149862:~/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash$
    hsm@c001149862:~/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/bin/uart_uniflash$
    
    I have tried using above images its flashing 2 stage also, but now i'm facung error with U-boot images. mentioned above.

  • Now I'm able to flash u-boot image using UART uart_uniflash.py successfully.

    But I have flashed tiboot3.bin at offset=0x0, tispl.bin at offset=0x80000, tispl.bin at offset=0x280000 and uEnv.txt at 0x680000, board started booting up.

    I have question, I want to flash kernel image, dtb file and rootfs, so at what address I have to flash at emmc, could you please help on the emmc memory layout of am62x-lp-sk evm.

  • I have to flash uEnv.txt, kernel image, dtb file and rootfs to emmc using UART uart_uniflash.py So I need a proper address to flash. in am62x.lp-sk eval board.

  • The Linux Kernel & DTB are part of the Rootfs itself. And the rootfs cannot be flashed using UART owing to its large size. You would need to leverage a high speed media to flash rootfs as previously conveyed.

  • OK I will try to use one of the high speed media to flash rootfs as you seggested.

    But I have flashed u-boot images as mentioned in emmc layout below, but its not booting. 

    When I use the tiboot3.bin at 0x00, tispl.bin at 0x80000 and u-boot.img at 0x280000 its started booting. So please help me on this.

  • Because the offsets mentioned in the eMMC layout are block offsets (expected by U-Boot) while the offsets in the cfg file are raw offsets (expected by UART_UNIFLASH).

    The raw offsets are obtained by multiplying the block offset with the block size (512B).

  • Could you please send me the rootfs for am62x-lp-sk evam board, so that i will try to flash it at 0x2000000 address.

  • The Rootfs filesystem already comes as part of the PSDK installation

    ~/ti/psdk/am62x/10.00.07.04
    ❯ ls -l filesystem/am62xx-lp-evm
    .rw-r--r--  94M p-shivhare tisdk-base-image-am62xx-lp-evm.rootfs.tar.xz
    .rw-r--r-- 149M p-shivhare tisdk-thinlinux-image-am62xx-lp-evm.rootfs.tar.xz
    .rw-r--r--  17M p-shivhare tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio

  • Hi Prashant
    I have tried to flash tiny flash initramfs (below) using uart_uniflash.py.
    -rw-r--r-- 1 hsm users  17213952 Jun 13 14:07 tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio  (having less size compared to normal rootfs)

    But its failing. could you help on this.

    Executing command 7 of 7 ...
    Command arguments : --file=/home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio --operation=flash-emmc --flash-offset=0x2000000
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpiSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpi
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpiSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpi
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpiSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpi
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpiSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpi
    Sending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpiSending /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpi
    Sent /home/u_hsm/ti/ti-processor-sdk-linux-am62xx-evm-10.00.07.04/filesystem/am62xx-lp-evm/tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio of size 17213952 bytes in 1616.75s.
    [STATUS] ERROR: Flashing failed !!!

  • Hello,

    The tiny filesystem is meant to be used as an initramfs. You would need to use the base or default filesystem according to your requirements. In any case, you can not use the UART_UNIFLASH for flashing any of them. You would have to flash the rootfs by one of the previously conveyed methods.

    e2e.ti.com/.../sk-am62b-p1-correct-way-to-flash-the-rootfs-into-the-emmc