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: EMMC to Barmetal Code

Part Number: AM625
Other Parts Discussed in Thread: UNIFLASH

Hi,

We have been using this method in the below link to do eMMC to bare-metal loading for the last 3 months, but today when we tried it is not working.

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1303720/sk-am62-emmc-to-barmetal-code/5023555?tisearch=e2e-sitesearch&keymatch=%2520user%253A545048#5023555

Here I am attaching the screenshot of the error. Please help me with this

(i) MCU+SDK Version 9.0 + TI PROCESSOR SDK 9.0

multistage2 emmc main.c file edit then compiled 

emmc cfg file below:

#-----------------------------------------------------------------------------#
#                                                                             #
#      DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT      #
#                                                                             #
#-----------------------------------------------------------------------------#
#
# By default this config file,
# - points to pre-built flash writer, bootloader for this EVM
# - The application image points to relative path of the ipc rpmsg linux application image for this EVM
#   - Make sure this application is built before running this script
# - You can customized this config file to point to your own bootloader and/or application images
# - You can use --operation=flashverify-emmc if you just want to verify the flash contents and not flash the file.
#


# First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary
--flash-writer=sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.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 files to eMMC
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_00_00_19/examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage --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

# When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0 of eMMC
--file=sbl_prebuilt/am62x-sk/sbl_emmc_linux_stage1.release.tiimage --operation=flash-emmc --flash-offset=0x0

# 2nd stage bootloader is flashed at 0x80000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_00_00_19/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage --operation=flash-emmc --flash-offset=0x80000

# When sending application image, make sure to flash at offset 0x100000 (default) or to whatever offset your bootloader is configured for
--file=/home/bpt/workspace_v12/gpio_led_blink_am62x-sk_m4fss0-0_freertos_ti-arm-clang/Debug/gpio_led_blink_am62x-sk_m4fss0-0_freertos_ti-arm-clang.appimage --operation=flash-emmc --flash-offset=0x100000

# HSM image is flashed at 0x800000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_00_00_19/tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage --operation=flash-emmc --flash-offset=0x800000

# DM image is flashed at 0xa00000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_00_00_19/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage --operation=flash-emmc --flash-offset=0xA00000

# Linux image is flashed at 0xC00000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_00_00_19/tools/boot/linuxAppimageGen/board/am62x-sk/linux.appimage --operation=flash-emmc --flash-offset=0xC00000

(ii) MCU+SDK Version 9.1 + TI PROCESSOR SDK 9.0

emmc cfg file below:

#-----------------------------------------------------------------------------#
#                                                                             #
#      DEFAULT CONFIGURATION FILE TO BE USED WITH THE FLASHWRITER SCRIPT      #
#                                                                             #
#-----------------------------------------------------------------------------#
#
# By default this config file,
# - points to pre-built flash writer, bootloader for this EVM
# - The application image points to relative path of the ipc rpmsg linux application image for this EVM
#   - Make sure this application is built before running this script
# - You can customized this config file to point to your own bootloader and/or application images
# - You can use --operation=flashverify-emmc if you just want to verify the flash contents and not flash the file.
#


# First point to sbl_uart_uniflash_stage1 binary, which initialises DDR and receives sbl_uart_uniflash_stage2 binary
--flash-writer=sbl_prebuilt/am62x-sk/sbl_uart_uniflash_stage1.release.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 files to eMMC
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_01_00_39/examples/drivers/boot/sbl_uart_uniflash_multistage/sbl_uart_uniflash_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_uart_uniflash_stage2.release.appimage --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

# When sending bootloader make sure to flash at offset 0x0. ROM expects bootloader at offset 0x0 of eMMC
--file=sbl_prebuilt/am62x-sk/sbl_emmc_linux_stage1.release.tiimage --operation=flash-emmc --flash-offset=0x0

# 2nd stage bootloader is flashed at 0x80000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_01_00_39/examples/drivers/boot/sbl_emmc_linux_multistage/sbl_emmc_linux_stage2/am62x-sk/r5fss0-0_nortos/ti-arm-clang/sbl_emmc_linux_stage2.release.appimage --operation=flash-emmc --flash-offset=0x80000

# When sending application image, make sure to flash at offset 0x100000 (default) or to whatever offset your bootloader is configured for
--file=/home/bpt/workspace_v12_5/ipc_rpmsg_echo_linux_am62x-sk_m4fss0-0_freertos_ti-arm-clang/Debug/ipc_rpmsg_echo_linux_am62x-sk_m4fss0-0_freertos_ti-arm-clang.appimage --operation=flash-emmc --flash-offset=0x100000

# HSM image is flashed at 0x800000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_01_00_39/tools/boot/HSMAppimageGen/board/am62x-sk/hsm.appimage --operation=flash-emmc --flash-offset=0x800000

# DM image is flashed at 0xa00000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_01_00_39/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.release.appimage --operation=flash-emmc --flash-offset=0xA00000

# Linux image is flashed at 0xC00000 or to whatever offset your bootloader is configured for
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_01_00_39/tools/boot/linuxAppimageGen/board/am62x-sk/linux.appimage --operation=flash-emmc --flash-offset=0xC00000

# u-boot.img is flashed at 0x280000
--file=/home/bpt/ti/mcu_plus_sdk_am62x_09_01_00_39/tools/boot/linuxAppimageGen/board/am62x-sk/u-boot.img --operation=flash-emmc --flash-offset=0x280000

Regards,

Veerapandyan V