Added Test Wake-Up
[i3-mote/i3-mote.git] / Basic-Test-Package / CC2650 / Test_CC2650_Blink / 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  *
51  * Note: The calibrateRCOSC parameter is set within the Power configuration
52  *     structure in the "Board.c" file.
53  */
54 Clock.tickPeriod = 10;
58 /* ================ Defaults (module) configuration ================ */
59 var Defaults = xdc.useModule('xdc.runtime.Defaults');
60 /*
61  * A flag to allow module names to be loaded on the target. Module name
62  * strings are placed in the .const section for debugging purposes.
63  *
64  * Pick one:
65  *  - true (default)
66  *      Setting this parameter to true will include name strings in the .const
67  *      section so that Errors and Asserts are easier to debug.
68  *  - false
69  *      Setting this parameter to false will reduce footprint in the .const
70  *      section. As a result, Error and Assert messages will contain an
71  *      "unknown module" prefix instead of the actual module name.
72  *
73  *  When using BIOS in ROM:
74  *      This option must be set to false.
75  */
76 //Defaults.common$.namedModule = true;
77 Defaults.common$.namedModule = false;
81 /* ================ Error configuration ================ */
82 var Error = xdc.useModule('xdc.runtime.Error');
83 /*
84  * This function is called to handle all raised errors, but unlike
85  * Error.raiseHook, this function is responsible for completely handling the
86  * error with an appropriately initialized Error_Block.
87  *
88  * Pick one:
89  *  - Error.policyDefault (default)
90  *      Calls Error.raiseHook with an initialized Error_Block structure and logs
91  *      the error using the module's logger.
92  *  - Error.policySpin
93  *      Simple alternative that traps on a while(1) loop for minimized target
94  *      footprint.
95  *      Using Error.policySpin, the Error.raiseHook will NOT called.
96  */
97 //Error.policyFxn = Error.policyDefault;
98 Error.policyFxn = Error.policySpin;
100 /*
101  * If Error.policyFxn is set to Error.policyDefault, this function is called
102  * whenever an error is raised by the Error module.
103  *
104  * Pick one:
105  *  - Error.print (default)
106  *      Errors are formatted and output via System_printf() for easier
107  *      debugging.
108  *  - null
109  *      Errors are not formatted or logged. This option reduces code footprint.
110  *  - non-null function
111  *      Errors invoke custom user function. See the Error module documentation
112  *      for more details.
113  */
114 //Error.raiseHook = Error.print;
115 Error.raiseHook = null;
116 //Error.raiseHook = "&myErrorFxn";
118 /*
119  * If Error.policyFxn is set to Error.policyDefault, this option applies to the
120  * maximum number of times the Error.raiseHook function can be recursively
121  * invoked. This option limits the possibility of an infinite recursion that
122  * could lead to a stack overflow.
123  * The default value is 16.
124  */
125 Error.maxDepth = 2;
129 /* ================ Hwi configuration ================ */
130 var halHwi = xdc.useModule('ti.sysbios.hal.Hwi');
131 var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
132 /*
133  * Checks for Hwi (system) stack overruns while in the Idle loop.
134  *
135  * Pick one:
136  *  - true (default)
137  *      Checks the top word for system stack overflows during the idle loop and
138  *      raises an Error if one is detected.
139  *  - false
140  *      Disabling the runtime check improves runtime performance and yields a
141  *      reduced flash footprint.
142  */
143 //halHwi.checkStackFlag = true;
144 halHwi.checkStackFlag = false;
146 /*
147  * The following options alter the system's behavior when a hardware exception
148  * is detected.
149  *
150  * Pick one:
151  *  - Hwi.enableException = true
152  *      This option causes the default m3Hwi.excHandlerFunc function to fully
153  *      decode an exception and dump the registers to the system console.
154  *      This option raises errors in the Error module and displays the
155  *      exception in ROV.
156  *  - Hwi.enableException = false
157  *      This option reduces code footprint by not decoding or printing the
158  *      exception to the system console.
159  *      It however still raises errors in the Error module and displays the
160  *      exception in ROV.
161  *  - Hwi.excHandlerFunc = null
162  *      This is the most aggressive option for code footprint savings; but it
163  *      can difficult to debug exceptions. It reduces flash footprint by
164  *      plugging in a default while(1) trap when exception occur. This option
165  *      does not raise an error with the Error module.
166  */
167 //m3Hwi.enableException = true;
168 //m3Hwi.enableException = false;
169 m3Hwi.excHandlerFunc = null;
171 /*
172  * Enable hardware exception generation when dividing by zero.
173  *
174  * Pick one:
175  *  - 0 (default)
176  *      Disables hardware exceptions when dividing by zero
177  *  - 1
178  *      Enables hardware exceptions when dividing by zero
179  */
180 m3Hwi.nvicCCR.DIV_0_TRP = 0;
181 //m3Hwi.nvicCCR.DIV_0_TRP = 1;
183 /*
184  * Enable hardware exception generation for invalid data alignment.
185  *
186  * Pick one:
187  *  - 0 (default)
188  *      Disables hardware exceptions for data alignment
189  *  - 1
190  *      Enables hardware exceptions for data alignment
191  */
192 m3Hwi.nvicCCR.UNALIGN_TRP = 0;
193 //m3Hwi.nvicCCR.UNALIGN_TRP = 1;
195 /*
196  * Assign an address for the reset vector.
197  *
198  * Default is 0x0, which is the start of Flash. Ordinarily this setting should
199  * not be changed.
200  */
201 m3Hwi.resetVectorAddress = 0x0;
203 /*
204  * Assign an address for the vector table in RAM.
205  *
206  * The default is the start of RAM. This table is placed in RAM so interrupts
207  * can be added at runtime.
208  *
209  * Note: To change, verify address in the device specific datasheets'
210  *     memory map.
211  */
212 m3Hwi.vectorTableAddress = 0x20000000;
216 /* ================ Idle configuration ================ */
217 var Idle = xdc.useModule('ti.sysbios.knl.Idle');
218 /*
219  * The Idle module is used to specify a list of functions to be called when no
220  * other tasks are running in the system.
221  *
222  * Functions added here will be run continuously within the idle task.
223  *
224  * Function signature:
225  *     Void func(Void);
226  */
227 //Idle.addFunc("&myIdleFunc");
231 /* ================ Kernel (SYS/BIOS) configuration ================ */
232 var BIOS = xdc.useModule('ti.sysbios.BIOS');
233 /*
234  * Enable asserts in the BIOS library.
235  *
236  * Pick one:
237  *  - true (default)
238  *      Enables asserts for debugging purposes.
239  *  - false
240  *      Disables asserts for a reduced code footprint and better performance.
241  *
242  *  When using BIOS in ROM:
243  *      This option must be set to false.
244  */
245 //BIOS.assertsEnabled = true;
246 BIOS.assertsEnabled = false;
248 /*
249  * Specify default heap size for BIOS.
250  */
251 BIOS.heapSize = 1024;
253 /*
254  * Specify default CPU Frequency.
255  */
256 BIOS.cpuFreq.lo = 48000000;
258 /*
259  * A flag to determine if xdc.runtime sources are to be included in a custom
260  * built BIOS library.
261  *
262  * Pick one:
263  *  - false (default)
264  *      The pre-built xdc.runtime library is provided by the respective target
265  *      used to build the application.
266  *  - true
267  *      xdc.runtime library sources are to be included in the custom BIOS
268  *      library. This option yields the most efficient library in both code
269  *      footprint and runtime performance.
270  */
271 //BIOS.includeXdcRuntime = false;
272 BIOS.includeXdcRuntime = true;
274 /*
275  * The SYS/BIOS runtime is provided in the form of a library that is linked
276  * with the application. Several forms of this library are provided with the
277  * SYS/BIOS product.
278  *
279  * Pick one:
280  *   - BIOS.LibType_Custom
281  *      Custom built library that is highly optimized for code footprint and
282  *      runtime performance.
283  *   - BIOS.LibType_Debug
284  *      Custom built library that is non-optimized that can be used to
285  *      single-step through APIs with a debugger.
286  *
287  */
288 BIOS.libType = BIOS.LibType_Custom;
289 //BIOS.libType = BIOS.LibType_Debug;
291 /*
292  * Runtime instance creation enable flag.
293  *
294  * Pick one:
295  *   - true (default)
296  *      Allows Mod_create() and Mod_delete() to be called at runtime which
297  *      requires a default heap for dynamic memory allocation.
298  *   - false
299  *      Reduces code footprint by disallowing Mod_create() and Mod_delete() to
300  *      be called at runtime. Object instances are constructed via
301  *      Mod_construct() and destructed via Mod_destruct().
302  *
303  *  When using BIOS in ROM:
304  *      This option must be set to true.
305  */
306 BIOS.runtimeCreatesEnabled = true;
307 //BIOS.runtimeCreatesEnabled = false;
309 /*
310  * Enable logs in the BIOS library.
311  *
312  * Pick one:
313  *  - true (default)
314  *      Enables logs for debugging purposes.
315  *  - false
316  *      Disables logging for reduced code footprint and improved runtime
317  *      performance.
318  *
319  *  When using BIOS in ROM:
320  *      This option must be set to false.
321  */
322 //BIOS.logsEnabled = true;
323 BIOS.logsEnabled = false;
327 /* ================ Memory configuration ================ */
328 var Memory = xdc.useModule('xdc.runtime.Memory');
329 /*
330  * The Memory module itself simply provides a common interface for any
331  * variety of system and application specific memory management policies
332  * implemented by the IHeap modules(Ex. HeapMem, HeapBuf).
333  */
337 /* ================ Program configuration ================ */
338 /*
339  *  Program.stack is ignored with IAR. Use the project options in
340  *  IAR Embedded Workbench to alter the system stack size.
341  */
342 if (!Program.build.target.$name.match(/iar/)) {
343     /*
344      *  Reducing the system stack size (used by ISRs and Swis) to reduce
345      *  RAM usage.
346      */
347     Program.stack = 768;
352 /*
353  * Uncomment to enable Semihosting for GNU targets to print to the CCS console.
354  * Please read the following TIRTOS Wiki page for more information on Semihosting:
355  * http://processors.wiki.ti.com/index.php/TI-RTOS_Examples_SemiHosting
356  */
358 if (Program.build.target.$name.match(/gnu/)) {
359     //var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
362 /* ================ ROM configuration ================ */
363 /*
364  * To use BIOS in flash, comment out the code block below.
365  */
366 var ROM = xdc.useModule('ti.sysbios.rom.ROM');
367 if (Program.cpu.deviceName.match(/CC26/)) {
368     ROM.romName = ROM.CC2650;
370 else if (Program.cpu.deviceName.match(/CC13/)) {
371     ROM.romName = ROM.CC1350;
376 /* ================ Semaphore configuration ================ */
377 var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
378 /*
379  * Enables global support for Task priority pend queuing.
380  *
381  * Pick one:
382  *  - true (default)
383  *      This allows pending tasks to be serviced based on their task priority.
384  *  - false
385  *      Pending tasks are services based on first in, first out basis.
386  *
387  *  When using BIOS in ROM:
388  *      This option must be set to false.
389  */
390 //Semaphore.supportsPriority = true;
391 Semaphore.supportsPriority = false;
393 /*
394  * Allows for the implicit posting of events through the semaphore,
395  * disable for additional code saving.
396  *
397  * Pick one:
398  *  - true
399  *      This allows the Semaphore module to post semaphores and events
400  *      simultaneously.
401  *  - false (default)
402  *      Events must be explicitly posted to unblock tasks.
403  *
404  *  When using BIOS in ROM:
405  *      This option must be set to false.
406  */
407 //Semaphore.supportsEvents = true;
408 Semaphore.supportsEvents = false;
412 /* ================ Swi configuration ================ */
413 var Swi = xdc.useModule('ti.sysbios.knl.Swi');
414 /*
415  * A software interrupt is an object that encapsulates a function to be
416  * executed and a priority. Software interrupts are prioritized, preempt tasks
417  * and are preempted by hardware interrupt service routines.
418  *
419  * This module is included to allow Swi's in a users' application.
420  */
422 /*
423  * Reduce the number of swi priorities from the default of 16.
424  * Decreasing the number of swi priorities yields memory savings.
425  */
426 Swi.numPriorities = 6;
430 /* ================ System configuration ================ */
431 var System = xdc.useModule('xdc.runtime.System');
432 /*
433  * The Abort handler is called when the system exits abnormally.
434  *
435  * Pick one:
436  *  - System.abortStd (default)
437  *      Call the ANSI C Standard 'abort()' to terminate the application.
438  *  - System.abortSpin
439  *      A lightweight abort function that loops indefinitely in a while(1) trap
440  *      function.
441  *  - A custom abort handler
442  *      A user-defined function. See the System module documentation for
443  *      details.
444  */
445 //System.abortFxn = System.abortStd;
446 System.abortFxn = System.abortSpin;
447 //System.abortFxn = "&myAbortSystem";
449 /*
450  * The Exit handler is called when the system exits normally.
451  *
452  * Pick one:
453  *  - System.exitStd (default)
454  *      Call the ANSI C Standard 'exit()' to terminate the application.
455  *  - System.exitSpin
456  *      A lightweight exit function that loops indefinitely in a while(1) trap
457  *      function.
458  *  - A custom exit function
459  *      A user-defined function. See the System module documentation for
460  *      details.
461  */
462 //System.exitFxn = System.exitStd;
463 System.exitFxn = System.exitSpin;
464 //System.exitFxn = "&myExitSystem";
466 /*
467  * Minimize exit handler array in the System module. The System module includes
468  * an array of functions that are registered with System_atexit() which is
469  * called by System_exit(). The default value is 8.
470  */
471 System.maxAtexitHandlers = 0;
473 /*
474  * The System.SupportProxy defines a low-level implementation of System
475  * functions such as System_printf(), System_flush(), etc.
476  *
477  * Pick one pair:
478  *  - SysMin
479  *      This module maintains an internal configurable circular buffer that
480  *      stores the output until System_flush() is called.
481  *      The size of the circular buffer is set via SysMin.bufSize.
482  *  - SysCallback
483  *      SysCallback allows for user-defined implementations for System APIs.
484  *      The SysCallback support proxy has a smaller code footprint and can be
485  *      used to supply custom System_printf services.
486  *      The default SysCallback functions point to stub functions. See the
487  *      SysCallback module's documentation.
488  */
489 var SysMin = xdc.useModule('xdc.runtime.SysMin');
490 SysMin.bufSize = 128;
491 System.SupportProxy = SysMin;
493 //var SysCallback = xdc.useModule('xdc.runtime.SysCallback');
494 //System.SupportProxy = SysCallback;
496 //SysCallback.abortFxn = "&myUserAbort";
497 //SysCallback.exitFxn  = "&myUserExit";
498 //SysCallback.flushFxn = "&myUserFlush";
499 //SysCallback.putchFxn = "&myUserPutch";
500 //SysCallback.readyFxn = "&myUserReady";
504 /* ================ Task configuration ================ */
505 var Task = xdc.useModule('ti.sysbios.knl.Task');
506 /*
507  * Check task stacks for overflow conditions.
508  *
509  * Pick one:
510  *  - true (default)
511  *      Enables runtime checks for task stack overflow conditions during
512  *      context switching ("from" and "to")
513  *  - false
514  *      Disables runtime checks for task stack overflow conditions.
515  *
516  *  When using BIOS in ROM:
517  *      This option must be set to false.
518  */
519 //Task.checkStackFlag = true;
520 Task.checkStackFlag = false;
522 /*
523  * Set the default task stack size when creating tasks.
524  *
525  * The default is dependent on the device being used. Reducing the default stack
526  * size yields greater memory savings.
527  */
528 Task.defaultStackSize = 512;
530 /*
531  * Enables the idle task.
532  *
533  * Pick one:
534  *  - true (default)
535  *      Creates a task with priority of 0 which calls idle hook functions. This
536  *      option must be set to true to gain power savings provided by the Power
537  *      module.
538  *  - false
539  *      No idle task is created. This option consumes less memory as no
540  *      additional default task stack is needed.
541  *      To gain power savings by the Power module without having the idle task,
542  *      add Idle.run as the Task.allBlockedFunc.
543  */
544 Task.enableIdleTask = true;
545 //Task.enableIdleTask = false;
546 //Task.allBlockedFunc = Idle.run;
548 /*
549  * If Task.enableIdleTask is set to true, this option sets the idle task's
550  * stack size.
551  *
552  * Reducing the idle stack size yields greater memory savings.
553  */
554 Task.idleTaskStackSize = 512;
556 /*
557  * Reduce the number of task priorities.
558  * The default is 16.
559  * Decreasing the number of task priorities yield memory savings.
560  */
561 Task.numPriorities = 4;
565 /* ================ Text configuration ================ */
566 var Text = xdc.useModule('xdc.runtime.Text');
567 /*
568  * These strings are placed in the .const section. Setting this parameter to
569  * false will save space in the .const section. Error, Assert and Log messages
570  * will print raw ids and args instead of a formatted message.
571  *
572  * Pick one:
573  *  - true (default)
574  *      This option loads test string into the .const for easier debugging.
575  *  - false
576  *      This option reduces the .const footprint.
577  */
578 //Text.isLoaded = true;
579 Text.isLoaded = false;
583 /* ================ Types configuration ================ */
584 var Types = xdc.useModule('xdc.runtime.Types');
585 /*
586  * This module defines basic constants and types used throughout the
587  * xdc.runtime package.
588  */
592 /* ================ TI-RTOS middleware configuration ================ */
593 var mwConfig = xdc.useModule('ti.mw.Config');
594 /*
595  * Include TI-RTOS middleware libraries
596  */
600 /* ================ TI-RTOS drivers' configuration ================ */
601 var driversConfig = xdc.useModule('ti.drivers.Config');
602 /*
603  * Include TI-RTOS drivers
604  *
605  * Pick one:
606  *  - driversConfig.LibType_NonInstrumented (default)
607  *      Use TI-RTOS drivers library optimized for footprint and performance
608  *      without asserts or logs.
609  *  - driversConfig.LibType_Instrumented
610  *      Use TI-RTOS drivers library for debugging with asserts and logs enabled.
611  */
612 driversConfig.libType = driversConfig.LibType_NonInstrumented;
613 //driversConfig.libType = driversConfig.LibType_Instrumented;
617 /* ================ Application Specific Instances ================ */