嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

前 言

分享DSP多核IPC通信案例开发手册,本篇文章内容包含有shmIpcBenchmark案例、qmssIpcBenchmark案例、srioIpcBenchmark案例。TI-IPC(Inter-Processor Communication)组件提供与处理器硬件无关的API,可用于多核处理器核间通信、同一处理器进程间通信和设备间通信。TI-IPC支持MessageQ、Notify和SharedRegion等常用的IPC模块,支持Shared Memory、Multicore Navigator和SRIO三种传输方式。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

本次测试板卡为TMS320C6678开发板,它是一款基于TI KeyStone架构C6000系列TMS320C6678八核C66x定点/浮点DSP,以及Xilinx Zynq-7000系列XC7Z045/XC7Z100 SoC处理器设计的高端异构多核评估板,TMS320C6678开发板每核心主频可高达1.25GHz,XC7Z045/XC7Z100集成PS端双核ARM Cortex-A9 PL端Kintex-7架构28nm可编程逻辑资源,引出双路CameraLink、双路SFP 光口、四路千兆网口、双路SATA、双路PCIe、四路USB、双路CAN、双路CAMERA、HDMI IN/OUT、LVDS、LCD、RS485、RS232、Micro SD、HPC FMC等接口。

基于RTOS的多核IPC通信案例目录说明如下表,其中bin目录存放程序可执行文件,project目录存放案例工程源文件。

表 1

目录

文件/目录

说明

bin

xxx.out

程序可执行文件

project

xxx.c

程序源码文件

xxx.cfg

RTSC配置文件

driver

驱动文件存放目录

system

平台文件存放目录

.ccsproject/.cproject/.project

CCS工程文件

本文档案例程序默认使用DSP端主频为1GHz的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。请通过Micro USB线将调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确连接DSP端调试串口。

shmIpcBenchmark案例

案例说明

案例功能:C66xx_0核心向C66xx_1核心发送消息后,C66xx_1核心将收到的消息回传至C66xx_0核心。底层通过IPC的Shared Memory共享内存方式实现核间通信。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 1

案例测试

将程序可执行文件分别加载至C66xx_0~C66xx_1核心后,再依次运行C66xx_0和C66xx_1核心程序,DSP端串口调试终端将会分别打印C66xx_0核心向C66xx_1核心发送单个消息的往返延迟(由C66xx_0核心统计),以及C66xx_0核心以突发方式将所有消息发送至C66xx_1核心的数据吞吐量(由C66xx_1核心统计)。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 2

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 3

关键代码

初始化C66xx_0核心,并等待C66xx_1核心初始化完成与连接成功。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 4

C66xx_0与C66xx_1核心分别创建MessageQ。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 5

动态创建任务shmIpcBenchmark。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 6

注册HEAP_ID,并分别打开另一核心的MessageQ。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 7

测试C66xx_0核心至C66xx_1核心的消息传输往返延迟。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 8

C66xx_0核心以突发方式将所有消息发送到C66xx_1核心,C66xx_1核心接收所有消息并统计数据吞吐量。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 9

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 10

通过宏定义NUM_MSGS_TO_PREALLOC设置突发模式下的Message发送数量,并同步修改Program.global.shmSize的值大于(NUM_MSGS_TO_PREALLOC x 128)。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 11

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 12 projectshmIpcBenchmark.cfg

qmssIpcBenchmark案例

案例说明

案例功能:C66xx_0核心向C66xx_1核心发送消息后,C66xx_1核心将收到的消息回传至C66xx_0核心。底层通过IPC的Multicore Navigator(QMSS多核导航)方式实现核间通信。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 13

案例测试

将程序可执行文件分别加载至C66xx_0~C66xx_1核心后,再依次运行C66xx_0和C66xx_1核心程序,DSP端串口调试终端将会分别打印C66xx_0核心向C66xx_1核心发送单个消息的往返延迟,以及C66xx_0核心以突发方式将所有消息发送至C66xx_1核心的数据吞吐量。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 14

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 15

关键代码

动态创建任务qmssIpcBenchmark。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 16

初始化C66xx_0核心,并等待C66xx_1核心初始化完成与连接成功。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 17 图 17

C66xx_0与C66xx_1核心分别创建MessageQ。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 18

注册HEAP_ID,并分别打开另一核心的MessageQ。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 19

测试C66xx_0核心至C66xx_1核心的消息传输往返延迟。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 20

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 21

C66xx_0核心以突发方式将所有消息发送到C66xx_1核心,C66xx_1核心接收所有消息并统计数据吞吐量。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 22

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 23

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 24

通过宏定义NUM_MSGS_TO_PREALLOC设置突发模式下的Message发送数量,并同步修改Program.global.shmSize的值大于(NUM_MSGS_TO_PREALLOC x 128)。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 25

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 26 projectqmssIpcBenchmark.cfg

srioIpcBenchmark案例

案例说明

