This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS 5.3 and CodecEngine for dm355

Other Parts Discussed in Thread: SYSBIOS

Hello.

I created a project for dm355 processor using BIOS and Codec Engine. But the building fails. The following are the sources and project settings.

// - - - - - - - - - - - - -    hello.c    - - - - - - - - - - - - - - - - - - - - -
#include <xdc/std.h>

#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sdo/fc/dskt2/dskt2.h>
#include <ti/sdo/ce/utils/syscbuf/SysCBuf.h>

#include <xdc/std.h>
#include <ti/sdo/ce/Engine.h>
#include <ti/sdo/ce/CERuntime.h>

Void main()
{
    System_printf("hello world\n");
    CERuntime_init();
    BIOS_exit(0); 
}

// - - - - - - - - - - - - - - - hello.cfg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
var Defaults = xdc.useModule('xdc.runtime.Defaults');
var Diags = xdc.useModule('xdc.runtime.Diags');
var Error = xdc.useModule('xdc.runtime.Error');
var Log = xdc.useModule('xdc.runtime.Log');
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
var Main = xdc.useModule('xdc.runtime.Main');

var SysMin = xdc.useModule('xdc.runtime.SysMin');
var System = xdc.useModule('xdc.runtime.System');
var Text = xdc.useModule('xdc.runtime.Text');

var BIOS = xdc.useModule('ti.sysbios.BIOS');
var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var Memory = xdc.useModule('xdc.runtime.Memory');
var SysCBuf = xdc.useModule('ti.sdo.ce.utils.syscbuf.SysCBuf');
var Engine = xdc.useModule('ti.sdo.ce.Engine');
var Settings = xdc.useModule('ti.sdo.ce.osal.bios.Settings');
var Server = xdc.useModule('ti.sdo.ce.Server');
var UNIVERSALConfig = xdc.useModule('ti.sdo.ce.universal.UNIVERSALConfig');

xdc.useModule('ti.sysbios.xdcruntime.Settings');

Program.argSize = 0x0;
BIOS.heapSize = 0x2000;
Program.stack = 0x1000;
SysMin.bufSize = 0x400;

var loggerBufParams = new LoggerBuf.Params();
loggerBufParams.numEntries = 32;
var logger0 = LoggerBuf.create(loggerBufParams);
Defaults.common$.logger = logger0;
Main.common$.diags_INFO = Diags.ALWAYS_ON;

System.SupportProxy = SysMin;


var tempMemParams = new HeapMem.Params();
var extHeapName = "DDR2";     // just
a default, override if needed

    tempMemParams.size        = 0x00400000;  // 4 MB
    tempMemParams.sectionName = ".DDR2_HEAP";

    Program.global.DDR2_HEAP = HeapMem.create(tempMemParams);
    Program.sectMap[".DDR2_HEAP"] = extHeapName;
   
   

var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
    osalGlobal.runtimeEnv = osalGlobal.DSPBIOS;
var    CERuntime = xdc.useModule('ti.sdo.ce.CERuntime');
    xdc.useModule('xdc.runtime.knl.Thread');
   
    var DSKT2 = xdc.useModule('ti.sdo.fc.dskt2.DSKT2');
    DSKT2.DARAM0     = "DDR2_HEAP";
    DSKT2.DARAM1     = "DDR2_HEAP";
    DSKT2.DARAM2     = "DDR2_HEAP";
    DSKT2.SARAM0     = "DDR2_HEAP";
    DSKT2.SARAM1     = "DDR2_HEAP";
    DSKT2.SARAM2     = "DDR2_HEAP";
    DSKT2.ESDATA     = "DDR2_HEAP";
    DSKT2.IPROG      = "DDR2_HEAP";
    DSKT2.EPROG      = "DDR2_HEAP";
    DSKT2.DSKT2_HEAP = "DDR2_HEAP";

Memory.defaultHeapSize = 4096;

