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.

TMDS64GPEVM: PRU Firmware

Part Number: TMDS64GPEVM

Hi,

We are evaluating the am64x, and in particular want to evaluate Ethernet/IP and Profinet protocols. 

We will be using Linux as the OS, so would like to get firmware for the PRU cores as well as corresponding Linux driver.

Only place I can find support for so far is the SDK-RTOS but, as mentioned above we want to evaluate this functionality using Linux. Can anyone advise where to find relevant software for Linux support?

Thanks

Brett

  • Hello Brett,

    At this point in time, we only support PRU_ICSSG running standard Ethernet when controlled by the Linux A53 cores. However, Linux can still be running on the A53 cores while the R5F cores control the PRU_ICSSG instance.

    For more information on the Ethernet protocol stacks that are supported through the MCU+ SDK (on the R5F cores), please reference https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/08_04_00_17/exports/docs/api_guide_am64x/INDUSTRIAL_COMMS.html

    Regards,

    Nick

  • Hi Nick,

    Thanks for your reply.

    Sounds like we can get the firmware including appropriate protocol stacks running on the R5F cores independend of Linux on the A53 cores. Please let me know if this is correct so far: Linux running on the A53 cores can load the ti supplied MCU firmware (say for Profinet and Ethernet/IP) into the R5F cores. Next, we want to exchange protocol data (parameters and I/O) between the A53 cores running Linux and the R5F cores via remoteProc or similar (note our requirement is not hard real time). My question: is there a protocol specific API (and documentation) detailing how we actually exchange protocol data and parameters between the A53 (running Linux) and R5F cores?

    Thanks

    Brett

  • Hello Brett,

    That understanding is correct. the R5 firmware can be loaded by Linux with the RemoteProc driver during Linux boot, or by the MCU+ SBL if the R5 cores need to be up before Linux finishes booting.

    We have some existing resources on using RPMsg. Please reference https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/08_04_01_04/exports/docs/linux/Foundational_Components_IPC64x.html

    We are also working on publishing some additional RPMsg resources. For example, we will make a git repo public sometime within the next couple weeks that shows how to use RPMsg with a shared memory region to pass large amounts of data between cores. Longer term, I am working on some additional IPC and multicore documentation.

    Feel free to ask followup questions, and let me know if you want to be notified when either of those resources goes live.

    Regards,

    Nick