如何构建DSPServer

如何构建DSPServer

ID:47045562

大小:629.77 KB

页数:10页

时间:2019-07-08

如何构建DSPServer_第1页
如何构建DSPServer_第2页
如何构建DSPServer_第3页
如何构建DSPServer_第4页
如何构建DSPServer_第5页
资源描述:

《如何构建DSPServer》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、德州仪器(TI)的达芬奇(DaVinci)数字媒体技术平台包括四大部分:芯片(处理器)、开发工具或开发套件、软件及技术支持。其中软件开发涉及到操作系统、音视频编解码算法及ARM和DSP之间的分工协作,让很多工程师感到比较复杂。       为此TI推出了一系列软件模块和工具来建立Davinci软件开发的框架,方便工程师在此基础上快速的开发自己的产品。这些软件模块和工具包含在TI的基于达芬奇技术的数字视频评估板的软件开发包中。       一般的视频应用系统中,Davinci的ARM负责操作系统应用,DSP负

2、责运行音视频codec算法处理,ARM通过TI的CodecEngine机制调用DSP侧的codec。那么怎样把不同的codec算法集成到一个DSP可执行程序(称为DSPServer)中,又保证它们占用的资源不冲突?本文从Davinci软件结构入手,介绍如何构建DSPServer,及如何通过DSPServer的配置文件配置FC(FrameworkComponent),以便通过FC管理DSP的资源。      达芬奇DMSoC软件概述      一般来讲,软件系统分为应用层、信号处理层和I/O层三部分,TI提供

3、的达芬奇参考软件框架就是基于这样的结构,如图1所示。Davinci的应用工程师可以在系统的用户空间在系统功能性上添加和发挥自己的特色。信号处理层通常都运行在DSP一侧负责信号处理,包括音视频编解码算法、CodecEngine、DSP的实时操作系统DSP/BIOS及和ARM通信的模块。I/O层就是我们通常所说的驱动,是针对Davinci外设模块的驱动程序。       其中应用层通过CodecEngine的VISA(Video,Image,Speech,Audio)API来调用DSP侧的算法,通过EPSI(E

4、asyPeripheralSoftwareInterface)API来访问和操作Davinci的外设。这三个部分通常对应三个Davinci软件开发小组。当然还需要一个系统集成工程师把这三个部分集成起来,不过VISAAPI和EPSIAPI的存在已经大大简化了集成工作的复杂程度。      如图2所示,DaVinci的软件开发通常需要四个步骤(本文以codec运行在DSP为例):      图2:软件系统分为应用层、信号处理层和I/O层三部分,达芬奇软件开发通常需要以上四个步骤。       第一步,工程师需要

5、基于DSP利用CCS开发自己的音视频编解码算法,编译生成一个编解码算法的库文件*.lib(等同于Linux环境下的*.a64P,直接在Linux环境下修改文件后缀名即可)。如果要通过CodecEngine调用这个库文件中的算法函数,那么这些算法实现需要符合xDM(xDAIS(eXpressDSPAlgorithmInterfaceStandard)forDigitalMedia)标准;CodecEngine机制下不符合xDM标准的算法实现需要创建算法自己的Stub和Skeleton(具体请参考spraae7

6、.pdf)。      第二步,生成一个在DSP上运行的可执行程序*.x64P(即.out文件),也就是DSPServer。本文将详细介绍这一步。      第三步,根据DSPServer的名字及其中包含的具体的音视频编解码算法创建CodecEngine的配置文件*.cfg。这个文件定义Engine的不同配置,包括Engine的名字、每个Engine里包括的codecs及每个codec运行在ARM还是DSP侧等等(具体说明,请参考sprue67.pdf的第5章IntegratinganEngine)。   

7、   最后,应用工程师收到不同的codec包、DSPServer和Engine配置文件*.cfg,把自己的应用程序通过编译、链接,最终生成ARM侧可执行文件。      CodecEngine概述      前面我们提到,应用工程师通过调用CodecEngine的API来调用和运行符合xDAIS的算法(关于API的具体信息,请参考sprue67.pdf第4章)。在Davinci软件中,符合xDAIS的音视频编解码算法(即xDM算法)的调用是通过CodecEngine的VISAAPI完成的。CodecEngi

8、ne通过这套API为算法的执行提供了一个标准的软件架构和接口,体现在以下几个方面:       1.通过CodecEngineAPI调用的算法可以运行在本地(ARM侧)或者远端(DSP侧);      2.CodecEngine可以基于ARM+DSP、DSP或ARM上运行;      3.无论CodecEngine运行在ARM还是DSP上,对应的CodecEngineAPI都是完全一致的;      4.Code

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。