温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

发布时间:2021-12-23 09:09:07 来源:亿速云 阅读:185 作者:柒染 栏目:互联网科技

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

如何用TMS320C6678处理器进行TI-IPC多核通信案例

基于创龙科技TL6678-EasyEVM评估板进行演示。

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图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处理器。

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图2

IPC常见的通信模块如下:

表1

Ipc

提供Ipc_start()函数,并允许配置启动顺序

MessageQ

大小可变的消息传递模块

Notify

以中断方式实现轻量数据传输的模块

ListMp

用于实现对链接列表的互斥访问

GateMp

用于实现对共享资源的互斥访问

HeapBufMp

大小固定的共享内存堆

HeapMenMp

大小可变的共享内存堆

SharedRegion

用于维护共享内存区域

List

用于创建双向链接列表

MultiProc

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

NameServer

用于应用程序基于本地名称检索,以及存储变量值

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图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常见的工作流程如下所示。

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图6

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图8

(3) 仅可基于Shared Memroy方式进行使用。

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图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部分操作即可,其他模块均由系统自动调用。

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图11

如何用TI DSP TMS320C6678处理器进行TI-IPC多核通信

图12

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

tms
AI