一种基于C6678的单核实现NDK通信与SRIO传输的方法技术

技术编号:19934031 阅读:136 留言:0更新日期:2018-12-29 04:29
本发明专利技术提供了一种基于C6678的单核实现NDK通信与SRIO传输的方法,属于信息处理领域。所述方法包括首先对NDK及SRIO内的QMSS模块与CPPI模块进行配置,包括设置系统所需要用到的QMSS描述符数量及所述描述符大小,为所述NDK/SRIO分配对应Memory Region,各对应Memory Region配置有对应数量的QMSS描述符,使用NDK/SRIO内的CPPI对所述第一数量的QMSS描述符进行初始化,其次,对SRIO或NDK之一进行初始化,最后对SRIO、NDK、QMSS和CPPI分配不同的硬件信号量以避免数据传输冲突。通过该方法NDK与SRIO可在同一核上运行互不干扰,网络通信任务正常工作,充分利用了核上资源。

【技术实现步骤摘要】
一种基于C6678的单核实现NDK通信与SRIO传输的方法
本专利技术属于信息处理领域,具体涉及一种基于C6678的单核实现NDK通信与SRIO传输的方法。
技术介绍
美国德州仪器(TexasInstruments,简称TI)公司的TMS320C6678(简称为C6678)是2014年后嵌入式高性能计算场合使用较广泛的多核数字信号处理器(DSP)芯片。SYS/BIOS是一个可裁剪的实时内核,它被设计用于那些要求实时调度和同步或实时测量的应用程序,且同时支持单核和多核器件。在设计上SYS/BIOS把对目标板的内存和CPU需求降到最低。它本身仅占用极少的CPU资源,提供丰富的应用函数接口、优先抢占式的多线程管理、硬件抽象化、实时分析、和配置工具,可用于支持系统实时分析、线程管理、调度软件中断、后台运行函数以及外部硬件中断管理等。RapidIO技术是一种基于协议包格式的互联技术,在TMS320C6678芯片手册中,通常把RapidIO称为SRIO,为DSP之间提供一种高带宽、低延迟、低系统成本的通信,是系统互连的最佳选择之一。NetworkDeveloper’sKit(NDK)是一个基于SYS/BIOS实时操作系统的网络协议栈,目前主要用于开发和验证TIC6000系列和ARM系列嵌入式处理器的网络应用功能。一片C6678中有8个C66x核(以下以0~7核表示),每个核有独立的运算单元、64kB内部L1SRAM(静态内存)和512kB内部L2SRAM;多个核共享4kBRAM以及片外的DDR3存储器。在传统的DSP编程中,通常开发者使用不同的核来处理不同任务,在实时性不强以及资源不紧张的情况下,可以满足要求。但是,如果使用多核并行计算并且在任务调度比较复杂,资源使用比较紧张的情况下,会带来若干问题:在传统DSP编程中,通常使用不同的核来处理NDK网络任务以及SRIO传输任务来避免冲突。但是每个核单独工作无法完全发挥DSP的性能,容易造成计算资源的浪费,资源调度不够平均。传统SRIO的传输会占用CPU时间,如果进行大的数据量的传输会造成大量的时间损耗,当传输占用CPU时,无法处理复杂的并发任务,也无法快速响应其他的额外事件,影响系统的实时性。原SRIO驱动对传输数据量存在一个大小的限制,并且没有对传输状态的一个实时的带宽监控以及错误状态的反馈。
技术实现思路
为了解决上述问题,本专利技术提供了一种在SYS/BIOS中,在多核并行计算时,能够在同一核上实现NDK的网络通信与SRIO的传输功能,能够自由调度,并且使两者在实际的任务使用中不发生冲突或者是性能的降低,实现资源利用最大化。为此,本专利技术基于C6678的单核实现NDK通信与SRIO传输的方法主要包括:步骤一、对NDK内的QMSS模块与CPPI模块进行配置,包括设置系统所需要用到的QMSS描述符数量及所述描述符大小,为所述NDK分配第一MemoryRegion,所述第一MemoryRegion配置有第一数量的QMSS描述符,使用NDK内的CPPI对所述第一数量的QMSS描述符进行初始化;同理,对SRIO内的QMSS模块与CPPI模块进行配置,为SRIO分配第二MemoryRegion,所述第二MemoryRegion配置有第二数量的QMSS描述符,使用SRIO内的CPPI模块对所述第二数量的QMSS描述符进行初始化;所述第一数量的QMSS描述符与所述第二数量的QMSS描述符数量之和小于设置的系统所需要用到的QMSS描述符数量;步骤二、对SRIO或NDK之一进行初始化,包括设置SRIO或NDK之一的接收队列以及发送队列均使用对应的MemoryRegion,以及设置SRIO或NDK之一的包加速模块使用对应的MemoryRegion并重新指定队列管理通道;设置SRIO与NDK所使用的QMSS描述符数量及大小与对应的MemoryRegion所使用的QMSS描述符数量及大小一致;步骤三、对SRIO、NDK、QMSS和CPPI分配不同的硬件信号量。优选的是,为所述NDK分配第一MemoryRegion时包括为所述NDK分配存储所述第一MemoryRegion地址的第一LinkingRam;同理,为所述SRIO分配第二MemoryRegion时包括为所述SRIO分配存储所述第二MemoryRegion地址的第二LinkingRam。优选的是,在步骤一之前,包括从TI的C6678芯片的标准官方例程中提取SRIO库与NDK库。本专利技术的创新点在于:优化与修改NDK与SRIO的QMSS与CPPI模块参数。优化初始化参数使之符合基本的SRIO传输性能要求,修改SRIO传输配置完成后台传输功能,以及兼容NDK网络任务的通信需求。本专利技术的优点:SRIO传输时不占用CPU时间,对大数据量进行分包传输,一旦传输开始便进入后台利用空闲时间传输,并且带宽并未下降;NDK与SRIO可在同一核上运行互不干扰,网络通信任务正常工作,实施对传输进行监控,充分利用核上资源。本专利技术可适用于使用TMS320C6678DSP的嵌入式信息处理系统中,如航空、航天、船舶、通信、软件无线电、人工智能等领域。附图说明图1为按照本专利技术的基于C6678的单核实现NDK通信与SRIO传输的方法的一优选实施例的流程图;图2为按照本专利技术图1所示实施例的CPPI与QMSS模块的用途以及其与SRIO等其他驱动之间的关系示意图。具体实施方式为使本专利技术实施的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图对本专利技术的实施例进行详细说明。由于TI公司提供的标准工程都是基于单独的功能,在实际使用中无法同时调用。SRIO与NDK在SYS/BIOS下的通信与传输都使用了QMSS与CPPI模块。本专利技术通过配置TI公司的多个标准工程,根据实际工程需求集成多个功能,封装成库,以使得在多核并行计算时,能够在同一核上实现NDK的网络通信与SRIO的传输功能,能够自由调度,并且使两者在实际的任务使用中不发生冲突或者是性能的降低,实现资源利用最大化。如图2所示,SRIO以及NDK在SYS/BIOS下,在实际的使用过程中,都需要使用QMSS与CPPI模块来进行数据的发送与接收。在标准官方例程中,两者由于QMSS与CPPI的参数配置冲突原因只能够单独使用SRIO库与NDK库(例子)中的一个。为了使SRIO与NDK能够兼容在同一核上使用,需要对驱动进行重新配置。在初始化SRIO与NDK之前,必须单独对QMSS与CPPI进行单独的初始化设置。如图1所示,本专利技术基于C6678的单核实现NDK通信与SRIO传输的方法主要包括以下步骤:QMSS模块与CPPI模块进行配置;对SRIO或NDK之一进行初始化;对SRIO及NDK分配不同的硬件信号量。具体的:步骤一、对NDK内本文档来自技高网
...

