久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1933|回復: 0
打印 上一主題 下一主題
收起左側

如何用TI KeyStone TMS320C6678處理器進行TI-IPC多核通信案例

[復制鏈接]
跳轉到指定樓層
樓主
ID:336245 發表于 2021-1-25 19:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如何用TI KeyStone TMS320C6678處理器進行TI-IPC多核通信案例本文基于創龍科技TL6678-EasyEVM評估板進行演示。





圖1TL6678-EasyEVM評估板
TL6678-EasyEVM是一款基于TI KeyStone架構C6000系列TMS320C6678八核C66x定點/浮點高性能處理器設計的高端多核DSP評估板,由核心板與底板組成。核心板經過專業的PCB Layout和高低溫測試驗證,穩定可靠,可滿足各種工業應用環境。
評估板接口資源豐富,引出雙路千兆網口、SRIO、PCIe等高速通信接口,方便用戶快速進行產品方案評估與技術預研。


開發案例主要包括:Ø
(1) 裸機開發案例
(2) RTOS(SYS/BIOS)開發案例
(3) IPC、OpenMP多核開發案例
(4) SRIO、PCIe、雙千兆網口開發案例
(5) 圖像處理開發案例
(6) DSP算法開發案例
(7) 串口、網絡遠程升級開發案例
案例源碼、產品資料(用戶手冊、核心板硬件資料、產品規格書)可site.tronlong.com/pfdownload獲取。



1.1 TI-IPC簡介

TI-IPC(Inter-Processor Communication)是組件提供與處理器硬件無關的API,可用于多核處理器核間通信、同一處理器進程間通信和設備間通信。API支持消息傳遞、流和鏈接列表,它們在單處理器和多處理器中配置均可兼容。
TI-IPC被設計在運行SYS/BIOS應用程序的處理器上使用,一般為DSP處理器(如TMS320C6678、TMS320C6657),但在某些情況下亦可能是ARM處理器。







圖2
IPC常見的通信模塊如下:


表1
Ipc
提供Ipc_start()函數,并允許配置啟動順序
MessageQ
大小可變的消息傳遞模塊
Notify
以中斷方式實現輕量數據傳輸的模塊
ListMp
用于實現對鏈接列表的互斥訪問
GateMp
用于實現對共享資源的互斥訪問
HeapBufMp
大小固定的共享內存堆
HeapMenMp
大小可變的共享內存堆
SharedRegion
用于維護共享內存區域
List
用于創建雙向鏈接列表
MultiProc
用于管理多核處理器核心ID
NameServer
用于應用程序基于本地名稱檢索,以及存儲變量值







圖3




1.2 常用模塊

1.2.1 MessageQ

該模塊具有如下特點:
(1) 兼容性強,可在不更改運行代碼的情況移植至另一個支持TI-IPC MessageQ的處理器或其他傳輸層(如Shared Memory、Multicore Navigator、SRIO)。
(2) 支持可變長度消息的結構化發送與接收。
(3) 單個MessageQ隊列支持單個reader和多個writer。
(4) 消息接收支持超時機制。
(5) reader可根據消息頭部信息對writer進行確認后再回復。
(6) Ipc_start()會幫助用戶完成下圖中灰色框內的功能,用戶僅需關注紅色框中的內容即可。





圖4


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


n reader:調用MessageQ_create()、MessageQ_get()、MessageQ_free()和MessageQ_delete()。
n writer:調用MessageQ_open()、MessageQ_alloc()、MessageQ_put()和MessageQ_close()。
MessageQ常見的工作流程如下所示。

圖5


下面以多核IPC通信的shmIpcBenchmark案例為例,分析代碼中MessageQ的使用,見圖中注釋。

圖6

圖7


1.2.2 Notify該模塊具有如下特點:
(1) 可獨立于MessageQ模塊進行使用。
(2) 著重于多核通知功能,是更為簡單的多核通信形式。

圖8


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

圖9


Notify通過硬件中斷傳輸消息,Receiver注冊Notify事件中斷,Sender通過Notify發送事件中斷,從而實現通知并攜帶小量消息的目的。


n Receiver:調用Notify_registerEvent()注冊事件中斷服務函數。
n Sender:調用Notify_sendEvent()發送事件中斷。
Notify常見的工作流程如下所示。





圖10


1.3 物理傳輸方式

TI-IPC的數據傳輸需結合特定物理硬件與底層驅動,方可實現兩個線程在同一個設備或跨設備間進行通信。常用三種的物理傳輸方式包括Shared Memory、Multicore Navigator和SRIO,具體說明如下。


表2
傳輸方式
優點
缺點
Shared Memory
使用簡單,速率較高
僅可用于單個設備IPC通信,可能與其他使用Shared Memory的任務存在競爭
Multicore Navigator
速率最高,消耗CPU周期最少
僅可用于單個設備IPC通信
SRIO
可用于跨設備IPC通信
速率最低


下圖為使用Multicore Navigator、SRIO的API調用流程,用戶僅需關注MessageQ部分操作即可,其他模塊均由系統自動調用。

圖11



圖12
現可向廠家免費申請TL6678-EasyEVM評估板進行快速評估,免費哦!
tronlong.com/Product/show/9.html
TMS320C6678 DSP討論:79635273、332643352


更多推薦C6678+K7視頻采集處理方案



圖13


FPGA+DSP的高速AD采集處理開發詳解









分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲三级在线 | 91高清免费观看 | 精区3d动漫一品二品精区 | 亚洲欧美国产精品一区二区 | 亚洲电影专区 | 精品国产一区二区三区日日嗨 | 中文字幕高清av | 日本精品在线播放 | 日韩av最新网址 | 日韩三级电影在线看 | 一级黄色毛片 | 日日夜夜91| 天天操夜夜爽 | 一区二区在线不卡 | 精品亚洲一区二区三区 | 日批日韩在线观看 | 欧美视频第三页 | 国产精品久久久久久久毛片 | 精品国产乱码久久久久久久久 | 一本色道久久综合亚洲精品高清 | 久久在线 | 国产精品久久久亚洲 | 国产91在线 | 亚洲 | 欧美精品乱码久久久久久按摩 | 日韩精品免费看 | 国产三级大片 | 欧美男人天堂 | 古装人性做爰av网站 | 国产高清视频一区 | 久热精品在线观看视频 | 欧美久久影院 | 亚洲喷水 | 成人精品一区二区户外勾搭野战 | 国产95在线 | 久久久夜夜夜 | 亚洲成人一区二区三区 | 久久av一区二区三区 | 国产日韩欧美在线观看 | 一区二区三区欧美在线 | 欧美 日韩 国产 成人 在线 | 成人在线免费观看 |