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.

RTOS: VisionSDK - IPC examples A15<->m4



Tool/software: TI-RTOS

Hi all,

We would like to send commands from A15-core to M4 core & vice versa via IPC at runtime. Do you have IPC sample application in vision-sdk ?  

Regards,

Gokul

  • Hi Gokul,

    can you check if you can find what you look for here:
    PROCESSOR_SDK_VISION_03_01_00_00\ti_components\os_tools\ipc_3_45_00_00\examples

    Also this wiki could be useful:
    processors.wiki.ti.com/.../Category:IPC

    Regards,
    Yordan
  • Hi Gokul,

    There is one more version of IPC called IPC lite. It's implementation is present in PDK drivers.
    The example is present in path <VSDK>\ti_components\drivers\<pdk>\packages\ti\drv\ipc_lite\examples\ipc_mbx.

    Regards,
    Rishabh
  • Hi Yordan/Rishabh,

    We are using vision-sdk apps.out application for handling the use-cases. We would like to send few commands from a15 to m4 and handle it in M4 -core. How to handle it from the usecase-module component?


    Regards,
    Gokul
  • Gokul,

    You could use System_linkControl API to send control commands from one link on one core to another link, could be running on another core. You need to add this control command and implement it on your link.

    Rgds,
    Brijesh
  • Thanks Brijesh. If possible point me that the source path location & documents .

    Regards,
    Gokul
  • Gokul,

    System_linkControl API is being used everywhere in the VSDK. For example, SRV calibration usecase calls this API to configure the sensor in the file vision_sdk\apps\src\hlos\adas\src\usecases\srv_calibration\chains_srvCalibration_Display.c and this command is implemented in system link.

    Regards,
    Brijesh
  • Hi Brijesh,

    apps.out application get the input from the menu and handle the usecase based on the input .
    We have two camera connected in our system. our camera module is completely controlled by M4 core in our system,We need to switch camera based on HMI trigger from A15 .

    We can use System_linkControl API from A15 linux to send cmd to M4-ipu2 for handling  camera-switch (ADV7182 input).

    But We will get the input (HMI trigger) for apps.out at runtime. Is it possible to give input for apps.out which is running in background at runtime ?

    Is there anyother utils to send cmds for M4 ? 


    Regards,
    Gokul

  • Hi Gokul,

    If i understand it correctly, you want to send first input to the apps.out from hmi and then from apps.out, you want to send command to M4. Is it correct?
    You could use sockets to communicate among the processes in Linux. But please note that this is readily available/supported in vision sdk. You will need to develop it.
    When you receive command through socket, in this command handler, you could call system_linkcontrol. Command handler should be implemented in apps.out.

    Regards,
    Brijesh
  • Hi Brijesh,

    Please find my inline comments:
    Brijesh :If i understand it correctly, you want to send first input to the apps.out from hmi and then from apps.out, you want to send command to M4. Is it correct?

    Gokul:Yes

    Brijesh: You could use sockets to communicate among the processes in Linux. But please note that this is readily available/supported in vision sdk. You will need to develop it.

    Gokul: Do you have sample example for the same ? Please share it. I am not clear.


    Brijesh:When you receive command through socket, in this command handler, you could call system_linkcontrol. Command handler should be implemented in apps.out.

    Gokul: Yes I am able to understand this part littke bit alone using apps/src/rtos/common/chains_main_linux.c & AppCtrl_cmdHandler.


    Regards,
    Gokul
  • Hi Gokul,

    Unfortunately, as i said, i dont have any example. You could search on google, socket programming is very simple and easy to use to communicate between processes on Linux.

    Regards,
    brijesh
  • Hi Brijesh,

    As per my understanding we have to write socket based client application to send cmds. Am i correct ?

    Also where should be the server application implemented in the vision-sdk usecase ? Do i need to develop under the usecase as a separate thread ?

    Regards,
    Gokul
  • Hi Gokul,

    As i said, there is not supported in core vision sdk. You will need to implement it.

    Regards,

    Brijesh