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: Replace the existing R5F firmware binary with the new one

Part Number: SK-AM62

Dear TI Expert,

HW : AM62x SK-EVM

SW : Processor SDK 8.5, MCU SDK 8.5

I'm trying to replace R5 firmware binary with new one I built.(examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk/r5fss0-0_freertos)

I created new tispl.bin as following steps.

https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/08_06_00_42/exports/docs/linux/Foundational_Components_IPC62x.html?highlight=ipc_echo_testb_freertos_mcu1_0_release#getting-started-with-ipc-linux-examples

1). Build R5 fw example

jwook@jwook-Desktop:~/ti/workspace_v12/ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang/Release$ ll
total 3320
drwxrwxr-x 3 jwook jwook    4096  5월  3 11:40 ./
drwxrwxr-x 6 jwook jwook    4096  5월  3 11:11 ../
-rw-rw-r-- 1 jwook jwook  267656  5월  3 11:40 am62-mcu-r5f0_0-fw
-rw-rw-r-- 1 jwook jwook     665  5월  3 11:40 ccsObjs.opt
-rw-rw-r-- 1 jwook jwook    7511  5월  3 11:40 ipc_rpmsg_echo.d
-rw-rw-r-- 1 jwook jwook  145436  5월  3 11:40 ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang.appimage
-rw-rw-r-- 1 jwook jwook      52  5월  3 11:40 ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang.appimage_xip
-rw-rw-r-- 1 jwook jwook 1040966  5월  3 11:40 ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang_linkInfo.xml
-rw-rw-r-- 1 jwook jwook 1340476  5월  3 11:40 ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out
-rw-rw-r-- 1 jwook jwook  145404  5월  3 11:40 ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang.rprc
-rw-rw-r-- 1 jwook jwook      20  5월  3 11:40 ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang.rprc_xip
-rw-rw-r-- 1 jwook jwook  337427  5월  3 11:40 ipc_rpmsg_echo_linux.Release.map
-rw-rw-r-- 1 jwook jwook   15256  5월  3 11:40 ipc_rpmsg_echo.o
-rw-rw-r-- 1 jwook jwook    9864  5월  3 11:40 main.d
-rw-rw-r-- 1 jwook jwook    6148  5월  3 11:40 main.o
-rw-rw-r-- 1 jwook jwook    6500  5월  3 11:40 makefile
-rw-rw-r-- 1 jwook jwook     668  5월  3 11:40 objects.mk
-rw-rw-r-- 1 jwook jwook    2205  5월  3 11:40 sources.mk
-rw-rw-r-- 1 jwook jwook    3601  5월  3 11:40 subdir_rules.mk
-rw-rw-r-- 1 jwook jwook    2932  5월  3 11:40 subdir_vars.mk
drwxrwxr-x 2 jwook jwook    4096  5월  3 11:40 syscfg/
-rw-rw-r-- 1 jwook jwook    9059  5월  3 11:40 temp_stdout_Release.txt

2). R5 firmware file copy

 I copied the "am62-mcu-r5f0_0-fw" file because there was no "ipc_echo_testb_freertos_mcu1_0_release.xer5f" file in Release directory, but I'm not sure if this is correct.

cp ~/ti/workspace_v12/ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang/Release/am62-mcu-r5f0_0-fw <path_to_linux_installer>/board-support/prebuilt-images/ipc_echo_testb_mcu1_0_release_strip.xer5f

3). Build u-boot

make u-boot

4). Flash tispl.bin and u-boot.img

If I try booting after flashing in the above step, device is stuck at the log as shown below.

NOTICE:  BL31: v2.7(release):v2.7.0-359-g1309c6c805-dirty
NOTICE:  BL31: Built : 11:48:12, Dec 14 2022
I/TC:
I/TC: OP-TEE version: 3.19.0-15-gd6c5d0037 (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #1 Wed Dec 14 11:52:03 UTC 2022 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.5.3--v08.05.03 (Chill Capybar')
I/TC: HUK Initialized
I/TC: Activated SA2UL device
I/TC: Fixing SA2UL firewall owner for GP device
I/TC: Enabled firewalls for SA2UL TRNG device
I/TC: SA2UL TRNG initialized
I/TC: SA2UL Drivers initialized
I/TC: Primary CPU switching to normal world boot

Please correct me If i'm wrong. or Please let me know how to replace R5 firmware with new one.

Thanks&Regards,

Jaewook

  • Hi Jaewook,

    I can replicate the issue on my end. I follow the same steps as yours & get the same behaviour.

    Interestingly, if I use the firmware generated by building the IPC example using SDK makefile, then the A53 U-Boot SPL boots fine. Could you please once try the same approach and let me know if it works.

    You can build the IPC example from SDK makefile using the below command run from the MCU+ SDK Installation Directory:

    gmake -s -C examples\drivers\ipc\ipc_rpmsg_echo_linux\am62x-sk\r5fss0-0_freertos\ti-arm-clang all

    Then, use the generated firmware named am62-mcu-r5f0_0-fw to replace the prebuilt one in PSDK.

    Regards,

    Prashant

  • Hello Prashant,

    I used to build it using CCS.

    However it is working well now if I build it using makefile as you said.

    Thanks for the good solution.

    Thanks&Regards,

    Jaewook