Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

c6678 timers for multicore

$
0
0

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.


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>