I have been programmming on DM648 EVM. It is designed to sample Audio and Video data from peripherals, and the data encoded to be sent to LAN.
Encoer.cfg is showed as:
xdc.loadPackage('ti.sdo.pspdrivers.pal_sys.dm648');
/* USE Vport Driver */
xdc.loadPackage('ti.sdo.pspdrivers.drivers.vport');
/* USE VportEdc Driver */
xdc.loadPackage('ti.sdo.pspdrivers.system.dm648.bios.evmDM648.video');
/* USE EDMA3 Sample App */
xdc.loadPackage('ti.sdo.edma3.drv.sample');
/* USE Audio Driver */
xdc.loadPackage('ti.sdo.pspdrivers.system.dm648.bios.evmDM648.audio');
var Settings = xdc.module('ti.sdo.pspdrivers.system.dm648.bios.evmDM648.audio.Settings');
Settings.channel = Settings.ONE_TO_ONE;
var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
osalGlobal.runtimeEnv = osalGlobal.DSPBIOS;
osalGlobal.defaultMemSegId = "DDR2";
xdc.useModule('ti.sdo.ce.Settings').checked = false;
var aacEnc = xdc.useModule('xd.audenc1_aac.AUDENC1');
var h264Enc = xdc.useModule('xd.codecs.h264enc.ce.H264ENC');
h264Enc.alg.codeSection = "DDR2"
h264Enc.alg.fastCodeSection = "L1PRAM"
h264Enc.alg.dataSection = "DDR2"
h264Enc.alg.fastDataSection="IRAM"
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var encode = Engine.create("encode_aac_h264", [
{name: "videnc", mod: h264Enc, groupId:0, local:true },
{name: "audenc", mod: aacEnc, groupId:0, local:true },
]);
xdc.includeFile('dskt2_dman3.cfg');
but when the program includes the vicp lib, the compile error following occurs:
>> error: symbol _edma3OsSemGive is defined multiple times:
bios_edma3_drv_sample_cs.obj
(C:\dvsdk_1_11_00_00_DM648\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\sample\lib\dm648\Debug\edma3_drv_bios_sample.lib) and
vicp_edma3_support.obj (D:\\CCStudio_v3.3\\c64plus\\vicplib\\lib\\DM648\\dmcsl648_bios.lib)
>> error: symbol _edma3OsSemCreate is defined multiple times:
bios_edma3_drv_sample_cs.obj
(C:\dvsdk_1_11_00_00_DM648\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\sample\lib\dm648\Debug\edma3_drv_bios_sample.lib) and
vicp_edma3_support.obj (D:\\CCStudio_v3.3\\c64plus\\vicplib\\lib\\DM648\\dmcsl648_bios.lib)
>> error: symbol _edma3OsProtectExit is defined multiple times:
bios_edma3_drv_sample_cs.obj
(C:\dvsdk_1_11_00_00_DM648\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\sample\lib\dm648\Debug\edma3_drv_bios_sample.lib) and
vicp_edma3_support.obj (D:\\CCStudio_v3.3\\c64plus\\vicplib\\lib\\DM648\\dmcsl648_bios.lib)
>> error: symbol _edma3OsSemDelete is defined multiple times:
bios_edma3_drv_sample_cs.obj
(C:\dvsdk_1_11_00_00_DM648\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\sample\lib\dm648\Debug\edma3_drv_bios_sample.lib) and
vicp_edma3_support.obj (D:\\CCStudio_v3.3\\c64plus\\vicplib\\lib\\DM648\\dmcsl648_bios.lib)
>> error: symbol _edma3OsProtectEntry is defined multiple times:
bios_edma3_drv_sample_cs.obj
(C:\dvsdk_1_11_00_00_DM648\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\sample\lib\dm648\Debug\edma3_drv_bios_sample.lib) and
vicp_edma3_support.obj (D:\\CCStudio_v3.3\\c64plus\\vicplib\\lib\\DM648\\dmcsl648_bios.lib)
>> error: symbol _edma3OsSemTake is defined multiple times:
bios_edma3_drv_sample_cs.obj
(C:\dvsdk_1_11_00_00_DM648\edma3_lld_1_05_00\packages\ti\sdo\edma3\drv\sample\lib\dm648\Debug\edma3_drv_bios_sample.lib) and
vicp_edma3_support.obj (D:\\CCStudio_v3.3\\c64plus\\vicplib\\lib\\DM648\\dmcsl648_bios.lib)
when I delete the audio device in Encoder.tcf file, the program can be compiled successfully.
Encoder.tcf is following:
...
//var udevCodec = bios.UDEV.create("udevCodec");
//udevCodec.fxnTable = prog.extern("AUDIO_AIC33_FXNS");
//udevCodec.initFxn = prog.extern("AUDIO_AIC33_init1");
//udevCodec.fxnTableType = "IOM_Fxns";
//udevCodec.params = null;
//udevCodec.deviceId = 0;
//udevCodec.deviceGlobalDataPtr = null;
...
I use dvsdk_1_11_00_00_DM648, CCStudio_v3.3, bios_5_31_08, vicplib-3.2 tools.