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.

F29H850TU: Selecting best IPC approach

Part Number: F29H850TU

Tool/software:

This question is regarding IPC implementation on the F29. We are currently using F29H85x-SDK 1.01.00.00 and need to transfer data from core 1 to core 3 and vice versa.

The F29H85x-SDK has several multicore IPC examples:

  • ipc_ex2_basic_cpu1_cpu3_multi
  • ssuIpc_ex1_basic_cpu1_cpu3_multi
  • Ipc_Hal_Example_Interrupt_C29x3

I'm new to the F29 and trying to understand the pros/cons of the three different IPC examples to determine which technique to use in our design. We have an example of ipc_ex2_basic_cpu1_cpu3_multi working.

Is there any guidance available to help determine the pros and cons of these three approaches to find the best solution for an application?

  • Hi Robert,

    ipc_ex2_basic_cpu1_cpu3_multi is the most basic example to use IPC, it shows the basics of IPC and how data can be transferred between the CPU's

    ssuIpc_ex1_basic_cpu1_cpu3_multi is as multi-core example demonstrating how a shared APR can be used to protect data transfer between two CPUs

    ipc_Hal_Example_Interrupt_C29x3 is an example on how how to configure IPC and pass information between CPU1 running MCAL to CPU3 running SDK core. This example can only be used in parallel with the Cdd_Ipc_Example_Interrupt_C29x1 running on C29x1.

    I would recommend using the basic example and building off of it if you are new to IPC. I would also recommend you take a look at our C29 Academy chapter on IPC to get a better understanding of the peripheral. 

    Kind regards,
    AJ Favela 

  • Hi AJ,

    Thanks for your reply. I reviewed the C29 Academy chapter on IPC. I have a few follow up questions:

    1) What is a shared APR?  Why is data transfer protection needed?

    2) What is MCAL and why would you use it?

    3) The C29 Academy chapter mentions: "If the application code needs a set of basic IPC driver functions for reading or writing data, setting/clearing bits, and function calls, then there are 2 IPC software driver solutions provided by TI." What are the 2 IPC driver solutions provided by TI?

    Thanks.

    Robert

  • Hi Robert,

    1. Shared APR stands for Access Protection Range. Data transfer protection is not needed but it is something that could be used in your system if you require it. If you would like to read more about it please take a look at this app-note

    2. MCAL stands for Microcontroller Abstraction Layer. For more information on MCAL please take a look at this User guide 

    3. I am currently reaching out to our software team about the 2 IPC driver solutions to make sure they are not difference from the F28 drivers. I will reply when I receive a response. 

    Kind regards,
    AJ Favela