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.
Hello TI,
I would like to establish the communication between the R5F0 Core and M4F core on the AM243x SoC. Currently I have a launchpad and using the examples from the SDK "IPCNotify".
But I need to flash the cores for this and I am facing difficulty on how to do this? Could you please let me know the steps on how to flash and debug the example?
In my case, the program always stops at the following line
/* wait for all cores to be ready */
IpcNotify_syncAll(SystemP_WAIT_FOREVER);
please let me know, how to run this example.
Thanks & Regards
Teja
Hi Teja,
Please refer to the documentation that covers Flashing an Example - https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_04_00_17/exports/docs/api_guide_am243x/GETTING_STARTED_FLASH.html
Please refer to the example - https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_04_00_17/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_IPC_NOTIFY_ECHO.html
Note - This example should have all the mentioned cores at above link loaded for this to function properly.
Hope this helps.
Best Regards,
Aakash
Hi Aakash,
Unfortunately, I am not successful after reading the documentation provided by you.
The following are the steps, I followed for flashing and executing the IPC_notify example
1) Import the example projects for both m4F core "m4fss0-0_nortos" and r5f core "r5fss0-0_freertos" to CCS.
2) Build both the projects and launch the target configurations for projects individually.
3) Initially I load the binary of the R5F core as shown below
4) After that I have loaded the binary of the M4F core
But there is no communication between the cores and I dont see any debug info.
Could you please tell us, how to run these examples and establish a communication between the two cores of the Am243x SoC.
if you have any document on how to load multiple binary files on the CPU, i.e. need to load more programs on other CPUs for the example to work as expected. Typically, this is needed for multi-core interprocessor communication (IPC) examples.
This would be great.
Thanks & Regards
Teja
Hi Teja Poorna,
Try importing the system freertos project. Build the same.
During build you will find all the CPUs i.e. mentioned in the table below are compiled and image generated.
r5fss0-0 freertos |
r5fss0-1 nortos |
r5fss1-0 nortos |
r5fss1-1 nortos |
m4fss0-0 nortos |
You have to load and run all the CPUs for this example to work. You must load all the nortos images first and then load the freertos image. After loading is complete, run the nortos images first (no specific order) and then run the freertos image.
Note - This is because R50-0 initiates the communication and other CPUs are in polling mode, waiting to receive the msg provided. This type of loading is very example specific.
That is why to avoid synchronization problems with CCS load approach, I suggested you to load the *.appimage via OSPI boot. All the CPU image combined build will give you single *.appimage. Also the synchronization problems can also be avoided due to OSPI mode of boot.
Hope this helps.
Best Regards,
Aakash
Hi Aakash,
Thanks a lot for the fast reply.
I was able to run the example program and it works.
Can we also dubug each core individually ? if yes, Please let me know.
Thanks & Regards
Teja
Hi Teja,
For more details on multicore debugging refer to the following link - https://software-dl.ti.com/ccs/esd/documents/ccs_multi-core-debug.html#:~:text=options%20(see%20below)-,Debug%20Configurations,in%20the%20Debug%20view%20(Main)
If the image loading is not via CCS, and via OSPI then refer to the FAQ - https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1119575/faq-mcu-plus-sdk-am243x-how-to-debug-sbl_qspi-for-am263-and-am273-or-sbl_ospi-for-am243-or-an-application-which-is-booted-via-ospi-qspi-boot
Hope this helps.
Best Regards,
Aakash
I have a similar application where I'm also not using all of the cores. For my project, I setup the R5F_00 (main) and R5F_01 (remote) for IPC. I didn't use the system project because it doesn't work for my project due to the build steps. Here are the steps I took:
I hope this helps!