. 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的命令语法如下:
通过DVTB命令,可以控制audio/vpbe/bpfe等外设或各音视频编解码器,来完成一些测试工作。具体安装过程和命令使用方法可以参考:/opt/dvevm_#_#_#/dvtb_#_#/目录下文档。暂时还没有用到。
3. XDC(Express DSP Component)的配置
XDC是用来编译和打包的工具,能够创建实时软件组件包RTSC(Real Time Software Component).与其他编译工具一样,它能根据源文件和库文件编译生成可执行文件。不同的是它能够自动的进行性能优化和版本控制。XDC还能够根据所提供的配置脚本语言产生代码,这一特性在编译如编解码器、服务器和引擎等可执行程序时尤为重要。
>XDC的调用语法格式: XDC
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库(做法还有点疑问).