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.
本人在6678中同时使用SRIO doorbell中断和IPC中断时遇到一些问题,
dsp间的doorbell中断可正常接受发送,
0核可以向1~7核正常发送Notify_sendEvent,1~7核也可成功触发相关的回调函数,单向通信没问题,
1~7核向0核发送Notiy_sendEvent也显示成功,但是0核却未触发相应的回调函数
不知是不是doorbell和IPC中断存在冲突,请问各位是否能够提供相关解决方案?
cfg文件内容如下:
//---------------------------------------------
var BIOS = xdc.useModule('ti.sysbios.BIOS');
var Task = xdc.useModule('ti.sysbios.knl.Task');
var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
var Log = xdc.useModule('xdc.runtime.Log');
var ti_sysbios_hal_Cache = xdc.useModule('ti.sysbios.hal.Cache');
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
var Timer = xdc.useModule('ti.sysbios.hal.Timer');
Task.common$.namedInstance = true;
var Clock = xdc.useModule ('ti.sysbios.knl.Clock');
var Sem = xdc.useModule ('ti.sysbios.knl.Semaphore');
var Hwi = xdc.useModule ('ti.sysbios.hal.Hwi');
var Ecm = xdc.useModule ('ti.sysbios.family.c64p.EventCombiner');
var Diags = xdc.useModule('xdc.runtime.Diags');
/* Load the CSL package */
var Csl = xdc.useModule('ti.csl.Settings');
/* Load the CPPI package */
var Cppi = xdc.loadPackage('ti.drv.cppi');
/* Load the QMSS package */
var Qmss = xdc.loadPackage('ti.drv.qmss');
/* Load the PA package */
var Pa = xdc.useModule('ti.drv.pa.Settings');
/* Load the Platform/NDK Transport packages */
var PlatformLib = xdc.loadPackage('ti.platform.evmc6678l');
var NdkTransport = xdc.loadPackage('ti.transport.ndk');
var Global = xdc.useModule('ti.ndk.config.Global');
Global.enableCodeGeneration = false;
var Cache = xdc.useModule('ti.sysbios.family.c66.Cache');
var Startup = xdc.useModule('xdc.runtime.Startup');
BIOS.taskEnabled = true;
Ecm.eventGroupHwiNum[0] = 7;
Ecm.eventGroupHwiNum[1] = 8;
Ecm.eventGroupHwiNum[2] = 9;
Ecm.eventGroupHwiNum[3] = 10;
//--------------------------------------
var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
var nameList = ["CORE0", "CORE1", "CORE2", "CORE3", "CORE4", "CORE5", "CORE6", "CORE7"];//MultiProc.getDeviceProcNames();
MultiProc.setConfig(null, nameList);
var System = xdc.useModule('xdc.runtime.System');
var SysStd = xdc.useModule('xdc.runtime.SysStd');
System.SupportProxy = SysStd;
/* Modules explicitly used in the application */
var Notify = xdc.useModule('ti.sdo.ipc.Notify');
var Ipc = xdc.useModule('ti.sdo.ipc.Ipc');
var BIOS = xdc.useModule('ti.sysbios.BIOS');
BIOS.heapSize = 0x8000;
var Task = xdc.useModule('ti.sysbios.knl.Task');
/* To avoid wasting shared memory for MessageQ transports */
for (var i = 0; i < MultiProc.numProcessors; i++) {
Ipc.setEntryMeta({
remoteProcId: i,
setupMessageQ: false,
});
}
/* Synchronize all processors (this will be done in Ipc_start) */
Ipc.procSync = Ipc.ProcSync_ALL;
/* Shared Memory base address and length */
var SHAREDMEM = 0x0C000000;
var SHAREDMEMSIZE = 0x00400000;
var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
SharedRegion.setEntryMeta(0,
{ base: SHAREDMEM,
len: SHAREDMEMSIZE,
ownerProcId: 0,
isValid: true,
name: "DDR2_RAM",
});
Program.sectMap[".csl_vect"] = "DDR3";
Program.sectMap[".vector"] = "DDR3";
Program.sectMap[".text"] = "DDR3";
Program.sectMap[".switch"] = "DDR3";
Program.sectMap[".const"] = "DDR3";
Program.sectMap[".cinit"] = "DDR3";
Program.sectMap[".neardata"] = "DDR3";
Program.sectMap[".rodata"] = "DDR3";
Program.sectMap[".bss"] = "DDR3";
Program.sectMap[".far"] = "DDR3";
Program.sectMap[".stack"] = "DDR3";
Program.sectMap[".system"] = "DDR3";
Program.sectMap[".extData"] = "DDR3";
Program.sectMap[".cio"] = "DDR3";
Program.sectMap[".fardata"] = "DDR3";
Program.sectMap[".code"] = "DDR3";
Program.sectMap[".args"] = "DDR3";
Program.sectMap[".vecs"] = "DDR3";
Program.sectMap["platform_lib"] = "DDR3";