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.

J721EXCPXEVM: How to build a custom ipc_echo_test program?

Part Number: J721EXCPXEVM

Tool/software:

Hello, experts. I am encountering challenges in building a custom ipc_echo_test program while testing RPMsg on the J721E board.

Currently, the rpmsg_char_simple described in the Foundational_Components_IPC_J721E is running normally, but I would like to build custom IPC firmware.

I attempted the command make -s ipc_echo_test CORE=mcu2_0 in the <pdk_path>/packages/ti/build directory, but I received the following error:

make: *** No rule to make target 'ipc_echo_test'.  Stop.

I would like to build a custom IPC test program. What steps do I need to follow?

  • Hello, thank you for your response. You mentioned that my compilation command was incorrect. However, I based my command on the sample provided in the documentation. Could you please clarify what is wrong with it?

    In fact, I referred to Method 2 outlined in the command-to-build-ipclld document. Specifically, I used the corresponding build command for Target=example, which is: make -s -j BUILD_PROFILE=<debug/release> BOARD=< j721e_evm > CORE=<core_name> ipc_echo_test_freertos.

    Additionally, I referenced the  loading-remote-firmware section, which indicates that the example name is ipc_echo_test.

    Then,

    I attempted the command make -s ipc_echo_test CORE=mcu2_0 in the <pdk_path>/packages/ti/build directory, but I received the following error:
  • Hello,

    You aren't giving OS in your command,

    make -s -j ipc_echo_test_freertos BUILD_OS_TYPE=freertos BUILD_PROFILE=<debug/release> BOARD=< j721e_evm > CORE=<core_name> 

    Regards

    Tarun Mukesh

  • Hello, I tested your solution and it works perfectly. Thank you very much for your reply.

    That said, I noticed that the name of the executable generated in this way is different from the one shown in the documentation loading-remote-firmware. Specifically, the compiled program is named ipc_echo_test_freertos_<CORE>_<BUILD_PROFILE>.xer5f, whereas the example in the documentation is named ipc_echo_test_<CORE>_<BUILD_PROFILE>.xer5f.

    Perhaps you could consider updating the documentation to reflect this difference and avoid potential confusion.


    Now, I am trying to modify the example program to implement some custom functions. However, I noticed that the corresponding code in the PDK is quite complex, with many macro definitions and numerous global variables. Because of this, I often run into various issues when attempting to build a custom IPC test program by following the documentation writing-helloworld-app-using-ipclld.

    Would it be possible for you to share a simple IPC example that is compilable and runnable? It would be extremely helpful for me to better understand the framework and move forward with my work.

  • Hello,

    Specifically, the compiled program is named ipc_echo_test_freertos_<CORE>_<BUILD_PROFILE>.xer5f, whereas the example in the documentation is named ipc_echo_test_<CORE>_<BUILD_PROFILE>.xer5f.

    sure i will raise an internal ticket to fix this issue.

    Would it be possible for you to share a simple IPC example that is compilable and runnable? It would be extremely helpful for me to better understand the framework and move forward with my work.

    In the current SDK , the example ipc echo test is considered as basic to send and receive sample hello world messages. The variables and definitions in the example are necessary due to different layers in IPC such as RPMSG , VRING , Mailbox etc... 

    The steps mentioned in the link are only done in ipc echo test example along with tasks to receive and send. You can definitely raise an another E2E if you face any trouble while developing a custom IPC example.

    Regards

    Tarun Mukesh