溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

發(fā)布時(shí)間:2021-12-23 09:09:07 來源:億速云 閱讀:205 作者:柒染 欄目:互聯(lián)網(wǎng)科技

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

如何用TMS320C6678處理器進(jìn)行TI-IPC多核通信案例

基于創(chuàng)龍科技TL6678-EasyEVM評(píng)估板進(jìn)行演示。

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖1TL6678-EasyEVM評(píng)估板

TL6678-EasyEVM是一款基于TI KeyStone架構(gòu)C6000系列TMS320C6678八核C66x定點(diǎn)/浮點(diǎn)高性能處理器設(shè)計(jì)的高端多核DSP評(píng)估板,由核心板與底板組成。核心板經(jīng)過專業(yè)的PCB Layout和高低溫測試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。

評(píng)估板接口資源豐富,引出雙路千兆網(wǎng)口、SRIO、PCIe等高速通信接口,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。

開發(fā)案例主要包括:?

(1) 裸機(jī)開發(fā)案例

(2) RTOS(SYS/BIOS)開發(fā)案例

(3) IPC、OpenMP多核開發(fā)案例

(4) SRIO、PCIe、雙千兆網(wǎng)口開發(fā)案例

(5) 圖像處理開發(fā)案例

(6) DSP算法開發(fā)案例

(7) 串口、網(wǎng)絡(luò)遠(yuǎn)程升級(jí)開發(fā)案例

案例源碼、產(chǎn)品資料(用戶手冊、核心板硬件資料、產(chǎn)品規(guī)格書)可點(diǎn)site.tronlong.com/pfdownload獲取。

1.1 TI-IPC簡介

TI-IPC(Inter-Processor Communication)是組件提供與處理器硬件無關(guān)的API,可用于多核處理器核間通信、同一處理器進(jìn)程間通信和設(shè)備間通信。API支持消息傳遞、流和鏈接列表,它們在單處理器和多處理器中配置均可兼容。

TI-IPC被設(shè)計(jì)在運(yùn)行SYS/BIOS應(yīng)用程序的處理器上使用,一般為DSP處理器(如TMS320C6678、TMS320C6657),但在某些情況下亦可能是ARM處理器。

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖2

IPC常見的通信模塊如下:

表1

Ipc

提供Ipc_start()函數(shù),并允許配置啟動(dòng)順序

MessageQ

大小可變的消息傳遞模塊

Notify

以中斷方式實(shí)現(xiàn)輕量數(shù)據(jù)傳輸?shù)哪K

ListMp

用于實(shí)現(xiàn)對(duì)鏈接列表的互斥訪問

GateMp

用于實(shí)現(xiàn)對(duì)共享資源的互斥訪問

HeapBufMp

大小固定的共享內(nèi)存堆

HeapMenMp

大小可變的共享內(nèi)存堆

SharedRegion

用于維護(hù)共享內(nèi)存區(qū)域

List

用于創(chuàng)建雙向鏈接列表

MultiProc

用于管理多核處理器核心ID

NameServer

用于應(yīng)用程序基于本地名稱檢索,以及存儲(chǔ)變量值

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖4

MessageQ通過消息隊(duì)列發(fā)送和接收消息。reader是一個(gè)從消息隊(duì)列中讀取消息的線程,writer是一個(gè)將消息寫入消息隊(duì)列的線程。每個(gè)消息隊(duì)列都有一個(gè)reader,但可有多個(gè)writer。

n reader:調(diào)用MessageQ_create()、MessageQ_get()、MessageQ_free()和MessageQ_delete()。

n writer:調(diào)用MessageQ_open()、MessageQ_alloc()、MessageQ_put()和MessageQ_close()。

MessageQ常見的工作流程如下所示。

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖6

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖8

(3) 僅可基于Shared Memroy方式進(jìn)行使用。

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖10

1.3 物理傳輸方式

TI-IPC的數(shù)據(jù)傳輸需結(jié)合特定物理硬件與底層驅(qū)動(dòng),方可實(shí)現(xiàn)兩個(gè)線程在同一個(gè)設(shè)備或跨設(shè)備間進(jìn)行通信。常用三種的物理傳輸方式包括Shared Memory、Multicore Navigator和SRIO,具體說明如下。

表2

傳輸方式

優(yōu)點(diǎn)

缺點(diǎn)

Shared Memory

使用簡單,速率較高

僅可用于單個(gè)設(shè)備IPC通信,可能與其他使用Shared Memory的任務(wù)存在競爭

Multicore Navigator

速率最高,消耗CPU周期最少

僅可用于單個(gè)設(shè)備IPC通信

SRIO

可用于跨設(shè)備IPC通信

速率最低

下圖為使用Multicore Navigator、SRIO的API調(diào)用流程,用戶僅需關(guān)注MessageQ部分操作即可,其他模塊均由系統(tǒng)自動(dòng)調(diào)用。

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖11

如何用TI DSP TMS320C6678處理器進(jìn)行TI-IPC多核通信

圖12

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

tms
AI