RTSC wizard 的使用
来源:互联网 发布:centos挂载ntfs安装 编辑:程序博客网 时间:2024/06/05 16:13
关于TI的RTSCwizard介绍请查看TI官方网站上的RTSCCodec Package Wizard FAQ介绍,还有一个是Server的,先介绍codecwizard的使用。
首先设置XDCPATH变量,用到xdc时会从这些目录找到对应工具与package.
exportXDCPATH="/home/newton/dvsdk_3_00_02_44/ceutils_1.06/packages;/home/newton/dvsdk_3_00_02_44/codec_engine_2_24/packages;/home/newton/dvsdk_3_00_02_44/codec_engine_2_24/examples/ti/sdo/ce/examples;/home/newton/dvsdk_3_00_02_44/xdais_6_24/packages;/home/newton/dvsdk_3_00_02_44/bios_5_33_06/packages;/home/newton/dvsdk_3_00_02_44/dsplink_1_61_03/packages;/home/newton/dvsdk_3_00_02_44/biosutils_1_01_00/packages;/home/newton/dvsdk_3_00_02_44/framework_components_2_24/packages;/home/newton/workspace/RTSC/fkrtsc_wizard"
有些可能是多余的,但是多了总比少了好,呵呵。
开始工作了,xsti.sdo.codecutils.genpackage -g,运行向导,如果提示packagenot found 肯定是前面的XDCPATH设置有问题。
Step1:如图1所示
PackageName是包名,完成之后会在repository,也就是最后一项的路径下面产生wenxin/omap3530/codecs/viddec_copy目录,viddec_copy为basedirectory,repository就称为库名吧。
Module:模块名,会生成VIDDEC_COPY.xdc
Version:版本号
CodecClass:编解器类型,跟XDCPATH有关(这里新版本DVSDK最好设置为video2.IVIDEC2)
InstructionSet Architecture:设置指令集类型,我想用在Omap3530上,就选v5T了。
Createce content:是否产生CE子目录,TI是这样解释的:Ifthis box is checked, the wizard will generate Codec Engine specificcontent, which includes a ce directory with
fourfiles(package.bld, package.xdc, MODULE.xs, and MODULE.xdc). Ifunchecked, the wizard will only generate
thebase package content.
所以我选上了。
Step2:如图2所示
watermark:决定是产生production还是evaluation。如果要产生evaluation,则为true,并且双击Library,添加evalutionlibrary。
Step3:如图3所示
添加必要文件和文件夹,我是按照那个ceutils里面的那个例子来的,添加了两个文件和两个文件夹。
Step4:如图4所示
是一些工具目录,前两项默认就可以了,nm6x设置dvsdk_3_00_02_44/cg6_0/bin/nm6x
它会查询前面那个库的一些属性。
Step5:如图5所示:
这里需要进行一些配置,我注意到如果前面的第四步没有设置nm6x,则这一步不会自动出现ialgFxns为VIDDECCOPY_TI_IALG.并且这里的设置会出现在ce目录下的VIDDEC_COPY.xdc文件里。
Step6:如图6所示
这一步的作用是产生link.xdt,我没发法编辑,最后手动修改了。
这是最后产生的文件:
剩下的最后一步是打包了,新建一个config.bld:
varremarks = " " +
"-pden" + // enumerate remarks
"-pds=681" + // call cannot be inlined
"-pds=452" + // long long type is not standard
"-pds=195" + // zero used for undefined preprocessing id (setjmp.h)
"";
varC64P = xdc.useModule('ti.targets.C64P');
C64P.platform = "ti.platforms.evmDM6446";
C64P.ccOpts.prefix+= " --no_compress --mem_model:data=far --disable:sploop "+ remarks;
C64P.rootDir= "/home/newton/dvsdk_3_00_02_44/cg6_0";
/*
* ======== Linux host target ========
*/
varLinux86 = xdc.useModule('gnu.targets.Linux86');
Linux86.lnkOpts.suffix= "-lpthread " + Linux86.lnkOpts.suffix;
Linux86.rootDir= "/usr";
Linux86.ccOpts.prefix+= " -Wall";
Linux86.includeOpts+= " -isystem /usr/lib/gcc/i486-linux-gnu/4.3.3/include ";
varMVArm9 = xdc.useModule('gnu.targets.arm.GCArmv5T');
MVArm9.ccOpts.prefix+= " "
+"-Wall "
+"-fno-strict-aliasing "
;
MVArm9.platform= "ti.platforms.evm3530";
MVArm9.LONGNAME= "bin/arm-none-linux-gnueabi-gcc";
MVArm9.rootDir= "/home/newton/toolchain/arm-2008q1";
MVArm9.lnkOpts.suffix= MVArm9.lnkOpts.suffix.replace("-lstdc++", "");
MVArm9.lnkOpts.suffix= "-lpthread " + MVArm9.lnkOpts.suffix;
/*add search path for DaVinci lsp driver header files */
MVArm9.includeOpts= "-isystem /home/newton/workdir/opt/linux-2.6.28-omap/include "+ MVArm9.includeOpts;
/*
* ======== Pkg.attrs.profile ========
*/
Pkg.attrs.profile= "release";
/*
* ======== Pkg.libTemplate ========
* Set default library version template to be used by all packages
*/
Pkg.libTemplate= "ti/sdo/ce/utils/libvers.xdt";
/*
* ======== Build.targets ========
*list of targets (ISAs + compilers) to build for
*/
Build.targets= [
C64P,
MVArm9
];
varpaths = [];
paths["EXEC_DIR"]="/home/user/workdir/filesys/opt/workshop";
这个是参照workshop里面的config.bld修改的,设置了targets,platform,rootDir
最后执行XDCBUILDCFG=../../../../config.bldxdc release -PR .注意-PR与-PD的区别,-PR会递归打包,比如本例子中的ce里面也会打包,如果是-PD只是在那个路径下打包和所依赖的包。Xdc–help可以看下帮助,另外注意最后一个'.'不要忘了,表示要打包的路径,'.'代表当前路径。
至此Codec的步骤已经全部完成了,接着是第二个步骤,RTSCwizard server
输入命令xsti.sdo.codecutils.genserver -g
CodecPackage Name:这里是codec包名,就设置为之前创建的codecpackage name,如果忘了,可以在package.xdc中找到
ModeuleName:模块名,会自动填充第一项'.'后面的内容,变成大写
platform:我用的Devkit8000就选ti.platforms.evm3530了
ServerPackage Name:这里是server包名,会根据第一项codecpackage name自动更改的
Repository:这里是生成server的位置了,跟codec作用一样。
Ok了,最后打包:XDCBUILDCFG=../../../../config.bldxdc release -PD . 最后会生成.X64P文件,这就是我们最终想要得到的DSP可运行的可执行程序。
终于大功告成了,还有些Warnning可能是link.xdt没有设置,机子没法联网,装一些包什么的特麻烦,下了一大堆东西还是没装上。
./ofd6x-xg --xml_indent=0 --obj_display=none,header,optheader--dwarf_display=none,dinfo/home/newton/workspace/RTSC/viddec_copy_unpackaged/lib/viddec_copy_eval.a64P| perl ../ofd/call_graph.pl
Can'tlocate XML/Simple.pm in @INC (@INC contains:/home/newton/dvsdk_3_00_02_44/cg_xml_v2_12_00/ofd /etc/perl/usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10/usr/share/perl/5.10 /usr/local/lib/site_perl .) at/home/newton/dvsdk_3_00_02_44/cg_xml_v2_12_00/ofd/XML_TI_OFD.pm line519.
最后总结一些可能遇到的问题:
1.Undefinedsymbol VIDDECCOPY_TI_IALG
这个是链接错误,查看willlink with 看是否有那个codec里面的lib文件,如果没有修改一下package.xs里面的getlibs()函数
2.Undefinedsymbol VIDDEC_SKEL
基本上就是应该选择viddeo2_VIDDEC2的原因了,新版本的DVSDK导致的吧。也可能是MOD.xdc里面没加什么inherit??
- RTSC wizard 的使用
- RTSC wizard 的使用
- Wizard控件的使用
- Wizard控件的使用
- RTSC简介(2)---组件从产生到使用的过程
- RTSC---组件从产生到使用的过程
- asp.net 中 wizard的使用
- Eclipse New Wizard的Wizard
- 关于bootstrap的向导式插件bootstrap-wizard的使用
- 使用Package & Deployment Wizard打包VB工程调用的控件
- ISE的IP核clocking wizard使用和例化
- ext的wizard
- Wizard
- 定制 visual studio 的 wizard
- Doxygen GUI wizard 的配置
- 替代IP wizard的脚本
- 关于STM32的configuration wizard
- 使用VC的Class Wizard派生父类为CRecordset类时出现的错误
- 屏蔽右键
- 改变CAMERA CAPTURE 的路径
- startActivityForResult 和onActivityResult
- 回顾微软的Amalga
- 去pbook出本书
- RTSC wizard 的使用
- 控件包含代码块(即 ),因此无法修改控件集合。
- B树、B-树、B+树、B*树
- ext 知识点小结
- const方法的学习
- spring中出现dataSource is required异常
- MTK WAP和MMS网络服务配置
- SqlHelper类
- Java打jar包,生成.bat文件