AM6422: R5F startup from Linux

Part Number: AM6422

Tool/software:

Hi,

i'm currently working on a project running Yocto Linux on the A53 Cores with some offloaded tasks running on the r5f0_0.

Communication is handled via IPC.

I just wanted to confirm the startup process - our software is running fine, it's just for validation purposes:

The R5F binary is placed in the rootfs of the Linux and started via the device tree link.

How is it being transfered, where to is it being tranfered and how is it executed when started from Linux? Is it run from the ddr4 or is it copied over to the TCM of the R5F?

Thanks in advance!

Regards

Dave

  • Hello Dave,

    Apologies for the delayed responses here.

    Is there a particular reason you are looking for the details "under the hood" here?

    Background information

    As some background, we support 3 primary methods of initializing the non-Linux cores (or "remote cores") on AM64x. Please refer to the AM64x academy's Multicore module for more information about boot methods and core initialization methods:
    Booting and Disabling Processor Cores: https://dev.ti.com/tirex/explore/node?node=A__AbGt66xlJYuq-VIL-2YzSA__AM64-ACADEMY__WI1KRXP__LATEST

    I'm the guy who wrote the Multicore module. Lots of good information in there, I would suggest reading through it as you ramp on your design. If you have any questions about other content in the multicore module, feel free to create a separate thread and that will also get assigned back to me.

    Information I know off the top of my head

    If you are using the default initialization method of Linux remoteproc driver initializing cores during Linux boot or runtime, I am not sure off the top of my head how the binary data is loaded.

    If you are using the uboot rproc initialization method, then you first load the firmware into DDR, and from there load the firmware into the remote core. See the academy link above to get pointed to more information.

    Regards,

    Nick