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.

Can dm8168 run omx programs and syslink programs in the same time?

Other Parts Discussed in Thread: SYSBIOS

Dear all,

      I am now using ezsdk_5_05 on dm8168evm.

      I have developed an application using omx framework.

      Now I want to develop applications on dsp(c674x) by my own.

      I used syslink to load application on dsp. But the software develop guide told me syslink sample must run without firmware loaded.

      Is it possible to load application to dsp with firmware loaded?( hdvisp2 firmware and hdvpss firmware).

 

      If it is impossible, please tell me.

      if possible, please give me some suggestions.

      Thanks

       Best regards.

 

        P.S I have asked three questions in this forums but got no replies.

  • Hi Margraita,

    great thanks for reply.

     

    I have checked the link u gave me and here is my config.bld and dsp.cfg file.

     

    /*  *  ======== config.bld ========  *  */

     var Build = xdc.useModule('xdc.bld.BuildEnvironment');

    var SR_0 = {        

         name: "SR_0", space: "data", access: "RWX",        

         base: 0x8E000000, len: 0x10000,        

         comment: "SR#0 Memory (64 KB)"    

    };

    var SR_1 = {

             name: "SR_1", space: "data", access: "RWX",

             base: 0x8E010000, len: 0x20000,

             comment: "SR#1 Memory (128 KB)"

         };

    Build.platformTable["ti.platforms.evmTI816X:dsp"] = {

         externalMemoryMap: [

                 [ SR_0.name, SR_0 ],

                 [ SR_1.name, SR_1 ],

                 [ "DSP_PROG", {  

                           name: "DSP_PROG", space: "code/data", access: "RWX",

                           base: 0x8F000000, len: 0x1000000,

                           comment: "DSP Program Memory (16 MB)"

                              }]     ],    

                   codeMemory:  "DSP_PROG",

                   dataMemory:  "DSP_PROG",    

                   stackMemory: "DSP_PROG",

                   l1DMode: "32k",

                    l1PMode: "32k",    

                    l2Mode: "256k" };

     //------------end config.bld---------------------//

     

     

    /*

    *  ======== Dsp.cfg ========

    *

    */

    /* root of the configuration object model */

    var Program = xdc.useModule('xdc.cfg.Program');

    environment['xdc.cfg.check.fatal'] = 'false';

    /* application uses the following modules and packages */

    xdc.useModule('xdc.runtime.Assert');

    xdc.useModule('xdc.runtime.Diags');

    xdc.useModule('xdc.runtime.Error');

    xdc.useModule('xdc.runtime.Log');

    xdc.useModule('xdc.runtime.Registry');

    xdc.useModule('ti.sysbios.gates.GateHwi');

    xdc.useModule('ti.sysbios.knl.Semaphore');

    xdc.useModule('ti.sysbios.knl.Task');

    var BIOS = xdc.useModule('ti.sysbios.BIOS');

    BIOS.libType = BIOS.LibType_NonInstrumented;

     

    /*

    *  ======== IPC Configuration ========

    */

    /* required because SysLink is running on the host processor */

    xdc.useModule('ti.syslink.ipc.rtos.Syslink');

    /* configure processor names */

    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');

    var procNameAry = MultiProc.getDeviceProcNames();

    MultiProc.setConfig("DSP", procNameAry);

    /* ipc configuration */

    var Ipc = xdc.useModule('ti.sdo.ipc.Ipc');

    /* ipc setup for SR0 Memory (host processor not running Sys/Bios) */

    Ipc.sr0MemorySetup = true;

    /* set ipc sync to pair, requiring Ipc_attach() call on all processors */

    Ipc.procSync = Ipc.ProcSync_PAIR;

    /* define host processor */

    Ipc.hostProcId = MultiProc.getIdMeta("HOST");

    /* shared region configuration */

    var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');

    /* configure SharedRegion #0 (IPC) */

    var SR0Mem = Program.cpu.memoryMap["SR_0"];

    SharedRegion.setEntryMeta(0,

        new SharedRegion.Entry({

            name:           "SR0",

            base:           SR0Mem.base,

            len:            SR0Mem.len,

            ownerProcId:    MultiProc.getIdMeta("HOST"),

            cacheEnable:    false,

            isValid:        true

        })

    );

    /* configure SharedRegion #1 (MessageQ Buffers) */

    var SR1Mem = Program.cpu.memoryMap["SR_1"];

    SharedRegion.setEntryMeta(1,

        new SharedRegion.Entry({

            name:           "MessageQ Buffers",

            base:           SR1Mem.base,

            len:            SR1Mem.len,

            ownerProcId:    MultiProc.getIdMeta("HOST"),

            cacheEnable:    false,

            isValid:        true

        })

    );

    /*  configure external memory cache property

    *

    *  8000_0000 - 9FFF_FFFF  2000_0000  ( 512 MB) Cache.MAR128_159

    *  --------------------------------------------------------------------------

    *  8000_0000 - 8DFF_FFFF   E00_0000  ( 224 MB) --------  don't care

    *  8E00_0000 - 8E00_FFFF     1_0000  (  64 KB) SR_0      no-cache      MAR142

    *  8E01_0000 - 8EFF_FFFF    FF_0000  ( ~15 MB) --------  no-cache      MAR142

    *  8F00_0000 - 8FFF_FFFF   100_0000  (  16 MB) DSP_PROG  cache enable  MAR143

    *  9000_0000 - 9FFF_FFFF  1000_0000  ( 256 MB) --------  don't care

    */

    Cache = xdc.useModule('ti.sysbios.family.c64p.Cache');

    Cache.MAR128_159 = 0x00008000;  /* xxxx xxxx xxxx xxxx 10xx xxxx xxxx xxxx */

     

    /*

    *  ======== Operating System Configuration ========

    */

    /* no rts heap */

    Program.heap = 0;

    Program.argSize = 100;  /* minimum size */

    Program.stack = 0x1000;

    /* create a default heap */

    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');

    var heapMemParams = new HeapMem.Params();

    heapMemParams.size = 0x4000;

    var Memory = xdc.useModule('xdc.runtime.Memory');

    Memory.defaultHeapInstance = HeapMem.create(heapMemParams);

    /* configure System module */

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

    SysMin.bufSize = 0x1000;

    SysMin.flushAtExit = false;

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

    System.SupportProxy = SysMin;

     

    /*

    *  ======== Miscellaneous Configuration ========

    */

    /* set default diags mask */

    var Diags = xdc.useModule('xdc.runtime.Diags');

    var Defaults = xdc.useModule('xdc.runtime.Defaults');

    Defaults.common$.diags_ENTRY     = Diags.ALWAYS_ON;

    Defaults.common$.diags_EXIT      = Diags.ALWAYS_ON;

    Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_ON;

    Defaults.common$.diags_INTERNAL  = Diags.ALWAYS_ON;  /* needed for asserts */

    Defaults.common$.diags_ASSERT    = Diags.ALWAYS_ON;  /* development only   */

    Defaults.common$.diags_STATUS    = Diags.RUNTIME_ON;

    Defaults.common$.diags_USER1     = Diags.ALWAYS_ON;

    Defaults.common$.diags_USER2     = Diags.ALWAYS_ON;

    Defaults.common$.diags_USER3     = Diags.ALWAYS_ON;

    Defaults.common$.diags_USER4     = Diags.ALWAYS_ON;

    Defaults.common$.diags_USER5     = Diags.ALWAYS_ON;

    Defaults.common$.diags_USER6     = Diags.ALWAYS_ON;

    Defaults.common$.diags_INFO      = Diags.ALWAYS_ON;

    Defaults.common$.diags_ANALYSIS  = Diags.ALWAYS_ON;

    /* override diags mask for selected modules */

    xdc.useModule('xdc.runtime.Main');

    Diags.setMaskMeta(

        "xdc.runtime.Main",

        Diags.ENTRY | Diags.EXIT | Diags.INFO,

        Diags.RUNTIME_ON

    //ALWAYS_ON

    );

    var Registry = xdc.useModule('xdc.runtime.Registry');

    Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;

    Registry.common$.diags_EXIT  = Diags.RUNTIME_OFF;

    Registry.common$.diags_INFO  = Diags.RUNTIME_OFF;

    Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;

    /* create a logger instance */

    var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');

    var loggerBufP = new LoggerBuf.Params();

    loggerBufP.numEntries = 128;  /* 128 entries = 4 KB of memory */

    loggerBufP.bufType = LoggerBuf.BufType_FIXED;

    var appLogger = LoggerBuf.create(loggerBufP);

    appLogger.instance.name = "AppLog_Core1";

    Defaults.common$.logger = appLogger;

     

     

    it seems not conflicted to the memory map that omx video components is using~~

    please help me ,thanks.

     

    regards.

  • Did anybody know how to solve this question? I asked this question serveral months ago, and now my project is stucked in here.Please help!! I m running the syslink example named ex02_messageq in ezsdk_5_05