Part Number: MSP432P4111
Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI-RTOS
Any idea how to fix these warnings I see when I build my software packages?
- warning: ti.sysbios.BIOS: "/opt/ti/simplelink_msp432p4_sdk_2_10_00_14/kernel/tirtos/packages/ti/sysbios/Build.xs", line 162: ti.sysbios.BIOS assertsEnabled: Asserts are enabled when BIOS.libType is set to BIOS.LibType_Instrumented
- warning: ti.sysbios.BIOS: "/opt/ti/simplelink_msp432p4_sdk_2_10_00_14/kernel/tirtos/packages/ti/sysbios/Build.xs", line 172: ti.sysbios.BIOS logsEnabled: Logs are enabled when BIOS.libType is set to BIOS.LibType_Instrumented
- warning: ti.sysbios.BIOS: "/opt/ti/simplelink_msp432p4_sdk_2_10_00_14/kernel/tirtos/packages/ti/sysbios/BIOS.xs", line 1045: ti.sysbios.BIOS cpuFreq: PLL configuration is overwriting previously set BIOS.cpuFreq.
My xdc config file is below:
/*
* Copyright (c) 2017, 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.
*/
/* ================ Clock configuration ================ */
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
var LoggerStopMode = xdc.useModule('ti.uia.loggers.LoggerStopMode');
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
var Load = xdc.useModule('ti.sysbios.utils.Load');
var Event = xdc.useModule('ti.sysbios.knl.Event');
Load.windowInMs = 100; // configure to log every 100ms instead of the default period of 500ms.
LoggingSetup.benchmarkLogging = false;
LoggingSetup.countingAndGraphingLogging = false;
LoggingSetup.cpuId = 0;
LoggingSetup.enableContextAwareFunctionProfiler = true;
LoggingSetup.enableTaskProfiler = false;
LoggingSetup.loadHwiLogging = true;
LoggingSetup.loadLogger = null;
LoggingSetup.loadLoggerSize = 1024;
LoggingSetup.loadLogging = true;
LoggingSetup.loadLoggingRuntimeControl = false;
LoggingSetup.loadSwiLogging = true;
LoggingSetup.loadTaskLogging = true;
LoggingSetup.loggerType = LoggingSetup.LoggerType_STOPMODE;
LoggingSetup.mainLogger = null;
LoggingSetup.mainLoggerSize = 64;
LoggingSetup.mainLogging = true;
LoggingSetup.mainLoggingRuntimeControl = false;
LoggingSetup.maxEventSize = 128;
LoggingSetup.memorySectionName = null;
LoggingSetup.multicoreEventCorrelation = false;
LoggingSetup.numCores = 1;
LoggingSetup.profileLogging = false;
LoggingSetup.snapshotLogging = false;
//LoggingSetup.syncLoggerSize = LogSync.defaultSyncLoggerSize;
LoggingSetup.sysbiosHwiLogging = true;
LoggingSetup.sysbiosHwiLoggingRuntimeControl = false;
LoggingSetup.sysbiosLogger = null;
LoggingSetup.sysbiosLoggerSize = 1024;
LoggingSetup.sysbiosSemaphoreLogging = true;
LoggingSetup.sysbiosSemaphoreLoggingRuntimeControl = false;
LoggingSetup.sysbiosSwiLogging = true;
LoggingSetup.sysbiosSwiLoggingRuntimeControl = false;
LoggingSetup.sysbiosTaskLogging = true;
LoggingSetup.sysbiosTaskLoggingRuntimeControl = true;
LoggingSetup.timestampSize = LoggingSetup.TimestampSize_AUTO;
/*
* Default value is family dependent. For example, Linux systems often only
* support a minimum period of 10000 us and multiples of 10000 us.
* TI platforms have a default of 1000 us.
*/
Clock.tickPeriod = 1000;
/* ================ Defaults (module) configuration ================ */
var Defaults = xdc.useModule('xdc.runtime.Defaults');
/*
* A flag to allow module names to be loaded on the target. Module name
* strings are placed in the .const section for debugging purposes.
*
* Pick one:
* - true (default)
* Setting this parameter to true will include name strings in the .const
* section so that Errors and Asserts are easier to debug.
* - false
* Setting this parameter to false will reduce footprint in the .const
* section. As a result, Error and Assert messages will contain an
* "unknown module" prefix instead of the actual module name.
*/
Defaults.common$.namedModule = true;
//Defaults.common$.namedModule = false;
/* ================ Error configuration ================ */
var Error = xdc.useModule('xdc.runtime.Error');
/*
* This function is called to handle all raised errors, but unlike
* Error.raiseHook, this function is responsible for completely handling the
* error with an appropriately initialized Error_Block.
*
* Pick one:
* - Error.policyDefault (default)
* Calls Error.raiseHook with an initialized Error_Block structure and logs
* the error using the module's logger.
* - Error.policySpin
* Simple alternative that traps on a while(1) loop for minimized target
* footprint.
* Using Error.policySpin, the Error.raiseHook will NOT called.
*/
Error.policyFxn = Error.policyDefault;
//Error.policyFxn = Error.policySpin;
/*
* If Error.policyFxn is set to Error.policyDefault, this function is called
* whenever an error is raised by the Error module.
*
* Pick one:
* - Error.print (default)
* Errors are formatted and output via System_printf() for easier
* debugging.
* - null
* Errors are not formatted or logged. This option reduces code footprint.
* - non-null function
* Errors invoke custom user function. See the Error module documentation
* for more details.
*/
Error.raiseHook = Error.print;
//Error.raiseHook = null;
//Error.raiseHook = "&myErrorFxn";
/*
* If Error.policyFxn is set to Error.policyDefault, this option applies to the
* maximum number of times the Error.raiseHook function can be recursively
* invoked. This option limits the possibility of an infinite recursion that
* could lead to a stack overflow.
* The default value is 16.
*/
Error.maxDepth = 2;
/* ================ Hwi configuration ================ */
var halHwi = xdc.useModule('ti.sysbios.hal.Hwi');
var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
/*
* Checks for Hwi (system) stack overruns while in the Idle loop.
*
* Pick one:
* - true (default)
* Checks the top word for system stack overflows during the idle loop and
* raises an Error if one is detected.
* - false
* Disabling the runtime check improves runtime performance and yields a
* reduced flash footprint.
*/
halHwi.checkStackFlag = true;
//halHwi.checkStackFlag = false;
/*
* The following options alter the system's behavior when a hardware exception
* is detected.
*
* Pick one:
* - Hwi.enableException = true
* This option causes the default m3Hwi.excHandlerFunc function to fully
* decode an exception and dump the registers to the system console.
* This option raises errors in the Error module and displays the
* exception in ROV.
* - Hwi.enableException = false
* This option reduces code footprint by not decoding or printing the
* exception to the system console.
* It however still raises errors in the Error module and displays the
* exception in ROV.
* - Hwi.excHandlerFunc = null
* This is the most aggressive option for code footprint savings; but it
* can difficult to debug exceptions. It reduces flash footprint by
* plugging in a default while(1) trap when exception occur. This option
* does not raise an error with the Error module.
*/
m3Hwi.enableException = true;
//m3Hwi.enableException = false;
//m3Hwi.excHandlerFunc = null;
/*
* Enable hardware exception generation when dividing by zero.
*
* Pick one:
* - 0 (default)
* Disables hardware exceptions when dividing by zero
* - 1
* Enables hardware exceptions when dividing by zero
*/
m3Hwi.nvicCCR.DIV_0_TRP = 1;
//m3Hwi.nvicCCR.DIV_0_TRP = 1;
/*
* Enable hardware exception generation for invalid data alignment.
*
* Pick one:
* - 0 (default)
* Disables hardware exceptions for data alignment
* - 1
* Enables hardware exceptions for data alignment
*/
m3Hwi.nvicCCR.UNALIGN_TRP = 1;
//m3Hwi.nvicCCR.UNALIGN_TRP = 1;
/* ================ Idle configuration ================ */
var Idle = xdc.useModule('ti.sysbios.knl.Idle');
/*
* The Idle module is used to specify a list of functions to be called when no
* other tasks are running in the system.
*
* Functions added here will be run continuously within the idle task.
*
* Function signature:
* Void func(Void);
*/
//Idle.addFunc("&myIdleFunc");
//Idle.addFunc('&Power_idleFunc'); /* add the Power module's idle function */
/* ================ Kernel (SYS/BIOS) configuration ================ */
var BIOS = xdc.useModule('ti.sysbios.BIOS');
/*
* Enable asserts in the BIOS library.
*
* Pick one:
* - true (default)
* Enables asserts for debugging purposes.
* - false
* Disables asserts for a reduced code footprint and better performance.
*/
//BIOS.assertsEnabled = true;
BIOS.assertsEnabled = false;
/*
* A flag to determine if xdc.runtime sources are to be included in a custom
* built BIOS library.
*
* Pick one:
* - false (default)
* The pre-built xdc.runtime library is provided by the respective target
* used to build the application.
* - true
* xdc.runtime library sources are to be included in the custom BIOS
* library. This option yields the most efficient library in both code
* footprint and runtime performance.
*/
BIOS.includeXdcRuntime = false;
//BIOS.includeXdcRuntime = true;
/*
* The SYS/BIOS runtime is provided in the form of a library that is linked
* with the application. Several forms of this library are provided with the
* SYS/BIOS product.
*
* Pick one:
* - BIOS.LibType_Custom
* Custom built library that is highly optimized for code footprint and
* runtime performance.
* - BIOS.LibType_Debug
* Custom built library that is non-optimized that can be used to
* single-step through APIs with a debugger.
*
*/
BIOS.libType = BIOS.LibType_Instrumented;
//BIOS.libType = BIOS.LibType_Debug;
/*
* Runtime instance creation enable flag.
*
* Pick one:
* - true (default)
* Allows Mod_create() and Mod_delete() to be called at runtime which
* requires a default heap for dynamic memory allocation.
* - false
* Reduces code footprint by disallowing Mod_create() and Mod_delete() to
* be called at runtime. Object instances are constructed via
* Mod_construct() and destructed via Mod_destruct().
*/
BIOS.runtimeCreatesEnabled = true;
//BIOS.runtimeCreatesEnabled = false;
/*
* Enable logs in the BIOS library.
*
* Pick one:
* - true (default)
* Enables logs for debugging purposes.
* - false
* Disables logging for reduced code footprint and improved runtime
* performance.
*/
//BIOS.logsEnabled = true;
BIOS.logsEnabled = false;
/* ================ Memory configuration ================ */
var Memory = xdc.useModule('xdc.runtime.Memory');
/*
* The Memory module itself simply provides a common interface for any
* variety of system and application specific memory management policies
* implemented by the IHeap modules(Ex. HeapMem, HeapBuf).
*/
/*
* Use HeapMem primary heap instance to use linker-defined memory region
*/
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
HeapMem.primaryHeapBaseAddr = "&__primary_heap_start__";
HeapMem.primaryHeapEndAddr = "&__primary_heap_end__";
var heapMemParams = new HeapMem.Params();
heapMemParams.usePrimaryHeap = true;
Program.global.heap0 = HeapMem.create(heapMemParams);
Memory.defaultHeapInstance = Program.global.heap0;
/* ================ Program configuration ================ */
/*
* Program.stack must be set to 0 to allow the setting
* of the system stack size to be determined in the example's
* linker command file.
*/
Program.stack = 2048;
/*
* Uncomment to enable Semihosting for GNU targets to print to the CCS console.
* Please read the following TIRTOS Wiki page for more information on Semihosting:
* processors.wiki.ti.com/.../TI-RTOS_Examples_SemiHosting
*/
if (Program.build.target.$name.match(/gnu/)) {
//var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
}
/* ================ Semaphore configuration ================ */
var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
/*
* Enables global support for Task priority pend queuing.
*
* Pick one:
* - true (default)
* This allows pending tasks to be serviced based on their task priority.
* - false
* Pending tasks are services based on first in, first out basis.
*
* When using BIOS in ROM:
* This option must be set to false.
*/
//Semaphore.supportsPriority = true;
Semaphore.supportsPriority = false;
/*
* Allows for the implicit posting of events through the semaphore,
* disable for additional code saving.
*
* Pick one:
* - true
* This allows the Semaphore module to post semaphores and events
* simultaneously.
* - false (default)
* Events must be explicitly posted to unblock tasks.
*
*/
Semaphore.supportsEvents = false;
/*
* A software interrupt is an object that encapsulates a function to be
* executed and a priority. Software interrupts are prioritized, preempt tasks
* and are preempted by hardware interrupt service routines.
*
* This module is included to allow Swi's in a users' application.
*/
/* ================ System configuration ================ */
var System = xdc.useModule('xdc.runtime.System');
/*
* The Abort handler is called when the system exits abnormally.
*
* Pick one:
* - System.abortStd (default)
* Call the ANSI C Standard 'abort()' to terminate the application.
* - System.abortSpin
* A lightweight abort function that loops indefinitely in a while(1) trap
* function.
* - A custom abort handler
* A user-defined function. See the System module documentation for
* details.
*/
System.abortFxn = System.abortStd;
//System.abortFxn = System.abortSpin;
//System.abortFxn = "&myAbortSystem";
/*
* The Exit handler is called when the system exits normally.
*
* Pick one:
* - System.exitStd (default)
* Call the ANSI C Standard 'exit()' to terminate the application.
* - System.exitSpin
* A lightweight exit function that loops indefinitely in a while(1) trap
* function.
* - A custom exit function
* A user-defined function. See the System module documentation for
* details.
*/
System.exitFxn = System.exitStd;
//System.exitFxn = System.exitSpin;
//System.exitFxn = "&myExitSystem";
/*
* Minimize exit handler array in the System module. The System module includes
* an array of functions that are registered with System_atexit() which is
* called by System_exit(). The default value is 8.
*/
System.maxAtexitHandlers = 2;
/*
* The System.SupportProxy defines a low-level implementation of System
* functions such as System_printf(), System_flush(), etc.
*
* Pick one pair:
* - SysMin
* This module maintains an internal configurable circular buffer that
* stores the output until System_flush() is called.
* The size of the circular buffer is set via SysMin.bufSize.
* - SysCallback
* SysCallback allows for user-defined implementations for System APIs.
* The SysCallback support proxy has a smaller code footprint and can be
* used to supply custom System_printf services.
* The default SysCallback functions point to stub functions. See the
* SysCallback module's documentation.
*/
var SysMin = xdc.useModule('xdc.runtime.SysMin');
SysMin.bufSize = 512;
SysMin.flushAtExit = true;
System.SupportProxy = SysMin;
//var SysCallback = xdc.useModule('xdc.runtime.SysCallback');
//System.SupportProxy = SysCallback;
//SysCallback.abortFxn = "&myUserAbort";
//SysCallback.exitFxn = "&myUserExit";
//SysCallback.flushFxn = "&myUserFlush";
//SysCallback.putchFxn = "&myUserPutch";
//SysCallback.readyFxn = "&myUserReady";
/* ================ Task configuration ================ */
var Task = xdc.useModule('ti.sysbios.knl.Task');
/*
* Check task stacks for overflow conditions.
*
* Pick one:
* - true (default)
* Enables runtime checks for task stack overflow conditions during
* context switching ("from" and "to")
* - false
* Disables runtime checks for task stack overflow conditions.
*/
Task.checkStackFlag = true;
//Task.checkStackFlag = false;
/*
* Set the default task stack size when creating tasks.
*
* The default is dependent on the device being used. Reducing the default stack
* size yields greater memory savings.
*/
Task.defaultStackSize = 512;
/*
* Enables the idle task.
*
* Pick one:
* - true (default)
* Creates a task with priority of 0 which calls idle hook functions. This
* option must be set to true to gain power savings provided by the Power
* module.
* - false
* No idle task is created. This option consumes less memory as no
* additional default task stack is needed.
* To gain power savings by the Power module without having the idle task,
* add Idle.run as the Task.allBlockedFunc.
*/
Task.enableIdleTask = true;
//Task.enableIdleTask = false;
//Task.allBlockedFunc = Idle.run;
/*
* If Task.enableIdleTask is set to true, this option sets the idle task's
* stack size.
*
* Reducing the idle stack size yields greater memory savings.
*/
Task.idleTaskStackSize = 1024;
/*
* Reduce the number of task priorities.
* The default is 16.
* Decreasing the number of task priorities yield memory savings.
*/
Task.numPriorities = 16;
/* ================ Text configuration ================ */
var Text = xdc.useModule('xdc.runtime.Text');
/*
* These strings are placed in the .const section. Setting this parameter to
* false will save space in the .const section. Error, Assert and Log messages
* will print raw ids and args instead of a formatted message.
*
* Pick one:
* - true (default)
* This option loads test string into the .const for easier debugging.
* - false
* This option reduces the .const footprint.
*/
Text.isLoaded = true;
//Text.isLoaded = false;
/* ================ Types configuration ================ */
var Types = xdc.useModule('xdc.runtime.Types');
/*
* This module defines basic constants and types used throughout the
* xdc.runtime package.
*/
/* ================ Application Specific Instances ================ */
var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');
halHwi.dispatcherAutoNestingSupport = false;
BIOS.cpuFreq.lo = 48000000;
var halHwi0Params = new halHwi.Params();
halHwi0Params.instance.name = "hHwiEusciA2";
halHwi0Params.arg = 2;
halHwi0Params.enableInt = false;
halHwi0Params.priority = 18;
Program.global.hHwiEusciA2 = halHwi.create(34, "&Msp432UartIsr", halHwi0Params);
var halHwi1Params = new halHwi.Params();
halHwi1Params.instance.name = "hHwiEusciA0";
halHwi1Params.priority = 8;
halHwi1Params.enableInt = false;
//Program.global.hHwiEusciA0 = halHwi.create(32, "&Msp432UartIsr", halHwi1Params);
Program.global.hHwiEusciA0 = halHwi.create(32, "&Msp432UartIsrA0", halHwi1Params);
m3Hwi.disablePriority = 16;
var semaphore1Params = new Semaphore.Params();
semaphore1Params.instance.name = "hSemSpiUcb1Lock";
semaphore1Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemSpiUcb1Lock = Semaphore.create(1, semaphore1Params);
var semaphore2Params = new Semaphore.Params();
semaphore2Params.instance.name = "hSemExtFlashDone";
semaphore2Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemExtFlashDone = Semaphore.create(null, semaphore2Params);
var loggerStopMode0Params = new LoggerStopMode.Params();
loggerStopMode0Params.instance.name = "loggerStopMode0";
loggerStopMode0Params.bufSize = 4096;
Program.global.loggerStopMode0 = LoggerStopMode.create(loggerStopMode0Params);
var halHwi2Params = new halHwi.Params();
halHwi2Params.instance.name = "hHwiEusciB1";
halHwi2Params.arg = 5;
halHwi2Params.enableInt = false;
halHwi2Params.priority = 16;
Program.global.hHwiEusciB1 = halHwi.create(37, "&Msp432SpiIsr", halHwi2Params);
var halHwi3Params = new halHwi.Params();
halHwi3Params.instance.name = "hHwiEusciB0";
halHwi3Params.priority = 19;
Program.global.hHwiEusciB0 = halHwi.create(36, "&USCIB0TX_ISR", halHwi3Params);
var task2Params = new Task.Params();
task2Params.instance.name = "hTaskLtc";
task2Params.priority = 4;
task2Params.stackSize = 768;
Program.global.hTaskLtc = Task.create("&TLtc", task2Params);
Defaults.common$.diags_ENTRY = xdc.module("xdc.runtime.Diags").ALWAYS_ON;
Defaults.common$.diags_EXIT = xdc.module("xdc.runtime.Diags").ALWAYS_ON;
Defaults.common$.diags_INFO = xdc.module("xdc.runtime.Diags").ALWAYS_ON;
Defaults.common$.diags_ANALYSIS = xdc.module("xdc.runtime.Diags").ALWAYS_ON;
var halHwi4Params = new halHwi.Params();
halHwi4Params.instance.name = "hHwiAdc14";
halHwi4Params.priority = 17;
halHwi4Params.enableInt = false;
Program.global.hHwiAdc14 = halHwi.create(40, "&Adc14ISR", halHwi4Params);
var semaphore3Params = new Semaphore.Params();
semaphore3Params.instance.name = "hSemTuneAdcReady";
semaphore3Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemTuneAdcReady = Semaphore.create(0, semaphore3Params);
var task3Params = new Task.Params();
task3Params.instance.name = "hTaskT";
task3Params.priority = 10;
task3Params.stackSize = 2048;
Program.global.hTaskT = Task.create("&TTask", task3Params);
var task4Params = new Task.Params();
task4Params.instance.name = "hTaskCCtl";
task4Params.priority = 5;
task4Params.stackSize = 2048;
Program.global.hTaskCCtl = Task.create("&CCtlTask", task4Params);
var semaphore5Params = new Semaphore.Params();
semaphore5Params.instance.name = "hSemTuneMb";
semaphore5Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemTuneMb = Semaphore.create(null, semaphore5Params);
Semaphore.common$.namedInstance = true;
halHwi.dispatcherSwiSupport = true;
var task4Params0 = new Task.Params();
task4Params0.instance.name = "hTaskHeartBeat";
task4Params0.vitalTaskFlag = false;
task4Params0.stackSize = 768;
task4Params0.priority = 5;
Program.global.hTaskHeartBeat = Task.create("&HeartbeatTask", task4Params0);
Task.moduleStateCheckFlag = true;
Task.objectCheckFlag = true;
Idle.idleFxns[0] = "&CaptureIdleFunctionInfo";
var semaphore4Params = new Semaphore.Params();
semaphore4Params.instance.name = "hSemCplrTx";
semaphore4Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemCplrTx = Semaphore.create(1, semaphore4Params);
var semaphore5Params0 = new Semaphore.Params();
semaphore5Params0.instance.name = "hSemVga1Lock";
semaphore5Params0.mode = Semaphore.Mode_BINARY;
Program.global.hSemVga1Lock = Semaphore.create(1, semaphore5Params0);
var semaphore6Params = new Semaphore.Params();
semaphore6Params.instance.name = "hSemVga1Complete";
semaphore6Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemVga1Complete = Semaphore.create(null, semaphore6Params);
var halHwi5Params = new halHwi.Params();
halHwi5Params.instance.name = "hHwiEusciA1";
halHwi5Params.arg = 1;
halHwi5Params.enableInt = false;
halHwi5Params.priority = 8;
Program.global.hHwiEusciA1 = halHwi.create(33, "&Msp432SpiUsciA1", halHwi5Params);
var semaphore7Params = new Semaphore.Params();
semaphore7Params.instance.name = "hSemDpotComp";
semaphore7Params.mode = Semaphore.Mode_BINARY;
Program.global.hSemDpotComp = Semaphore.create(null, semaphore7Params);
var event0Params = new Event.Params();
event0Params.instance.name = "hEvtCplrCtl";
Program.global.hEvtCplrCtl = Event.create(event0Params);

