新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 多核软件开发套件

多核软件开发套件

作者:时间:2012-11-01来源:网络收藏

Sanjay Bhal 战略市场营销经理,多核与媒体基础架构业务部

本文引用地址:http://www.eepw.com.cn/article/148284.htm

Raj Sivarajan 软件工程设计经理,多核与媒体基础架构业务部

Raghu Nambiath 软件设计工程师,多核与媒体基础架构业务部

介绍

多核数字信号处理器(DSP) 现已开始在不同的细分市场逐渐推广,包括测量测试、关键任务、工业自动化、医疗与高端影像设备,以及高性能计算等。随着这些应用的处理需求不断增长,德州仪器(TI) 通过了新一代可扩展高性能TMS320C66x 多核DSP。C66x 器件建立在TI KeyStone 架构基础之上,可为多核器件中的每个内核提供全面的处理功能,是实现真正多核创新的平台。TI C66x 高性能DSP 包括采用单、双、四以及八内核配置提供的引脚兼容及可扩展器件。

德州仪器(TI) 对多核DSP 编程模型思路非常全面,已经开发出一系列能够在TI 多核DSP 平台上实现快速开发的可扩展工具与软件。本文主要介绍TI 多核(MCSDK),具体内容涵盖对各种可用软件以及实用程序及工具链的概述,可为编程人员开发Linux 等高级操作系统以及实时操作系统SYS/BIOS 助一臂之力。

MCSDK 的优势

TI MCSDK 旨在提供一个环境,通过TI 高性能多核DSP 平台实现快速开发,加速产品上市进程。MCSDK 实现这一目标的方法包括:

·为客户提供经测试的良好集成型通用软件层,客户无须从头开发通用层。例如,TI MCSDK 为配置和控制各种片上外设及加速器集成并测试了各种驱动器。客户可使用驱动器接口加强片上输入输出(I/O) 机制以及加速功能。由于该软件是专为器件优化的,因此使用MCSDK 的客户可从理想的性能优势中获益;

·集成SYS/BIOS 实时操作系统及Linux 高级操作系统支持;

·为简化编程以及在TI 可扩展多核DSP 平台上实现未来可移植性提供定义完善的应用编程接口。例如,用于内部核心通信的API 可在不进行任何代码修改的情况下,扩展支持TI 多核DSP 的双、四或八内核版本。此外,相同API 还可用于使用Serial RapidIO® 等行业标准IO 实现器件间的通信;

·建立示例文档,可帮助编程人员开发其应用。这些示例将为在多核上运行RTOS 和在多核上同时运行RTOS 与HLOS 提供有力帮助。此外,这些示例还将展示各种应用情况,不但可帮助客户开发新应用,而且还可提供一个从单内核系统到多核系统或从多核系统到单内核系统移植的路径;

·与Code Composer StudioTM 等TI 工具以及TI 第三方工具生态系统集成。

下图(图1)是上述MCSDK 及各种组件的概览图。

图1. TI MCSDK 组件

TI MCSDK 实际上由两个软件生态系统构成。第一个生态系统基于Linux,第二个基于SYS/BIOS。两个都包含可帮助客户便捷启动开发的所有功能性软件。每个生态系统都包含用于多核器件编程的各种机制(比如处理器间通信),在相同器件的不同内核上既可独立使用,也可组合使用。以下章节将总体介绍每个MCSDK 组件。

Linux MCSDK

Linux 多核(MCSDK) 为支持运行在TI C66x 系列高性能多核DSP 上的Linux 生态系统奠定了坚实基础。该套件包含可随时投入使用的Linux 内核、驱动器、样片应用以及经验证的工具,可充分满足客户的产品开发需求。Linux MCSDK 以开源发行版形式在www.linux-c6x.org上提供,包含预构建二进制程序,可随时通过在参考平台上运行来演示TI 高性能多核DSP 的功能。

总体而言,支持C66x 多核DSP 的Linux 是C66x 多核客户、独立开发者以及厂商协作社区推动的结果,可帮助参与和强化总体开发生态系统。目前已有多个参与方参与内核与工具链的开发和上游对接。具体包括GCC 工具链的CodeSourcery(现在是Mentor EmbeddedTM 的一部分)以及内核社区知名的Linux 开发商等。

生态系统组件

对Linux 生态系统的支持预计将是各种更丰富高性能应用的关键使能技术,可帮助客户轻松推出基于TI C66x 多核DSP 的平台。总的来说,该基础架构可通过增添市场导向型应用来帮助客户降低开发成本,集中精力提升价值定位。

Linux MCSDK 采用uClinux 类内核,因其较小的占位面积非常适合多核DSP 的开发。另外,Linux MCSDK 还包含支持访问DSP 内部所有外设的器件驱动器,这些外设将随实际DSP 的不同而不同。图2 是支持KeyStone 器件的外设与驱动器。

图2. Linux MCSDK 的软件生态系统组件

进程间通信

多核架构的主要编程要求之一就是能够在各种内核之间进行高效通信。TI Linux MCSDK 支持在运行SYS/BIOS 的核心之间,以及其它Linux 内核之间的通信,从而可为满足各种潜在产品需求提供高度的灵活性。

内核间的IPC

TI Linux MCSDK 通过SYS/Link 模块提供进程间通信(IPC) 驱动器,以在运行Linux 高级操作系统(HLOS) 的两个内核以及运行SYS/BIOS 实时操作系统(RTOS) 的多个内核之间实现通信。在预期的使用情况下,应在信号处理应用在BIOS 内核上执行的同时控制运行在Linux 内核上的代码。该软件架构将帮助运行Linux 的主机内核把信号处理分配给多个内核的同时,顺畅地继续执行其它任务。SYS/Link IPC 模块可为在多个内核中发送和接收不同字长消息提供MessageQ 支持。

如图3 所示,Linux MCSDK 还能使用一种支持IO 虚拟的标准化Linux 框架virtIO 在单一DSP 内实现在多个内核中运行的多个Linux 实例。


上一页 1 2 3 下一页

关键词: 套件 软件开发

评论


相关推荐

技术专区

关闭