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.

[FAQ] Does the DM R5F need to run the IPC Echo demo task?

Other Parts Discussed in Thread: AM67, AM67A

This is a companion FAQ for

 [FAQ] [Alert] DM R5F can crash in certain conditions: AM62x, AM62Ax, AM62Dx, AM62Px, AM67, AM67A  

Please read the alert first. You can also find more information in the main FAQ here:

 [FAQ] DM R5F can crash in certain conditions: AM62x, AM62Ax, AM62Dx, AM62Px, AM67, AM67A  

This FAQ applies to AM62x, AM62Ax, AM62Dx, AM62Px.

The default prebuilt firmware running on the DM R5F core uses the MCU+ SDK ipc_rpmsg_echo_linux project. Is it important that the DM R5F is running this specific project?

  • No. The DM R5F can run other projects as well.

    Processors with a DM R5F need the device manager (DM) task to be running on the DM R5F. So you DO need a firmware loaded and running on the DM R5F. And that firmware needs to start the DM task by calling sciServer_init(). But that firmware does not need to be the MCU+ SDK ipc_rpmsg_echo_linux project.

    For more information about DM R5F development, refer to the processor academy > Multicore > Application Development on Remote Cores > Developing on the DM R5F
    AM62x || AM62Ax || AM62Px

  • What is the IPC_Echo demo used for?

    The TI Linux developers use the IPC Echo demo for software validation (i.e., is the non-Linux core running, and are the Linux drivers able to successfully interact with the non-Linux core).

    A customer could also use the IPC Echo task as a starting point for developing custom DM R5F code that ran alongside the DM task. The customer would then replace the ipc_rpmsg_echo_linux firmware with their custom firmware.

    Since this demo code is only really used during development, the IPC Echo task does not actually do anything during a normal customer usecase.

  • Wait a minute. The DM task is communicating with all the processor cores, right? How does the DM task do inter-processor communication (IPC)?

    The DM task hosts a SciServer. All resource management & power management requests between the rest of the processor and the DM task are TI-SCI messages, not RPMessage messages. So normal device operation is not dependent upon RPMsg between the DM R5F & Linux.

  • Why is the ipc_rpmsg_echo_linux project used for the prebuilt binary?

    We evaluated replacing the prebuilt ipc_rpmsg_echo_linux binary with a prebuilt "empty" binary (i.e., only DM task, no other tasks running). However, at this point in time, there is a lot of Linux infrastructure in a lot of different places that relies on a prebuilt binary named "ipc_echo_testb_mcu1_0_release_strip.xer5f". We decided that it would be too much work, and too much confusion for customers, to replace the default firmware.

    Customers or FAEs who are comfortable with MCU+ development could replace the prebuilt ipc_echo_testb_mcu1_0_release_strip.xer5f binary with a different binary, like the empty project. For more information, refer to  [FAQ] How to ensure that the DM task is the only code running on the DM R5F? 

  • I do not want to build my own MCU+ firmware. Are there any other prebuilt DM R5F binaries that I can use?

    AM62x, AM62Px, AM67, AM67A

    At this point in time, ipc_rpmsg_echo_linux is the only project with an "official" prebuilt binary.

    This FAQ provides guidance on how to modify the empty project to run on the same processor as a Linux A53 core. It also includes several prebuilt binary files:
    [FAQ] How to ensure that the DM task is the only code running on the DM R5F? 

    AM62Ax

    The VPAC/ISP firmware is the other "official" prebuilt binary. It is located in the AM62Ax Linux SDK at board-support/prebuilt-images/ti-dm/am62axx/ipc_echo_testb_mcu1_0_release_strip.xer5f. This firmware is generated from AM62Ax Firmware Builder instead of the MCU+ SDK.