Data sharing between two application

Hi FreeRTOS community,

I am looking solution for data sharing (send and receive) from two different application. Let say ‘app1’ will be receiving signal and manipulating data and put in message-queue. Another application ‘app2’ should receive data from message-que and send to CAN-bus.

I thought of using message-queue but it work on same (one) application with two different task. But I need to find two different application communication mechanism(data sharing)?

Please someone help me on this.


Hi, by two applications, do you mean two chips both running FreeRTOS?

both application will be running on the freeRTOS.
Application1 - will be receiving data from RpcMSG and writing into the queue (CanDataQ)
Application2 - will be reading that CanDataQ and construct can message and send it to can-bus

On separate CPUs ? Means do you use a dual core MCU running a separate FreeRTOS application per core ?

If both are tasks running on FreeRTOS, you can communicate between the tasks using a queue; I’m not sure I understand what you mean by application in this context.

two different application means that app1 = /examples/hello_world (freeRTOS example application) and app2 = examples/drivers/mcan/mcan_loopback_polling (freeRTOS example application). how this two different application can communicate? exchange data/information?

If you need to share a queue between two files that you are going to build into your firmware, you can declare the queue in a header file, which you can include in your c files. One of the files will have to declare the queue.