Added Test Wake-Up
[i3-mote/i3-mote.git] / Basic-Test-Package / CC2650 / Test_CC2650_3wSPI_DAC8730 / CC2650_I3M.cfg
1 /*
2  * Copyright (c) 2015-2016, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * *  Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
12  * *  Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * *  Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
35 /* ================ Boot configuration ================ */
36 var Boot = xdc.useModule('ti.sysbios.family.arm.cc26xx.Boot');
37 /*
38  * This module contains family specific Boot APIs and configuration settings.
39  * See the SYS/BIOS API guide for more information.
40  */
44 /* ================ Clock configuration ================ */
45 var Clock = xdc.useModule('ti.sysbios.knl.Clock');
46 /*
47  * When using Power and calibrateRCOSC is set to true, this should be set to 10.
48  * The timer used by the Clock module supports TickMode_DYNAMIC. This enables us
49  * to set the tick period to 10 us without generating the overhead of additional
50  * interrupts.
51  *
52  * Note: The calibrateRCOSC parameter is set within the Power configuration
53  *     structure in the "Board.c" file.
54  */
55 Clock.tickPeriod = 10;
59 /* ================ Defaults (module) configuration ================ */
60 var Defaults = xdc.useModule('xdc.runtime.Defaults');
61 /*
62  * A flag to allow module names to be loaded on the target. Module name
63  * strings are placed in the .const section for debugging purposes.
64  *
65  * Pick one:
66  *  - true (default)
67  *      Setting this parameter to true will include name strings in the .const
68  *      section so that Errors and Asserts are easier to debug.
69  *  - false
70  *      Setting this parameter to false will reduce footprint in the .const
71  *      section. As a result, Error and Assert messages will contain an
72  *      "unknown module" prefix instead of the actual module name.
73  *
74  *  When using BIOS in ROM:
75  *      This option must be set to false.
76  */
77 //Defaults.common$.namedModule = true;
78 Defaults.common$.namedModule = false;
82 /* ================ Error configuration ================ */
83 var Error = xdc.useModule('xdc.runtime.Error');
84 /*
85  * This function is called to handle all raised errors, but unlike
86  * Error.raiseHook, this function is responsible for completely handling the
87  * error with an appropriately initialized Error_Block.
88  *
89  * Pick one:
90  *  - Error.policyDefault (default)
91  *      Calls Error.raiseHook with an initialized Error_Block structure and logs
92  *      the error using the module's logger.
93  *  - Error.policySpin
94  *      Simple alternative that traps on a while(1) loop for minimized target
95  *      footprint.
96  *      Using Error.policySpin, the Error.raiseHook will NOT called.
97  */
98 //Error.policyFxn = Error.policyDefault;
99 Error.policyFxn = Error.policySpin;
101 /*
102  * If Error.policyFxn is set to Error.policyDefault, this function is called
103  * whenever an error is raised by the Error module.
104  *
105  * Pick one:
106  *  - Error.print (default)
107  *      Errors are formatted and output via System_printf() for easier
108  *      debugging.
109  *  - null
110  *      Errors are not formatted or logged. This option reduces code footprint.
111  *  - non-null function
112  *      Errors invoke custom user function. See the Error module documentation
113  *      for more details.
114  */
115 //Error.raiseHook = Error.print;
116 Error.raiseHook = null;
117 //Error.raiseHook = "&myErrorFxn";
119 /*
120  * If Error.policyFxn is set to Error.policyDefault, this option applies to the
121  * maximum number of times the Error.raiseHook function can be recursively
122  * invoked. This option limits the possibility of an infinite recursion that
123  * could lead to a stack overflow.
124  * The default value is 16.
125  */
126 Error.maxDepth = 2;
130 /* ================ Hwi configuration ================ */
131 var halHwi = xdc.useModule('ti.sysbios.hal.Hwi');
132 var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
133 /*
134  * Checks for Hwi (system) stack overruns while in the Idle loop.
135  *
136  * Pick one:
137  *  - true (default)
138  *      Checks the top word for system stack overflows during the idle loop and
139  *      raises an Error if one is detected.
140  *  - false
141  *      Disabling the runtime check improves runtime performance and yields a
142  *      reduced flash footprint.
143  */
144 //halHwi.checkStackFlag = true;
145 halHwi.checkStackFlag = false;
147 /*
148  * The following options alter the system's behavior when a hardware exception
149  * is detected.
150  *
151  * Pick one:
152  *  - Hwi.enableException = true
153  *      This option causes the default m3Hwi.excHandlerFunc function to fully
154  *      decode an exception and dump the registers to the system console.
155  *      This option raises errors in the Error module and displays the
156  *      exception in ROV.
157  *  - Hwi.enableException = false
158  *      This option reduces code footprint by not decoding or printing the
159  *      exception to the system console.
160  *      It however still raises errors in the Error module and displays the
161  *      exception in ROV.
162  *  - Hwi.excHandlerFunc = null
163  *      This is the most aggressive option for code footprint savings; but it
164  *      can difficult to debug exceptions. It reduces flash footprint by
165  *      plugging in a default while(1) trap when exception occur. This option
166  *      does not raise an error with the Error module.
167  */
168 //m3Hwi.enableException = true;
169 //m3Hwi.enableException = false;
170 m3Hwi.excHandlerFunc = null;
172 /*
173  * Enable hardware exception generation when dividing by zero.
174  *
175  * Pick one:
176  *  - 0 (default)
177  *      Disables hardware exceptions when dividing by zero
178  *  - 1
179  *      Enables hardware exceptions when dividing by zero
180  */
181 m3Hwi.nvicCCR.DIV_0_TRP = 0;
182 //m3Hwi.nvicCCR.DIV_0_TRP = 1;
184 /*
185  * Enable hardware exception generation for invalid data alignment.
186  *
187  * Pick one:
188  *  - 0 (default)
189  *      Disables hardware exceptions for data alignment
190  *  - 1
191  *      Enables hardware exceptions for data alignment
192  */
193 m3Hwi.nvicCCR.UNALIGN_TRP = 0;
194 //m3Hwi.nvicCCR.UNALIGN_TRP = 1;
196 /*
197  * Assign an address for the reset vector.
198  *
199  * Default is 0x0, which is the start of Flash. Ordinarily this setting should
200  * not be changed.
201  */
202 m3Hwi.resetVectorAddress = 0x0;
204 /*
205  * Assign an address for the vector table in RAM.
206  *
207  * The default is the start of RAM. This table is placed in RAM so interrupts
208  * can be added at runtime.
209  *
210  * Note: To change, verify address in the device specific datasheets'
211  *     memory map.
212  */
213 m3Hwi.vectorTableAddress = 0x20000000;
217 /* ================ Idle configuration ================ */
218 var Idle = xdc.useModule('ti.sysbios.knl.Idle');
220 /*
221  * The Idle module is used to specify a list of functions to be called when no
222  * other tasks are running in the system.
223  *
224  * Functions added here will be run continuously within the idle task.
225  *
226  * Function signature:
227  *     Void func(Void);
228  */
229 //Idle.addFunc("&myIdleFunc");
231 /* BMH flushing function */
232 Idle.addFunc('&uartPrintf_flush'); 
235 /* ================ Kernel (SYS/BIOS) configuration ================ */
236 var BIOS = xdc.useModule('ti.sysbios.BIOS');
237 /*
238  * Enable asserts in the BIOS library.
239  *
240  * Pick one:
241  *  - true (default)
242  *      Enables asserts for debugging purposes.
243  *  - false
244  *      Disables asserts for a reduced code footprint and better performance.
245  *
246  *  When using BIOS in ROM:
247  *      This option must be set to false.
248  */
249 //BIOS.assertsEnabled = true;
250 BIOS.assertsEnabled = false;
252 /*
253  * Specify default heap size for BIOS.
254  */
255 BIOS.heapSize = 1024;
257 /*
258  * Specify default CPU Frequency.
259  */
260 BIOS.cpuFreq.lo = 48000000;
262 /*
263  * A flag to determine if xdc.runtime sources are to be included in a custom
264  * built BIOS library.
265  *
266  * Pick one:
267  *  - false (default)
268  *      The pre-built xdc.runtime library is provided by the respective target
269  *      used to build the application.
270  *  - true
271  *      xdc.runtime library sources are to be included in the custom BIOS
272  *      library. This option yields the most efficient library in both code
273  *      footprint and runtime performance.
274  */
275 //BIOS.includeXdcRuntime = false;
276 BIOS.includeXdcRuntime = true;
278 /*
279  * The SYS/BIOS runtime is provided in the form of a library that is linked
280  * with the application. Several forms of this library are provided with the
281  * SYS/BIOS product.
282  *
283  * Pick one:
284  *   - BIOS.LibType_Custom
285  *      Custom built library that is highly optimized for code footprint and
286  *      runtime performance.
287  *   - BIOS.LibType_Debug
288  *      Custom built library that is non-optimized that can be used to
289  *      single-step through APIs with a debugger.
290  *
291  */
292 BIOS.libType = BIOS.LibType_Custom;
293 //BIOS.libType = BIOS.LibType_Debug;
295 /*
296  * Runtime instance creation enable flag.
297  *
298  * Pick one:
299  *   - true (default)
300  *      Allows Mod_create() and Mod_delete() to be called at runtime which
301  *      requires a default heap for dynamic memory allocation.
302  *   - false
303  *      Reduces code footprint by disallowing Mod_create() and Mod_delete() to
304  *      be called at runtime. Object instances are constructed via
305  *      Mod_construct() and destructed via Mod_destruct().
306  *
307  *  When using BIOS in ROM:
308  *      This option must be set to true.
309  */
310 BIOS.runtimeCreatesEnabled = true;
311 //BIOS.runtimeCreatesEnabled = false;
313 /*
314  * Enable logs in the BIOS library.
315  *
316  * Pick one:
317  *  - true (default)
318  *      Enables logs for debugging purposes.
319  *  - false
320  *      Disables logging for reduced code footprint and improved runtime
321  *      performance.
322  *
323  *  When using BIOS in ROM:
324  *      This option must be set to false.
325  */
326 //BIOS.logsEnabled = true;
327 BIOS.logsEnabled = false;
331 /* ================ Memory configuration ================ */
332 var Memory = xdc.useModule('xdc.runtime.Memory');
333 /*
334  * The Memory module itself simply provides a common interface for any
335  * variety of system and application specific memory management policies
336  * implemented by the IHeap modules(Ex. HeapMem, HeapBuf).
337  */
341 /* ================ Program configuration ================ */
342 /*
343  *  Program.stack is ignored with IAR. Use the project options in
344  *  IAR Embedded Workbench to alter the system stack size.
345  */
346 if (!Program.build.target.$name.match(/iar/)) {
347     /*
348      *  Reducing the system stack size (used by ISRs and Swis) to reduce
349      *  RAM usage.
350      */
351     Program.stack = 768;
356 /*
357  * Uncomment to enable Semihosting for GNU targets to print to the CCS console.
358  * Please read the following TIRTOS Wiki page for more information on Semihosting:
359  * http://processors.wiki.ti.com/index.php/TI-RTOS_Examples_SemiHosting
360  */
362 if (Program.build.target.$name.match(/gnu/)) {
363     //var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
366 /* ================ ROM configuration ================ */
367 /*
368  * To use BIOS in flash, comment out the code block below.
369  */
370 var ROM = xdc.useModule('ti.sysbios.rom.ROM');
371 if (Program.cpu.deviceName.match(/CC26/)) {
372     ROM.romName = ROM.CC2650;
374 else if (Program.cpu.deviceName.match(/CC13/)) {
375     ROM.romName = ROM.CC1350;
380 /* ================ Semaphore configuration ================ */
381 var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
382 /*
383  * Enables global support for Task priority pend queuing.
384  *
385  * Pick one:
386  *  - true (default)
387  *      This allows pending tasks to be serviced based on their task priority.
388  *  - false
389  *      Pending tasks are services based on first in, first out basis.
390  *
391  *  When using BIOS in ROM:
392  *      This option must be set to false.
393  */
394 //Semaphore.supportsPriority = true;
395 Semaphore.supportsPriority = false;
397 /*
398  * Allows for the implicit posting of events through the semaphore,
399  * disable for additional code saving.
400  *
401  * Pick one:
402  *  - true
403  *      This allows the Semaphore module to post semaphores and events
404  *      simultaneously.
405  *  - false (default)
406  *      Events must be explicitly posted to unblock tasks.
407  *
408  *  When using BIOS in ROM:
409  *      This option must be set to false.
410  */
411 //Semaphore.supportsEvents = true;
412 Semaphore.supportsEvents = false;
416 /* ================ Swi configuration ================ */
417 var Swi = xdc.useModule('ti.sysbios.knl.Swi');
418 /*
419  * A software interrupt is an object that encapsulates a function to be
420  * executed and a priority. Software interrupts are prioritized, preempt tasks
421  * and are preempted by hardware interrupt service routines.
422  *
423  * This module is included to allow Swi's in a users' application.
424  */
426 /*
427  * Reduce the number of swi priorities from the default of 16.
428  * Decreasing the number of swi priorities yields memory savings.
429  */
430 Swi.numPriorities = 6;
434 /* ================ System configuration ================ */
435 var System = xdc.useModule('xdc.runtime.System');
436 /*
437  * The Abort handler is called when the system exits abnormally.
438  *
439  * Pick one:
440  *  - System.abortStd (default)
441  *      Call the ANSI C Standard 'abort()' to terminate the application.
442  *  - System.abortSpin
443  *      A lightweight abort function that loops indefinitely in a while(1) trap
444  *      function.
445  *  - A custom abort handler
446  *      A user-defined function. See the System module documentation for
447  *      details.
448  */
449 //System.abortFxn = System.abortStd;
450 System.abortFxn = System.abortSpin;
451 //System.abortFxn = "&myAbortSystem";
453 /*
454  * The Exit handler is called when the system exits normally.
455  *
456  * Pick one:
457  *  - System.exitStd (default)
458  *      Call the ANSI C Standard 'exit()' to terminate the application.
459  *  - System.exitSpin
460  *      A lightweight exit function that loops indefinitely in a while(1) trap
461  *      function.
462  *  - A custom exit function
463  *      A user-defined function. See the System module documentation for
464  *      details.
465  */
466 //System.exitFxn = System.exitStd;
467 System.exitFxn = System.exitSpin;
468 //System.exitFxn = "&myExitSystem";
470 /*
471  * Minimize exit handler array in the System module. The System module includes
472  * an array of functions that are registered with System_atexit() which is
473  * called by System_exit(). The default value is 8.
474  */
475 System.maxAtexitHandlers = 0;
477 /*
478  * The System.SupportProxy defines a low-level implementation of System
479  * functions such as System_printf(), System_flush(), etc.
480  *
481  * Pick one pair:
482  *  - SysMin
483  *      This module maintains an internal configurable circular buffer that
484  *      stores the output until System_flush() is called.
485  *      The size of the circular buffer is set via SysMin.bufSize.
486  *  - SysCallback
487  *      SysCallback allows for user-defined implementations for System APIs.
488  *      The SysCallback support proxy has a smaller code footprint and can be
489  *      used to supply custom System_printf services.
490  *      The default SysCallback functions point to stub functions. See the
491  *      SysCallback module's documentation.
492  */
493  
494 /* BMH JTAG printf */
495 /**
496 var SysMin = xdc.useModule('xdc.runtime.SysMin');
497 SysMin.bufSize = 128;
498 System.SupportProxy = SysMin;
499 **/
501 /* BMH Uart Printf */
502 var SysCallback = xdc.useModule('xdc.runtime.SysCallback');
503 System.SupportProxy = SysCallback;
505 //SysCallback.abortFxn = "&myUserAbort";
506 //SysCallback.exitFxn  = "&myUserExit";
507 //SysCallback.flushFxn = "&myUserFlush";
508 //SysCallback.putchFxn = "&myUserPutch";
509 //SysCallback.readyFxn = "&myUserReady";
512 /* BMH: Uart Printf putch function */
513 SysCallback.putchFxn = "&uartPrintf_putch"; 
516 /* ================ Task configuration ================ */
517 var Task = xdc.useModule('ti.sysbios.knl.Task');
518 /*
519  * Check task stacks for overflow conditions.
520  *
521  * Pick one:
522  *  - true (default)
523  *      Enables runtime checks for task stack overflow conditions during
524  *      context switching ("from" and "to")
525  *  - false
526  *      Disables runtime checks for task stack overflow conditions.
527  *
528  *  When using BIOS in ROM:
529  *      This option must be set to false.
530  */
531 //Task.checkStackFlag = true;
532 Task.checkStackFlag = false;
534 /*
535  * Set the default task stack size when creating tasks.
536  *
537  * The default is dependent on the device being used. Reducing the default stack
538  * size yields greater memory savings.
539  */
540 Task.defaultStackSize = 512;
542 /*
543  * Enables the idle task.
544  *
545  * Pick one:
546  *  - true (default)
547  *      Creates a task with priority of 0 which calls idle hook functions. This
548  *      option must be set to true to gain power savings provided by the Power
549  *      module.
550  *  - false
551  *      No idle task is created. This option consumes less memory as no
552  *      additional default task stack is needed.
553  *      To gain power savings by the Power module without having the idle task,
554  *      add Idle.run as the Task.allBlockedFunc.
555  */
556 Task.enableIdleTask = true;
557 //Task.enableIdleTask = false;
558 //Task.allBlockedFunc = Idle.run;
560 /*
561  * If Task.enableIdleTask is set to true, this option sets the idle task's
562  * stack size.
563  *
564  * Reducing the idle stack size yields greater memory savings.
565  */
566 Task.idleTaskStackSize = 512;
568 /*
569  * Reduce the number of task priorities.
570  * The default is 16.
571  * Decreasing the number of task priorities yield memory savings.
572  */
573 Task.numPriorities = 4;
577 /* ================ Text configuration ================ */
578 var Text = xdc.useModule('xdc.runtime.Text');
579 /*
580  * These strings are placed in the .const section. Setting this parameter to
581  * false will save space in the .const section. Error, Assert and Log messages
582  * will print raw ids and args instead of a formatted message.
583  *
584  * Pick one:
585  *  - true (default)
586  *      This option loads test string into the .const for easier debugging.
587  *  - false
588  *      This option reduces the .const footprint.
589  */
590 //Text.isLoaded = true;
591 Text.isLoaded = false;
595 /* ================ Types configuration ================ */
596 var Types = xdc.useModule('xdc.runtime.Types');
597 /*
598  * This module defines basic constants and types used throughout the
599  * xdc.runtime package.
600  */
604 /* ================ TI-RTOS middleware configuration ================ */
605 var mwConfig = xdc.useModule('ti.mw.Config');
606 /*
607  * Include TI-RTOS middleware libraries
608  */
612 /* ================ TI-RTOS drivers' configuration ================ */
613 var driversConfig = xdc.useModule('ti.drivers.Config');
614 /*
615  * Include TI-RTOS drivers
616  *
617  * Pick one:
618  *  - driversConfig.LibType_NonInstrumented (default)
619  *      Use TI-RTOS drivers library optimized for footprint and performance
620  *      without asserts or logs.
621  *  - driversConfig.LibType_Instrumented
622  *      Use TI-RTOS drivers library for debugging with asserts and logs enabled.
623  */
624 driversConfig.libType = driversConfig.LibType_NonInstrumented;
625 //driversConfig.libType = driversConfig.LibType_Instrumented;
629 /* ================ Application Specific Instances ================ */