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/TMS320C6678: Choosing best Inter-Processor Communication method

Part Number: TMS320C6678

Tool/software: TI-RTOS

Hi to all

In my application i need to transfer data between core 0  and 1-7 cores (i use Linux c6x on core 0 and sys/bios on other cores , but i think my question not related to Syslink and Linux c6x)

i have 2 type of data :

1- voice data : 500 line (about 70 line per core) and each line transfer 320 byte per 20 ms but 500 lines transfer data independently (for example time difference between line x and line y may be sub 10 us ). data acknowledgment and retransmit not necessary but data loss most be lower than 5%

2- control data : 500 line (about 70 line per core) and each line transfer 10 byte per 15 second but time difference between line x and line y upper than 1 ms.data acknowledgment and re transmit is necessary for this type.

i have 3 methods :

1 - my own protocol base on shared memory and software flag and thread for polling 

2 - IPC Notify

3 - IPC messageQ

at first step i'm using own protocol but i try to use IPC methods for improve performance and reliability 

i have some question for choosing best method :

1- if i use Notify for voice data , can i create 500 line between cores ?

2- if i use Notify for voice data , what's happens when an ISR running on core 1 (for line y) and core 0 generate interrupt for core 1 (for line x) , nested interrupt support in IPC Notify or i need to use MessageQ ?

3- if i use messageQ for control data , can i create 500 line between cores ?

(I hope everything is clear )

thanks for your attentions

Ebi