天天看點

DSP:TMS320C6657 之 核間通信(2)

本文主要是基于IPC中斷的方式進行核間通信,以下是最近的疑惑以及解答。

1.多核多鏡像的核間通信例程過程:core1在task中産生一個中斷信号,core1确認該中斷信号進入中斷服務函數IPCIsr,執行完後再向core0發出中斷信号,core0确認該中斷後進入自己的中斷服務函數執行;功能主要是對一個共享記憶體定義變量Flag的修改。

2.重要的部分是産生中斷信号和确認中斷信号,這個地方糾結了很久最後才發現這個地方隻是互相發出确認了一次,是以代碼執行過之後進入idle。具體的函數即:

rc = IPCIntAcknowledge(Core1_Notify_Core0);//core1-core0通信指令

IPCIntGenerate(CPU_Core1, Core0_Notify_Core1);//觸發 IPC 中斷(通知核心 1)

函數的參數視具體情況改動。

3.實作多次中斷core之間的通信需要多次調用上述兩個函數,按照這個方法實驗是可行的,具體用在項目中有什麼問題還有待測試,後期有問題再補充。

4.關于共享記憶體中變量的定義主要是相應修改.cmd檔案。網上有其他的博文寫的很好可以自行搜尋。

5.Ps:終于可以小放松了,雖然這不是大問題可是進了個牛角尖也挺久了~~