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: [R5F] Hello World application from tispl.bin

Part Number: SK-AM62-LP

Tool/software:

Hi.

I am using TI-AM62x LP starter kit with SDK version of ti-processor-sdk-linux-am62xx-evm-11.00.09.04. I want to execute the hello world application from R5F via SPL boot flow.
I have followed the steps mentioned in the below link:
https://dev.ti.com/tirex/explore/node?node=A__AZNhqJdyJ3LM.YBw-Z2UAw__AM62-ACADEMY__uiYMDcq__LATEST

But I couldn't see the hello world application in MCU UART:

I have did the below changes in the file arch/arm/dts/k3-am625-sk-binman.dtsi under SDK ti-processor-sdk-linux-am62xx-evm-11.00.09.04/board-support/ti-u-boot-2025.01+git


Please let me know the solution for this.

Thank you,
Regards,
Salih

  • Hi, the domain expert is out of office for the next two weeks. Please expect delayed response.

  • Hello Salih,

    I am going to be very limited in the support I can offer this week, but I will try to check in every couple of days until I am back in the office next week.

    First, let's test to see if you are actually loading the new firmware or not.

    Please show me your terminal output on boot - I want to see if Linux is able to attach to the DM R5F or not, and if Linux is able to set up the virtio buffers and other parts of RPMsg communication.

    You can also try running the out-of-the-box IPC demo, as per the AM62x academy > Linux > IPC Example
    https://dev.ti.com/tirex/explore/node?node=A__AXINfJJ0T8V7CR5pTK41ww__AM62-ACADEMY__uiYMDcq__LATEST 

    The default hello world project should not have RPMsg IPC enabled. So if you see the remoteproc & rpmsg drivers able to attach to the DM R5F and set up the rpmsg VIRTIO buffers, that tells you that you are still loading the default ipc_echo_test firmware.

    Regards,

    Nick

  • EDIT: You are not loading the hello world example

    taking another look at your screenshot. You see the output [IPC RPMSG ECHO]? That is from the default IPC Echo example. So you are not loading the hello world project. Please make sure that the output files are getting properly generated, and then copied to your boot partition.

    Regards,

    Nick

  • Hi Nick,

    Can you let me know how to confirm my output files getting properly generated?. Are you talking about the hello_world binary or U-boot binary?.
    I'm very sure that I have followed the procedure which mentioned in the above TI link. Also, the below procedure is working for me.

    https://dev.ti.com/tirex/explore/node?node=A__AXINfJJ0T8V7CR5pTK41ww__AM62-ACADEMY__uiYMDcq__LATEST 


    I have attached Linux console messages below:

    Thanks in advance.

    Regards,
    Salih

  • Hello ,

    Here is the output of R5F when we flashed through SBL.

    @Salih, we have attached the ref output as requested. 

    /Subhan

  • Good, so you are able to successfully load the expected DM R5F binary through SBL.

    Hello Salih,

    Your outputs show that with SPL boot, the DM R5F is running the IPC Echo example, not the Hello World example.

    Make sure you are using a stripped MCU+ SDK binary file

    This part of my document needs to be updated:
    Find the new DM firmware binary that ends in .wkup-r5f0_0.release.strip.out

    This is the stripped version of the MCU+ binary file that is auto-generated with the build for the IPC Echo project. However, not all MCU+ projects provide a stripped version of the binary. Off the top of my head I'm not sure if it is done for hello world. This is what I had to do to create a stripped binary with the empty project when I was testing:

    For the empty project, you need to take the .out file, and strip it like this:

    /home/<user>/ti/ti-cgt-armllvm_3.2.2.LTS/bin/tiarmstrip -p empty.release.out -o=empty.tiarmstrip.out

    Make sure you are updating the binman file

    It looks like you are modifying this section?

    &binman {
            ti-dm {
                    filename = "ti-dm.bin";
                    blob-ext {
                            filename = "ti-dm/am62xx/ipc_echo_testb_mcu1_0_release_strip.xer5f";
                            optional;
                    };
            };
    

    And you made sure to copy that file to
    board-support/prebuilt-images/am62xx-evm/ti-dm/am62xx/<filename> so that Binman can find it?

    Make sure you are copying over tispl.bin 

    This is the uboot output file that includes the DM R5F file.

    You want to copy this into the Boot partition (i.e., NOT the boot folder that is inside the Linux filesystem).

    If you are still not seeing the DM R5F firmware update... 

    Please attach your terminal output that you see when doing a uboot build.

    Regards,

    Nick