// - - - - - - - - - - - - - - - - Build console- - - - - - - - - - - - - - - - - - - - - - - - - - - -
**** Build of configuration Debug for project CE_t ****

"H:\\CCS 5.3\\ccsv5\\utils\\bin\\gmake" -k all
'Building target: CE_t.out'
'Invoking: ARM Linker'
"H:/CCS 5.3/ccsv5/tools/compiler/arm_5.0.1/bin/armcl" -mv5e --code_state=32 --abi=eabi -me -g --define=dm355 --define=dm350 --diag_warning=225 --display_error_number -z --stack_size=0x800 -m"CE_t.map" --heap_size=0x800 -i"H:/CCS 5.3/ccsv5/tools/compiler/arm_5.0.1/lib" -i"H:/CCS 5.3/ccsv5/tools/compiler/arm_5.0.1/include" --reread_libs --warn_sections --display_error_number --rom_model -o "CE_t.out" -l"./configPkg/linker.cmd"  "./hello.obj" -l"libc.a"
<Linking>
warning #10229-D: output section ".data.1" refers to load symbol
   "DSKT2_cacheWBInv" and hence cannot be compressed; compression "rle" is
   ignored

 undefined                                         first referenced                                        
  symbol                                               in file                                             
 ---------                                         ----------------                                        
 Algorithm_init                                    G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9

>> Compilation failure
 CESettings_init                                   G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Comm_init                                         G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 DSKT2_cacheWBInv                                  G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Engine_alwaysCollectDspTrace                      G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Engine_ceDebugDspTraceMask                        G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Engine_init                                       G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 FCSettings_init                                   G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Global_getenv                                     G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Global_init                                       G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Loader_init                                       G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Processor_init                                    G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 Server_init                                       G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 XdmUtils_init                                     G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 _VISA_init                                        G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 ti_sdo_ce_osal_Memory_init                        G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9
 ti_sdo_ce_utils_syscbuf_SysCBuf_Module_startup__F G:\PVS\prg\CE_t\Debug\configPkg\package\cfg\hello_pe9.oe9

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "CE_t.out" not built
gmake: *** [CE_t.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****


I also tried to create a project based on the Codec Engine example, but the result was the same.


Tell me please, is there a possibility of working with Codec Engine for dm355 in CCS. If so, what am I doing wrong?


  • Hi,

    Mikhail Ivantsov said:

    Tell me please, is there a possibility of working with Codec Engine for dm355 in CCS. If so, what am I doing wrong?

    It may be possible but it is not guaranteed. The main issue is that DVSDK 3.10.00 was designed to be built from the command-line using a Linux host PC and its components have very strict dependencies on the versions of the tools - for example, I see you are using SYSBIOS 6.34.2.18 but the tools use an earlier release (5.41.00.06), which has significant and fundamental differences.

    Therefore, I say that you are free to try to create a project but unfortunately I am afraid it will be a very involving work. Let's hope that some other developer is able to share his experience with this migration.

    Regards,

    Rafael 

     

  • Hi. Release 5.41.00.06 does not work.Tell you which versions of these two software products ( codec engine and sys\bios or dspbios)are not compatible?

  • Mikhail,

    The list of the SW packages that are included in DM355 DVSDK 3.10 is available from the SW manifest document available at:
    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/latest/index_FDS.html
    All those SW packages have been tested together in the context of the DVSDK.
    Still as Raphael mentioned the build mecanism of the DVSDK was command line build.
    Also the tool chain provided was code sourcery (see release notes) and you seem using TI ARM compiler.

    There are no garanty that you can build again the application or SW packages of this DVSDK using CCS 5.x. This has not been tested and might or not work.
    Keep in mind that this DVSDK was released before that CCS 5.x even existed.

    Since then we have tried to support better the build and debug of the some of the SDK SW package via CCS 5.x but still this is true only for new DVSDK/SDK, not for older like the DM355 DVSDK.

    Hope it helps.

    Anthony