TI中文支持网
TI专业的中文技术问题搜集分享网站

shmIpcBenchmark工程在哪里设置包含库的

各位好

C:\ti\pdk_C6678_1_1_2_6\packages\ti\transport\ipc\examples\shmIpcBenchmark这个工程里,使用了platform_init函数,这是个库函数,

在C:\ti\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\lib\debug下

在右击工程属性里,是没有包含库的,也没有设置库路径。

但是,我想知道这个库以及生成的cmd中包含有很多库,它们是在哪里设置包含进的的?是在cfg文件吗?哪里有所体现呢?谢谢

下面是这个工程的cfg文件

/* –COPYRIGHT–,BSD
 * Copyright (c) 2011, Texas Instruments Incorporated
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * *  Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * *  Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * *  Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * –/COPYRIGHT–*/

/* Benchmark Task */
var Task = xdc.useModule('ti.sysbios.knl.Task');var tskParams = new Task.Params;
tskParams.instance.name = "tsk0";
Program.global.task0 = Task.create('&tsk0', tskParams); 

var Semaphore     = xdc.useModule('ti.sysbios.knl.Semaphore');
Semaphore.supportsEvents = false;

//var Agent = xdc.useModule('ti.sysbios.rta.Agent');
//Agent.transport = Agent.Transport_STOP_MODE_ONLY;
 
//var Load = xdc.useModule('ti.sysbios.utils.Load');
//Load.hwiEnabled = false;
//Load.swiEnabled = false;//Load.taskEnabled = false;

var System   = xdc.useModule('xdc.runtime.System');
var Startup   =   xdc.useModule('xdc.runtime.Startup');
var SysStd   = xdc.useModule('xdc.runtime.SysStd');
System.SupportProxy = SysStd;

System.extendedFormats = "%f";

var BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.clockEnabled = false;
BIOS.heapSize = 0x8000;

var Timestamp = xdc.useModule("xdc.runtime.Timestamp");

Program.sectMap[".msgQ_ptrs"] = new Program.SectionSpec();
Program.sectMap[".msgQ_ptrs"] = "L2SRAM";

Program.sectMap["platform_lib"] = new Program.SectionSpec();
Program.sectMap["platform_lib"] = "L2SRAM";

var PlatformLib = xdc.loadPackage('ti.platform.evmc6678l');

/*** Register an EVM Init handler with BIOS. This will initialize the hardware. BIOS calls before it starts.**
** If debugging with CCS, then this function will execute as CCS loads it if the option in your** Target Configuration file (.ccxml) has the option set to execute all code before Main. That is the** default.
*/
Startup.firstFxns.$add('&initPlatform');

var cslSettings = xdc.useModule ('ti.csl.Settings');

var cacheEnabled = true; var cacheLineSize = 128;
var procName = null;
var procNameList = [];

var Settings                = xdc.module('ti.sdo.ipc.family.Settings');
var Cache                = xdc.useModule('ti.sysbios.family.c66.Cache');
var MessageQ                = xdc.module('ti.sdo.ipc.MessageQ');
var Notify                  = xdc.module('ti.sdo.ipc.Notify');
var Ipc                     = xdc.useModule('ti.sdo.ipc.Ipc');
Notify.SetupProxy           = xdc.module(Settings.getNotifySetupDelegate());
MessageQ.SetupTransportProxy= xdc.module(Settings.getMessageQSetupDelegate());

/* Use shared memory IPC */
Notify.SetupProxy           = xdc.module('ti.sdo.ipc.family.c647x.NotifyCircSetup');
MessageQ.SetupTransportProxy = xdc.module('ti.sdo.ipc.transports.TransportShmNotifySetup');

/* Set to disable error printouts */
/* var Error = xdc.useModule('xdc.runtime.Error'); */
/* Error.raiseHook = null; */

Program.global.NOTIFYSETUP = Notify.SetupProxy.delegate$.$name;
Program.global.TRANSPORTSETUP = MessageQ.SetupTransportProxy.delegate$.$name;

switch (Program.platformName) {                                                                      case "ti.sdo.ipc.examples.platforms.evm6678.core0":
    case "ti.platforms.evm6678":           Program.global.USING_C6678 = 1;           procNameList = ["CORE0", "CORE1"];
        Program.global.shmBase = 0x0C000000;
        Program.global.shmSize =  0x00100000; /* Sized for greater than 8000 128 byte messageQ messages */
        break;
    case "ti.sdo.ipc.examples.platforms.evm6670.core0":
    case "ti.platforms.evm6670":           Program.global.USING_C6670 = 1;           procNameList = ["CORE0", "CORE1"];
        Program.global.shmBase = 0x0C000000;
        Program.global.shmSize = 0x00100000; /* Sized for greater than 8000 128 byte messageQ messages */
        break;
    default:
        throw("Unsupported platform: " + Program.platformName);
}
var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
MultiProc.setConfig(procName, procNameList);

Program.global.DEVICENAME = Program.cpu.deviceName;
Program.global.PROCNAMES = procNameList.join(",");
Program.global.BUILDPROFILE = Program.build.profile;

var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
SharedRegion.translate = false;
SharedRegion.setEntryMeta(0,
    { base: Program.global.shmBase,      len: Program.global.shmSize,
      ownerProcId: 0,
      isValid: true,
      cacheEnable: cacheEnabled,
      cacheLineSize: cacheLineSize,  /* Aligns allocated messages to a cache line */
      name: "internal_shared_mem",
    });

/* Optimization stuff */
Diags = xdc.useModule("xdc.runtime.Diags");
var Defaults = xdc.useModule('xdc.runtime.Defaults');

//Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
Defaults.common$.logger = null;

var Semaphore     = xdc.useModule('ti.sysbios.knl.Semaphore');
Semaphore.supportsEvents = false;

Andy Yin1:

在cfg中如下语句将platform lib包含进来。

var PlatformLib = xdc.loadPackage('ti.platform.evmc6678l');

赞(0)
未经允许不得转载:TI中文支持网 » shmIpcBenchmark工程在哪里设置包含库的
分享到: 更多 (0)