织梦CMS - 轻松建站从此开始!

罗索

DAVINCI开发原理之二----DSP端开发环境的建立(DVSDK)

jackyhwei 发布于 2010-04-01 17:06 点击:次 
在一中只是建立了DVEVM的开发环境,只能进行ARM端程序的开发,如果需要开发DSP端的算法就还需要安装使用DVSDK,该软件包包括如下内容
TAG:

在一中只是建立了DVEVM的开发环境,只能进行ARM端程序的开发,如果需要开发DSP端的算法就还需要安装使用DVSDK,该软件包包括如下内容:
>Monta Vista Linux Profession Edition v4: 相对于DVEVM发布的montavista linux demo版本来说,这个完全专业版包含了DevRocket IDE和相关服务支持,要全面的多;
>DM6446x SoC Analyzer(DSA): 这个软件是安装在windows OS上的,用来观测分析DSP端和ARM上运行中程序的负载、资源冲突以及性能瓶颈等,不是一定得要,我没有使用过,好像是要另外付费的;
>DSP/BIOS for linux: DSP/BIOS是一个可升级的实时DSP内核,linux版本相对于window版本来说,不包含相应的图形分析工具;
>TI Codegen Tools for linux: 与DSP相关的一些编译、连接工具;
>Framework Components: 主要是用来支持DSP端算法开发的一些模块,能够管理符合xDAIS标准的算法模块,分配内存和DMA资源。这些模块是被CE来使用的,但如果有必要在DSP端程序也可以使用它们;
>Digital Video Test Bench(DVTB): 这是一个在ARM端运行,基于脚本语言的测试codec的应用程序。用户不需要写任何C代码就可以处理Linux I/O, codec API以及一些与线程有关的问题;
>CCS: 运行在windows OS上的集成开发环境,用来开发基于DSP的应用程序和相关算法;
      有了以上DVSDK相关套件,就可以构建DSP端的相关开发组建,其中Codec Engine Romote Server运行在DSP/BIOS上,而在RS中封装了相关算法,在算法的封装中要用到一些xDAIS的框架组件。DSP和GPP之间的通讯由DSP/BIOS Link来完成。

1. DVSDK的安装与配置
>安装:linux下的操作,比较简单,只是要注意DVSDK的版本必须与DVEVM版本号一致。且最好把相关的DVSDK安装在dvevm_#_#_#下。
>配置:在dvevm_#_#_#目录下的Rules.make文件控制了大部分的编译行为,该文件被dvevm_#_#_#目录及其一些子目录下的Makefile文件所包含,对DSP端应用程序的编译需要修改相应的文件,具体根据你实际DVSDK软件包的安装路径。里面要求指定DVEVM、CE、XDAIS、DSP LINK、CMEM、codec server、RTSC、FC、DSP/BIOS、linux kernel等等包的路径。

2. DVTB的安装和使用
      数字视频测试平台(DVTB)是不用C代码而直接利用一些脚本语言来测试DSP端算法的工具。在DVSDK安装后,会在dvevm_#_#_#目录下有个dvtb的目录,就在此执行安装,然后到DSP的可执行目录下去运行(DSP的可执行目录下必须要有cmemk.ko, dsplink.ko等文件),如/nfshost/mydemos.
    DVTB的命令语法如下:<Command> <class> <options>
    通过DVTB命令,可以控制audio/vpbe/bpfe等外设或各音视频编解码器,来完成一些测试工作。具体安装过程和命令使用方法可以参考:\opt\dvevm_#_#_#\dvtb_#_#\目录下文档。暂时还没有用到。

3. XDC(Express DSP Component)的配置
      XDC是用来编译和打包的工具,能够创建实时软件组件包RTSC(Real Time Software Component).与其他编译工具一样,它能根据源文件和库文件编译生成可执行文件。不同的是它能够自动的进行性能优化和版本控制。XDC还能够根据所提供的配置脚本语言产生代码,这一特性在编译如编解码器、服务器和引擎等可执行程序时尤为重要。
>XDC的调用语法格式: XDC <target files> <XDCPATH> <XDCBUILDCFG>
   target files: 指编译产生的目标文件。可以通过命令脚本来指定要产生哪些目标文件;
   XDCPTH:       编译时所要查找的目录;
   XDCBUILDCFG: 由"config.bld"文件指定,包含了与平台有关的编译指令。后面细说。
   以上命令模式可能在参数过多是很复杂,通常把它写成shell脚本来运行。

>与XDC相关的三个配置文件:
package.xdc: 主要包含与包package有关的信息:依赖信息、模块信息、版本信息。由自己提供。
package.bld: 主要作用是定义一个包应该如何被编译。文件内容用Javascript来描述。其中包含目标平台集的定义[MVArm9,Linux86]、编译版本的定义[release]、确定源文件集、生成的可执行文件信息等等。 这两个文件都是在server目录下,可见每个codec都有自己的package信息描述文件,然后XDC根据再依之生成一个package包。
config.bld: 这个文件处在codec_engine_##目录下,为各个codec所共有,它主要定义了与平台有关的特性,包含如下几部分:DSP Target、Arm Target、Linux Host Target、Build Targets、Pkg.attrs.Profile、Pkg.lib等具体信息。通常都是基于TI提供的模板对这三个配置文件做修改。

-----------------------------------------------------------------------------------------------------------------------------------

.xdc:
     这个文件完成的工作很简单,就是定义servers包名,即servers目录下文件夹名称,这里用的video_copy,如果改成h264_dec,则只要相应的在这个文件中做修改,这是整个servers骨架包的名称。但是这个包名更改后,.bld文件下所有关于serverName的值及.tcf文件名都要做相应修改,否则会找不到编译对象。同时,ceapp.cfg文件中的myEngine.server的值也应修改成 ./h264_dec.x64P.

.bld:
     这个文件里面定义编译对象时,如果对象的操作系统为'Linux',则什么都不做,这是因为Linux OS在这里不能做为host来进行远程codecs调用(我觉得就是因为这个原因才需要安装特定的montavista做OS). 另外,这里只限定了.tcf文件名必须是serverName,并没有限定.cfg文件的名称。这里平台和对象是在主目录的./user.bld中定义的。

.cfg:
     这里指定使能某个codec可以使用dma。然后在codecs目录下的package.bld文件中不仅添加编译对象.c文件,而且可添加dma库(做法还有点疑问).

(秩名)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201004/8956.html]
本文出处:网络博客 作者:秩名
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容