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.

AM5716: Inquiry about IPC in Processor Linux SDK

Part Number: AM5716

Hi Experts,

Our customer is developing their system with AM5716, and customer using Processor Linux SDK for Cortex–A15 and they are using TI SDK-RTOS. Recently, customer updated those software as follows. As result, when customer checked the operation with Linux kernel 5.10.100, DSP is not able to communicate with DSP. This means, DSP processing stops at IpcMgr_ipcStartup(). Therefore, customer is asking following inquiries.

  1. Customer understand the RTOS IPC version is 3.50.04.08 in the latest Processor SDK, but is it incompatible with IPC 3.51.00.00?
  2. IPC 5.51.00.00 has not been released as an RTOS package. Would TI have any reason? If TI plans to release the IPC 5.51.00.00, when would TI plan to release it?
  3. And then, customer noticed there is the latest version of IPC in git (https://git.ti.com/cgit/ipc/ipcdev/). Customer would like to know how to install the SDK which is obtained from git server to CCS tool. Could you clarify it or share helpful URL/documents, please?

old version

update version

TISDK-Linux

6.x

8.x

Linux Kernel

4.19.94

->

5.10.100

IPC

3.50.04.08

->

3.51.00.00

TISDK-RTOS

6.00.00.07

8.x

IPC

3.50.03.05

->

3.50.04.08

I really appreciate expert’s support.

Best regards,

Miyazaki

  • Hi Experts,

    Can we have your expert's advice/comments on this cusotmer's questions, please?

    Best regards,

    Miyazaki

  • Hi Experts,

    Our customer needs to fix this issue as soon as possible.

    Can we have your expert's advice/comments on this cusotmer's questions, please?

    Best regards,

    Miyazaki

  • Hi Miyazaki,

    You have two rows of IPC versions in your table, What's the difference between the two?

    Are you running a custom firmware? The RTOS-to-RTOS communication should be agnostic of the Linux kernel, while typically we may need newer firmwares or versions to go with the newer Linux kernels, owing to adjustments for upstream kernel differences.

    regards

    Suman

  • Hi Suman,

    Thank you for your reply, and sorry for confusing you.

    Customer is using TISDK-Linux-AM57x(ver. 08.02.01.00) for Cortex–A15 and TISDK-RTOS-AM57x(ver. 08.01.00.09) for C66x, customer would like to do “HLOS (Linux)-to-RTOS” communication. However, the IPC version in Linux-SDK is “3.51.00.00”,  and the IPC version in RTOS-SDK is “3.50.04.08”. this means, IPC version does not match between them.

    You have two rows of IPC versions in your table, What's the difference between the two?

    The two versions are IPC versions of A15's TISDK-Linux and DSP's TISDK-RTOS respectively. As for the old version combination, customer confirmed HLOS-to-RTOS communication worked, but, it seems this communication does not work due to IPC version mismatch after updating those SDK.

    And,  Yes, customer is running a custom firmware. They tried to run “ex02_messageq” in IPC-Examples, but, customer was not able to communication between IPC version 3.51.00.00 (Linux-SDK) and IPC version 3.50.04.08 (RTOS-SDK). Therefore, customer is asking above three questions.

    Can we have your advice/comments, please?

    Best regards,

    Miyazaki

  • Hi Suman-san,

    Thank you for your reply,

    We think the IPC version 3.51.00.00A for C66x is required for HLOS-to-RTOS communication to TISDK-Linux-AM57x(ver. 08.02.01.00) for Cortex–A15.

    But this IPC version is not bundled with the TISDK-RTOS-AM57x(ver. 08.01.00.09).

    We need to resolve this issue urgently.

    Could you give me some advice on what to do?

    Best regards,

    Uchida

  • Hi Miyazaki-san, Uchida-san,

    The TI Processor Linux SDK should be self-contained and does not depend on the corresponding RTOS SDK for any IPC deliverables. The required IPC libraries and firmwares in Linux SDK are all built using Yocto/OE with a ti-ipc recipe that is using the IPC version 3.51.00.00A.

    We think the IPC version 3.51.00.00A for C66x is required for HLOS-to-RTOS communication to TISDK-Linux-AM57x(ver. 08.02.01.00) for Cortex–A15.

    Correct. The 08.02.01.00 AM57x Processor Linux SDK is rightfully using the latest IPC version 3.51.00.00A . The IPC version 3.50.04.08 is definitely not compatible with the newer Linux kernel 5.10 version used in 8.x SDKs (would not have been compatible even with the Linux 5.4 kernel version). So, if you are trying to use a custom built firmware from the RTOS-SDK that is based on IPC 3.50.04.08, then it won't work with the 8.x Linux SDK.

    Customer understand the RTOS IPC version is 3.50.04.08 in the latest Processor SDK, but is it incompatible with IPC 3.51.00.00?

    Almost all of the patches between IPC 3.50.04.08 to IPC 3.51.00.00 have to do with the updated Linux kernel, and there have no changes from an all RTOS-to-RTOS IPC perspective. The Linux-to-RTOS relies on the RPMessage transport, while the RTOS-to-RTOS uses the legacy Shared Memory based transport, so they are independent of each other. The version update should not matter for an all RTOS environment.

    IPC 5.51.00.00 has not been released as an RTOS package. Would TI have any reason? If TI plans to release the IPC 5.51.00.00, when would TI plan to release it?

    There were no critical fixes or changes needed for an all RTOS usage between IPC 3.50.04.08 and IPC 3.51.00.00. You should be able to use the newer IPC 3.51.00.00 just as well for the all RTOS-RTOS usage.

    And then, customer noticed there is the latest version of IPC in git (https://git.ti.com/cgit/ipc/ipcdev/). Customer would like to know how to install the SDK which is obtained from git server to CCS tool. Could you clarify it or share helpful URL/documents, please?

    The IPC code base was managed privately before and released as it's separate product. This has not been the case anymore as highlighted on the IPC Downloads page. The ipc_3_50_04_08 folder is just a packaged version of the code from the corresponding tag on the ipcdev git tree. You could just as well clone the code into the corresponding RTOS SDK.

    regards

    Suman

  • Hi Suman-san,
    Thank you for your reply,
    We tried renew the IPC component in TISDK-RTOS with following process. Then HLOS-to-RTOS communication worked correctly.

    (1) Download and Install TISDK-RTOS-AM57x (ver. 08.01.00.09) from https://www.ti.com/tool/ja-jp/PROCESSOR-SDK-AM57X.
    (2) Download TAG 3.51.00.00A from https://git.ti.com/cgit/ipc/ipcdev.
    (3) Overwrite the ipc_3_50_04_08 folder of the package installed in (1) with the files downloaded in (2).
    (4) Rebuild the IPC source code.
    (5) Rebuild the CCS project source code.

    Is this the correct way?

    On the other hand, the rebuilt IPC library version on the CCS is still 3.50.04.08. Is there a way to change the IPC version number to 3.51.00.00?

    Best regards,
    Uchida