So I have been trying to figure this out and have finally manged to find an example that compiles and will boot on the core without an error.
This is for the R5 cores in the MAIN domain, not the MCU domain as I think that probably needs to be setup at boot.
This is all on a Linux host. If using Windows, it will be slightly different.
I have downloaded the PROCESSOR-SDK-RTOS-J721E (1.7G) from the TI website
Extract the file.
By investigating the firmware files on the Beaglebone I narrowed down a couple of possible examples.
make ipc_echo_test_freertos CORE=mcu2_0
built binary is in
copy ipc_echo_test_freertos_mcu2_0_release_strip.xer5f to the beaglebone /lib/firmware
echo ipc_echo_test_freertos_mcu2_0_release_strip.xer5f > /dev/remoteproc/j7-main-r5f0_0/firmware
echo start > /dev/remoteproc/j7-main-r5f0_0/state
I have not yet delved into any detail of what this actually does, but it will load and run.
There are also a lot of other examples, however most so far come back with a boot failed: -22 error when loading the firmware. I think some/many are designed to be run from boot, with no OS.
Perhaps they do actually work, but because they don’t setup rpmsg the kernel thinks they have failed ? No idea what error 22 is.
There is quite a bit of documentation, however not so much to get a bare-bones project up and running.