参考codec server的html文档写app.cfg:
var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
osalGlobal.runtimeEnv = osalGlobal.LINUX;
xdc.useModule('ti.sdo.xdcruntime.linux.Settings');
xdc.useModule('ti.sdo.ce.ipc.dsplink.Ipc');
xdc.useModule('ti.sdo.ce.ipc.dsplink.Processor');//注意这行,漏掉的话会链接失败。
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var myEngine = Engine.createFromServer(
"x264server", // Engine name (as referred to in the C app)
"bin/x264server.xe64P", // path to server exe, relative to its package dir
"xmu.x264server" // full server package name
);
var SCPY = xdc.useModule('ti.sdo.fc.scpy.SCPY');
var SDMA = xdc.useModule('ti.sdo.linuxutils.sdma.SDMA');
app.bld:
var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');GCArmv5T.LONGNAME = 'bin/arm-none-linux-gnueabi-gcc';
GCArmv5T.platform = "ti.platforms.evm3530";
//GCArmv5T.rootDir = "C:\\Program Files\\CodeSourcery\\Sourcery G++ Lite";
GCArmv5T.rootDir = "/media/work/sdk/Sourcery_G++_Lite";
Build.targets = [
];
运行XDCPATH="/media/work/sdk/codec_engine_3_21_00_19/packages;/media/work/sdk/codec_engine_3_21_00_19/cetools/packages;/media/work/sdk/codec_engine_3_21_00_19/syslink_2_00_02_80/packages;/media/develop/git/x264dsp" "/media/work/sdk/codec_engine_3_21_00_19/xdctools_3_22_02_27/xs" xdc.tools.configuro -o cfg_tmp -t gnu.targets.arm.GCArmv5T -p ti.platforms.evm3530 -b app.bld app.cfg
生成codec server的配置
删除linker.cmd的后面SECTIONS开始至文件尾部分,注意不能用-T linker.cmd编译,否则会莫名其妙地链接失败^_^
最后编译app对应的代码:
/opt/CodeSourcery/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -o x264app v4l2_x264.o cfg_tmp/linker.cmd -lpthread -ldl -lrt
注意:
1、 linker.cmd与输入文件的顺序,并且不能加"-T"
2、链接时要加上-ldl -lrt。