案例功能:C66xx_0核心向C66xx_1核心发送消息后,C66xx_1核心将收到的消息回传至C66xx_0核心。底层通过IPC的SRIO方式实现核间通信。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 27

案例测试

将程序可执行文件分别加载至C66xx_0~C66xx_1核心后,再依次运行C66xx_0和C66xx_1核心程序,DSP端串口调试终端将会分别打印C66xx_0核心向C66xx_1核心发送单个消息的往返延迟,以及C66xx_0核心以突发方式将所有消息发送至C66xx_1核心的数据吞吐量。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 28

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 29

关键代码

初始化C66xx_0核心,并等待C66xx_1核心初始化完成与连接成功。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 30

C66xx_0与C66xx_1核心分别创建MessageQ。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 31

动态创建任务srioIpcBenchmark。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 32

注册HEAP_ID,并分别打开另一核心的MessageQ。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 33

测试C66xx_0核心至C66xx_1核心的消息传输往返延迟。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 34

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 35

C66xx_0核心以突发方式将所有消息发送到C66xx_1核心,C66xx_1核心接收所有消息并统计数据吞吐量。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 36

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 37

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 38

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 39

通过宏定义NUM_MSGS_TO_PREALLOC设置突发模式下的Message发送数量,并同步修改Program.global.shmSize的值大于(NUM_MSGS_TO_PREALLOC x 128)。

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 40

嵌入式必看!基于TMS320C6678开发板的DSP多核IPC通信开发案例

图 41

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年3月22日 上午8:33
下一篇 2023年3月22日 上午8:43

相关推荐

  • 心育通AI智能测评体系丨学校心理普查的必备工具,AI团测档案管理

    近年来中小学生心理健康问题频发,学生不仅面临着巨大的学业压力,还要面对快速发展的社会思潮,由青少年心理问题引发的社会极端事件也日益突显。 北师大沃建中教授关于中小学心理健康状况的调…

    科研百科 2024年4月25日
    89
  • 党建宣传标语口号文化墙(党建文化墙 口号)

    不忘初心牢记使命竖版文化墙 不忘初心牢记使命,守初心 担使命 找差距 抓落实 不忘初心牢记使命 不忘初心牢记使命,新时代 新思想 新目标 新征程 永远跟党走党在我心中文化墙 永远跟…

    科研百科 2023年1月7日
    541
  • 青海海晏县河清牧场喜获国字称号

      近日,海晏县河清牧场获得农业部公布的2015年全国410家畜禽标准化示范牧场称号。Z6t   近年来,海晏县把畜牧业作为农牧区经济结构调整和农牧业增收的重要途径,先后招商引入了…

    科研百科 2022年5月30日
    343
  • 微信小程序快速开发框架

    微信小程序快速开发框架 随着微信小程序的普及,越来越多的用户开始使用微信小程序来进行购物、社交、娱乐等各种活动。然而,开发微信小程序的过程并不容易,需要掌握多项技术,并且需要不断调…

    科研百科 2024年10月5日
    27
  • 制作进度计划软件

    制作进度计划软件 进度计划软件是一种能够协助人们制作和跟踪进度的工具,可以帮助人们更好地管理时间和任务,提高工作效率。制作进度计划软件的好处如下: 1. 进度计划软件可以帮助人们更…

    科研百科 2024年8月12日
    61
  • 哪款财务软件适合烘焙行业?(哪款财务软件适合烘焙行业使用)

    哪款财务软件适合烘焙行业,小编这就为你推荐一款适合烘焙行业用的财务软件。那么,接下来就给您揭晓:烘焙行业财务软件用哪个好? 适合烘焙行业的财务软件推荐:用友好会计! 为什么给大家推…

    科研百科 2022年12月23日
    240
  • 宽带德尔菲技术

    宽带德尔菲技术简介 宽带德尔菲技术是一种用于评估计算机系统性能和软件功能的技术。它是通过在计算机和网络设备之间传输数据来测试它们的性能。宽带德尔菲技术被广泛用于评估服务器, 存储设…

    科研百科 2024年11月8日
    2
  • 系统集成项目管理师软考

    系统集成项目管理师软考 随着信息技术的不断发展,系统集成项目管理师(简称软考)已经成为了一个备受关注的职业认证考试。作为系统集成项目管理领域的最高认证,软考不仅代表了个人在项目管理…

    科研百科 2024年8月15日
    45
  • 商品管理管理软件

    商品管理管理软件:提高企业效率的利器 商品管理管理软件是一种专门用于管理商品库存、销售和采购的软件。在现代商业中,商品管理已经成为了一个重要的环节,对于企业的运营效率和利润都有着重…

    科研百科 2024年6月3日
    83
  • 集成系统项目管理师报名

    集成系统项目管理师报名 – 成为系统集成项目管理师的好处 集成系统项目管理师是一种高级职业,主要负责规划和管理集成系统的项目。这个项目包括从需求分析到交付和完成的整个生…

    科研百科 2024年9月24日
    19