【技术保护点】
1.一种基于C6678的单核实现NDK通信与SRIO传输的方法,其特征在于,包括:步骤一、对NDK内的QMSS模块与CPPI模块进行配置,包括设置系统所需要用到的QMSS描述符数量及所述描述符大小,为所述NDK分配第一Memory Region,所述第一Memory Region配置有第一数量的QMSS描述符,使用NDK内的CPPI对所述第一数量的QMSS描述符进行初始化;同理,对SRIO内的QMSS模块与CPPI模块进行配置,为SRIO分配第二Memory Region,所述第二Memory Region配置有第二数量的QMSS描述符,使用SRIO内的CPPI模块对所述第二数量的QMSS描述符进行初始化;所述第一数量的QMSS描述符与所述第二数量的QMSS描述符数量之和小于设置的系统所需要用到的QMSS描述符数量;步骤二、对SRIO或NDK之一进行初始化,包括设置SRIO或NDK之一的接收队列以及发送队列均使用对应的Memory Region,以及设置SRIO或NDK之一的包加速模块使用对应的Memory Region并重新指定队列管理通道;设置SRIO与NDK所使用的QMSS描述符数量及大小与对应的Memory Region所使用的QMSS描述符数量及大小一致;步骤三、对SRIO、NDK、QMSS和CPPI分配不同的硬件信号量。...

【技术特征摘要】
1.一种基于C6678的单核实现NDK通信与SRIO传输的方法,其特征在于,包括:步骤一、对NDK内的QMSS模块与CPPI模块进行配置,包括设置系统所需要用到的QMSS描述符数量及所述描述符大小,为所述NDK分配第一MemoryRegion,所述第一MemoryRegion配置有第一数量的QMSS描述符,使用NDK内的CPPI对所述第一数量的QMSS描述符进行初始化;同理,对SRIO内的QMSS模块与CPPI模块进行配置,为SRIO分配第二MemoryRegion,所述第二MemoryRegion配置有第二数量的QMSS描述符,使用SRIO内的CPPI模块对所述第二数量的QMSS描述符进行初始化;所述第一数量的QMSS描述符与所述第二数量的QMSS描述符数量之和小于设置的系统所需要用到的QMSS描述符数量;步骤二、对SRIO或NDK之一进行初始化,包括设置SRIO或NDK之一的接收队列以及发送队列均使用对应的MemoryR...

【专利技术属性】
技术研发人员:惠肇宇邵亮苏小操
申请(专利权)人:中国航空工业集团公司雷华电子技术研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1