/* * Copyright 2011 by Texas Instruments Incorporated. * * All rights reserved. Property of Texas Instruments Incorporated. * Restricted rights to use, duplicate or disclose this code are * granted through contract. * */ environment['xdc.cfg.check.fatal'] = 'false'; /******************************************************************** ************************** BIOS Modules **************************** ********************************************************************/ 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 Task = xdc.useModule('ti.sysbios.knl.Task'); var Idle = xdc.useModule('ti.sysbios.knl.Idle'); var SEM = xdc.useModule('ti.sysbios.knl.Semaphore'); var Event = xdc.useModule('ti.sysbios.knl.Event'); var Hwi = xdc.useModule('ti.sysbios.family.arm.v7r.vim.Hwi'); var System = xdc.useModule('xdc.runtime.System'); var SysStd = xdc.useModule('xdc.runtime.SysStd'); var clock = xdc.useModule('ti.sysbios.knl.Clock'); var Pmu = xdc.useModule('ti.sysbios.family.arm.v7a.Pmu'); var Load = xdc.useModule('ti.sysbios.utils.Load'); System.SupportProxy = SysStd; /* FIQ Stack Usage: */ Hwi.fiqStackSize = 2048; Hwi.fiqStackSection = ".myFiqStack" Program.sectMap[".myFiqStack"] = "DATA_RAM"; /* Default Heap Creation: Local L2 memory */ var heapMemParams = new HeapMem.Params(); heapMemParams.size = 130*1024; heapMemParams.sectionName = "systemHeap"; Program.global.heap0 = HeapMem.create(heapMemParams); Memory.defaultHeapInstance = Program.global.heap0; System.extendedFormats = '%$L%$S%$F%f'; /* Enable BIOS Task Scheduler */ BIOS.taskEnabled = true; /* Reduce the size of BIOS */ BIOS.swiEnabled = false; /* We don't use SWIs */ BIOS.libType = BIOS.LibType_Custom; Program.stack = 2048; /* for isr context */ Task.idleTaskStackSize = 800; var Text = xdc.useModule('xdc.runtime.Text'); Text.isLoaded = false; /* do not call update for load - Application will call it at inter-frame boundary */ Load.updateInIdle = false; /* Install idle function to sleep the R4F (using WFI instruction). Note above Load.updateInIdle is false which allows to sleep the R4F in idle. Also, no other book-keeping etc functions should be installed in the idle thread */ Idle.addFunc('&Pcount3DDemo_sleep'); Program.sectMap[".vecs"] = "VECTORS"; /* Make sure libraries are built with 32-bit enum types to be compatible with DSP enum types*/ BIOS.includeXdcRuntime = true; BIOS.libType = BIOS.LibType_Custom; BIOS.customCCOpts += " --enum_type=int "; /******************************************************************** * Enabling DebugP Log Support ********************************************************************/ var Log = xdc.useModule('xdc.runtime.Log'); var Main = xdc.useModule('xdc.runtime.Main'); var Diags = xdc.useModule('xdc.runtime.Diags'); var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); /* Configure the Logger Buffer: */ var loggerBufParams = new LoggerBuf.Params(); loggerBufParams.bufType = LoggerBuf.BufType_CIRCULAR; loggerBufParams.exitFlush = false; loggerBufParams.instance.name = "_logInfo"; loggerBufParams.numEntries = 200; /* Create the Logger and attach this to the application */ MyAppLogger = LoggerBuf.create(loggerBufParams); Main.common$.logger = MyAppLogger; Main.common$.diags_USER1 = Diags.RUNTIME_ON; Task.common$.diags_USER1 = Diags.RUNTIME_ON;