I am running sysbios 6.33.
I am able to get my timer interrrupt code working for a single core were I would initialize the INTC module then the timer CSL module I finally then setup a high timer in continuous mode (unchained) and then call a function that is waiting for the timer to go off 3 times (10ms every time). Every time the timer goes off i.e. (timerTickCount == 1) I reset it to timerTickCount=0; I expect then that the difference between the before and after count should be approx 3*10ms i.e. 30,000,000. However, when I go to multiple cores and load the application on say two cores I am no longer able to get this 10ms interrupt to work. I am attaching my source code. How do I go about using a timer other than timer 0? Will I need to have 8 different timers if I am wanting this behaviour to happen on 8 cores or can one timer suffice that will wake up all 8 cores? I also want to use something other than CSL_GEM_TINTHN and have different IDs for each core when I call the setup_hig_continuous_timer() function.
My source is: (Please visit the site to view this file)
My cfg file is as follows:
/* Load all required BIOS/XDC runtime packages */
var Memory = xdc.useModule('xdc.runtime.Memory');
var BIOS = xdc.useModule('ti.sysbios.BIOS');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
var Log = xdc.useModule('xdc.runtime.Log');
var Task = xdc.useModule('ti.sysbios.knl.Task');
var Hwi = xdc.useModule('ti.sysbios.family.c64p.Hwi');
var xdc_runtime_Timestamp = xdc.useModule('xdc.runtime.Timestamp');
var Timer = xdc.useModule('ti.sysbios.hal.Timer');
/* Use the CSL module and indicate that INTC library will be used. */
var cslSettings = xdc.useModule ('ti.csl.Settings');
cslSettings.useCSLIntcLib = true;
/* Load the CSL package */
var Csl = xdc.loadPackage('ti.csl');
/* 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.loadPackage('ti.drv.pa');
var System = xdc.useModule('xdc.runtime.System');
SysStd = xdc.useModule('xdc.runtime.SysStd');
System.SupportProxy = SysStd;
/* Create a default system heap using ti.bios.HeapMem. */
var heapMemParams1 = new HeapMem.Params;
heapMemParams1.size = 8192 * 30;
heapMemParams1.sectionName = "systemHeap";
Program.global.heap0 = HeapMem.create(heapMemParams1);
/* This is the default memory heap. */
Memory.defaultHeapInstance = Program.global.heap0;
/*Program.sectMap["systemHeap"] = Program.platform.stackMemory;*/
/* Create an internal buffer heap using ti.bios.HeapMem. */
var bufHeapMemParams1 = new HeapMem.Params;
bufHeapMemParams1.size = 424734;
bufHeapMemParams1.sectionName = "bufferHeap1";
Program.global.heap1 = HeapMem.create(bufHeapMemParams1);
Program.sectMap["bufferHeap1"] = Program.platform.stackMemory;
/* Create an external buffer heap using ti.bios.HeapMem. */
var extBufHeapMemParams1 = new HeapMem.Params;
extBufHeapMemParams1.size = 180224;
extBufHeapMemParams1.sectionName = "extBufferHeap1";
Program.global.extHeap1 = HeapMem.create(extBufHeapMemParams1);
/* Enable BIOS Task Scheduler */
BIOS.taskEnabled = true;
Program.stack = 1024;
Task.defaultStackSize = 1024;
/* memory map */
Program.sectMap[".text"] = "MSMCSRAM";
Program.sectMap[".switch"] = "MSMCSRAM";
Program.sectMap[".const"] = "MSMCSRAM";
Program.sectMap["systemHeap"] = "MSMCSRAM";
Program.sectMap["bufferHeap1"] = "L2SRAM";
Program.sectMap["extBufferHeap1"] = "DDR3";
Any help would be appreciated.