]> git.sur5r.net Git - freertos/commitdiff
Start to write the MSP430X demo.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 29 Dec 2010 22:07:52 +0000 (22:07 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 29 Dec 2010 22:07:52 +0000 (22:07 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1193 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Demo/MSP430X_MSP430F5438_IAR/FreeRTOSConfig.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.ewd [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.ewp [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.eww [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/RegTest.s43 [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/lnk430F5438A_mod.xcl [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/low_level_init.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_IAR/main.c [new file with mode: 0644]

diff --git a/Demo/MSP430X_MSP430F5438_IAR/FreeRTOSConfig.h b/Demo/MSP430X_MSP430F5438_IAR/FreeRTOSConfig.h
new file mode 100644 (file)
index 0000000..c618ab7
--- /dev/null
@@ -0,0 +1,108 @@
+/*\r
+    FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.\r
+\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * If you are:                                                             *\r
+    *                                                                         *\r
+    *    + New to FreeRTOS,                                                   *\r
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *\r
+    *    + Looking for basic training,                                        *\r
+    *    + Wanting to improve your FreeRTOS skills and productivity           *\r
+    *                                                                         *\r
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *\r
+    *                                                                         *\r
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *\r
+    *                  http://www.FreeRTOS.org/Documentation                  *\r
+    *                                                                         *\r
+    * A pdf reference manual is also available.  Both are usually delivered   *\r
+    * to your inbox within 20 minutes to two hours when purchased between 8am *\r
+    * and 8pm GMT (although please allow up to 24 hours in case of            *\r
+    * exceptional circumstances).  Thank you for your support!                *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
+    ***NOTE*** The exception to the GPL is included to allow you to distribute\r
+    a combined work that includes FreeRTOS without being obliged to provide the\r
+    source code for proprietary components outside of the FreeRTOS kernel.\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    more details. You should have received a copy of the GNU General Public\r
+    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
+    by writing to Richard Barry, contact details for whom are available on the\r
+    FreeRTOS WEB site.\r
+\r
+    1 tab == 4 spaces!\r
+\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
+\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
+\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
+*/\r
+\r
+#ifndef FREERTOS_CONFIG_H\r
+#define FREERTOS_CONFIG_H\r
+\r
+/*-----------------------------------------------------------\r
+ * Application specific definitions.\r
+ *\r
+ * These definitions should be adjusted for your particular hardware and\r
+ * application requirements.\r
+ *\r
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
+ *\r
+ * See http://www.freertos.org/a00110.html.\r
+ *----------------------------------------------------------*/\r
+\r
+#define configUSE_PREEMPTION                   1\r
+#define configUSE_IDLE_HOOK                            1\r
+#define configUSE_TICK_HOOK                            0\r
+#define configCPU_CLOCK_HZ                             ( 16000000UL )  \r
+#define configTICK_RATE_HZ                             ( ( portTickType ) 1000 )\r
+#define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 5 )\r
+#define configMINIMAL_STACK_SIZE               ( ( unsigned short ) 70 )\r
+#define configTOTAL_HEAP_SIZE                  ( ( size_t ) ( 5 * 1024 ) )\r
+#define configMAX_TASK_NAME_LEN                        ( 16 )\r
+#define configUSE_TRACE_FACILITY               0\r
+#define configUSE_16_BIT_TICKS                 0\r
+#define configIDLE_SHOULD_YIELD                        1\r
+#define configUSE_MUTEXES                              1\r
+#define configQUEUE_REGISTRY_SIZE              5\r
+#define configGENERATE_RUN_TIME_STATS  0\r
+#define configCHECK_FOR_STACK_OVERFLOW 2\r
+#define configUSE_RECURSIVE_MUTEXES            0\r
+#define configUSE_MALLOC_FAILED_HOOK   1\r
+#define configUSE_APPLICATION_TASK_TAG 0\r
+\r
+/* Co-routine definitions. */\r
+#define configUSE_CO_ROUTINES          0\r
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
+\r
+/* Set the following definitions to 1 to include the API function, or zero\r
+to exclude the API function. */\r
+\r
+#define INCLUDE_vTaskPrioritySet               1\r
+#define INCLUDE_uxTaskPriorityGet              1\r
+#define INCLUDE_vTaskDelete                            1\r
+#define INCLUDE_vTaskCleanUpResources  0\r
+#define INCLUDE_vTaskSuspend                   1\r
+#define INCLUDE_vTaskDelayUntil                        1\r
+#define INCLUDE_vTaskDelay                             1\r
+\r
+#define configTICK_INTERRUPT_VECTOR            TIMER0_A0_VECTOR\r
+\r
+\r
+#endif /* FREERTOS_CONFIG_H */\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.ewd b/Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.ewd
new file mode 100644 (file)
index 0000000..64ed02c
--- /dev/null
@@ -0,0 +1,739 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<project>\r
+  <fileVersion>2</fileVersion>\r
+  <configuration>\r
+    <name>Debug</name>\r
+    <toolchain>\r
+      <name>MSP430</name>\r
+    </toolchain>\r
+    <debug>1</debug>\r
+    <settings>\r
+      <name>C-SPY</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>25</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GoToEnable</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GoToName</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
+          <name>DynDriver</name>\r
+          <state>430FET</state>\r
+        </option>\r
+        <option>\r
+          <name>dDllSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DdfFileSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>DdfOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DdfFileName</name>\r
+          <state>$TOOLKIT_DIR$\config\MSP430F5438A.ddf</state>\r
+        </option>\r
+        <option>\r
+          <name>ProcTMS</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ProcMSP430X</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IVBASE</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesSuppressCheck1</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesPath1</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesSuppressCheck2</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesPath2</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesSuppressCheck3</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesPath3</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CPUTAG</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>L092Mode</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesOffset1</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesOffset2</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesOffset3</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesUse1</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesUse2</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesUse3</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>430FET</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <version>22</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CFetMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Erase</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyDownloadP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EraseOptionSlaveP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExitBreakpointP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PutcharBreakpointP7</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GetcharBreakpointP7</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>derivativeP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ParallelPortP7</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>TargetVoltage</name>\r
+          <state>3.3</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowLockedFlashAccessP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUAttach</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AttachOptionSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRadioProtocolType</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleTypeSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>EEMLevel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DiasbleMemoryCache</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NeedLockedFlashAccess</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>UsbComPort</name>\r
+          <state>Automatic</state>\r
+        </option>\r
+        <option>\r
+          <name>FetConnection</name>\r
+          <version>2</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SoftwareBreakpointEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioSoftwareBreakpointType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>TargetSettlingtime</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowAccessToBSL</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OTargetVccTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCBetaDll</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GPassword</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DebugLPM5</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LPM5Slave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRadioAutoManualType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExternalCodeDownload</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCVCCDefault</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>SIM430</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <version>4</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>SimOddAddressCheckP7</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CSimMandatory</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>derivativeSim</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SimEnablePSP</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SimPspOverrideConfig</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SimPspConfigFile</name>\r
+          <state>$TOOLKIT_DIR$\CONFIG\test.psp.config</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\FreeRTOS\FreeRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+    </debuggerPlugins>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <toolchain>\r
+      <name>MSP430</name>\r
+    </toolchain>\r
+    <debug>0</debug>\r
+    <settings>\r
+      <name>C-SPY</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>25</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GoToEnable</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GoToName</name>\r
+          <state>main</state>\r
+        </option>\r
+        <option>\r
+          <name>DynDriver</name>\r
+          <state>SIM430</state>\r
+        </option>\r
+        <option>\r
+          <name>dDllSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DdfFileSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>DdfOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DdfFileName</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ProcTMS</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ProcMSP430X</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IVBASE</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesSuppressCheck1</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesPath1</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesSuppressCheck2</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesPath2</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesSuppressCheck3</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesPath3</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CPUTAG</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>L092Mode</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesOffset1</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesOffset2</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesOffset3</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesUse1</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesUse2</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCImagesUse3</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>430FET</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <version>22</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CFetMandatory</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Erase</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUVerifyDownloadP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EraseOptionSlaveP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExitBreakpointP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PutcharBreakpointP7</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GetcharBreakpointP7</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>derivativeP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ParallelPortP7</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>TargetVoltage</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowLockedFlashAccessP7</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>EMUAttach</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AttachOptionSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRadioProtocolType</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleTypeSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>EEMLevel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>DiasbleMemoryCache</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NeedLockedFlashAccess</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>UsbComPort</name>\r
+          <state>Automatic</state>\r
+        </option>\r
+        <option>\r
+          <name>FetConnection</name>\r
+          <version>2</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SoftwareBreakpointEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioSoftwareBreakpointType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>TargetSettlingtime</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowAccessToBSL</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OTargetVccTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCBetaDll</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GPassword</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>DebugLPM5</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>LPM5Slave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CRadioAutoManualType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExternalCodeDownload</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCVCCDefault</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>SIM430</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <version>4</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>SimOddAddressCheckP7</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CSimMandatory</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>derivativeSim</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SimEnablePSP</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SimPspOverrideConfig</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SimPspConfigFile</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <debuggerPlugins>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\FreeRTOS\FreeRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\OpenRTOS\OpenRTOSPlugin.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>\r
+        <loadFlag>0</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+      <plugin>\r
+        <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file>\r
+        <loadFlag>1</loadFlag>\r
+      </plugin>\r
+    </debuggerPlugins>\r
+  </configuration>\r
+</project>\r
+\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.ewp b/Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.ewp
new file mode 100644 (file)
index 0000000..f5164b2
--- /dev/null
@@ -0,0 +1,1999 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<project>\r
+  <fileVersion>2</fileVersion>\r
+  <configuration>\r
+    <name>Debug</name>\r
+    <toolchain>\r
+      <name>MSP430</name>\r
+    </toolchain>\r
+    <debug>1</debug>\r
+    <settings>\r
+      <name>General</name>\r
+      <archiveVersion>7</archiveVersion>\r
+      <data>\r
+        <version>27</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>ExePath</name>\r
+          <state>Debug\Exe</state>\r
+        </option>\r
+        <option>\r
+          <name>ObjPath</name>\r
+          <state>Debug\Obj</state>\r
+        </option>\r
+        <option>\r
+          <name>ListPath</name>\r
+          <state>Debug\List</state>\r
+        </option>\r
+        <option>\r
+          <name>PosIndCode</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Hardware Multiplier</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GOutputBinary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AssemblerOnly</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OGDouble</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelect</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>RTDescription</name>\r
+          <state>Use the full configuration of the C/EC++ runtime library. Full locale interface, C locale, file descriptor support, multibytes in printf and scanf, and hex floats in strtod.</state>\r
+        </option>\r
+        <option>\r
+          <name>RTConfigPath</name>\r
+          <state>$TOOLKIT_DIR$\LIB\DLIB\dl430xlff.h</state>\r
+        </option>\r
+        <option>\r
+          <name>RTLibraryPath</name>\r
+          <state>$TOOLKIT_DIR$\LIB\DLIB\dl430xlff.r43</state>\r
+        </option>\r
+        <option>\r
+          <name>Input variant</name>\r
+          <version>0</version>\r
+          <state>3</state>\r
+        </option>\r
+        <option>\r
+          <name>Input description</name>\r
+          <state>No specifier n, no float or long long, no scan set, no assignment suppressing.</state>\r
+        </option>\r
+        <option>\r
+          <name>Output variant</name>\r
+          <version>0</version>\r
+          <state>4</state>\r
+        </option>\r
+        <option>\r
+          <name>Output description</name>\r
+          <state>No specifier a or A, no specifier n, no float or long long, no flags.</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelectSlave</name>\r
+          <version>0</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>OGCore</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralEnableMisra</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVerbose</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OGChipSelectMenu</name>\r
+          <state>MSP430F5438A  MSP430F5438A</state>\r
+        </option>\r
+        <option>\r
+          <name>GStackHeapOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GStackSize2</name>\r
+          <state>160</state>\r
+        </option>\r
+        <option>\r
+          <name>GHeapSize2</name>\r
+          <state>160</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioDataModelType</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>GHeap20Size</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioHeapSizeType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioHardwareMultiplierType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVer</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioL092ModelType</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>ICC430</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>30</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>CCDefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocComments</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMnemonics</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMessages</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssSource</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCEnableRemarks</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagSuppress</name>\r
+          <state>Pa082</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagRemark</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarning</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagError</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IObjPrefix2</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRequirePrototypes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCAllowList</name>\r
+          <version>1</version>\r
+          <state>00000</state>\r
+        </option>\r
+        <option>\r
+          <name>CCObjUseModuleName</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCObjModuleName</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDebugInfo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarnAreErr</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCharIs</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCExt</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMultibyteSupport</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMigrationPreprocExtentions</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCompilerRuntimeInfo</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IDoubleSize</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>$FILE_BNAME$.r43</state>\r
+        </option>\r
+        <option>\r
+          <name>CCLibConfigHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCCR4Utilize</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCCR5Utilize</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CPIC</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>PreInclude</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCOverrideModuleTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleTypeSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>newCCIncludePaths</name>\r
+          <state>$PROJ_DIR$\F5XX_6XX_Core_Lib</state>\r
+          <state>$PROJ_DIR$\MSP-EXP430F5438_HAL</state>\r
+          <state>$PROJ_DIR$\UserExperienceDemo</state>\r
+          <state>$PROJ_DIR$\..\Common\include</state>\r
+          <state>$PROJ_DIR$\..\..\Source\include</state>\r
+          <state>$PROJ_DIR$\..\..\Source\portable\IAR\MSP430X</state>\r
+          <state>$PROJ_DIR$</state>\r
+        </option>\r
+        <option>\r
+          <name>CCStdIncCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OI430X</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ReduceStack</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Save20bit</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptStrategy</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevelSlave</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>IccLang</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccCDialect</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IccAllowVLA</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccCppDialect</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IccRelaxedFpPrecision</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPUTAG</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>A430</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>13</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>AObjPrefix</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ACaseSensitivity</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacroChars</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnWhat</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnOne</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnRange1</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnRange2</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AList</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AListHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AListing</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Includes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacDefs</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExps</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExec</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OnlyAssed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MultiLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>TabSpacing</name>\r
+          <state>8</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDefines</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefInternal</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDual</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADebug</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ADebugType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxErrOn</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxErrNum</name>\r
+          <state>100</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>$FILE_BNAME$.r43</state>\r
+        </option>\r
+        <option>\r
+          <name>AMultibyteSupport</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OA1M</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AIgnoreStdInclude</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AStdIncludes</name>\r
+          <state>$TOOLKIT_DIR$\INC\</state>\r
+        </option>\r
+        <option>\r
+          <name>AUserIncludes</name>\r
+          <state>$PROJ_DIR$</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>CUSTOM</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <extensions></extensions>\r
+        <cmdline></cmdline>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BICOMP</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+    <settings>\r
+      <name>BUILDACTION</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <prebuild></prebuild>\r
+        <postbuild></postbuild>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XLINK</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>22</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>XOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state>RTOSDemo.d43</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFormat</name>\r
+          <version>11</version>\r
+          <state>33</state>\r
+        </option>\r
+        <option>\r
+          <name>FormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>SecondaryOutputFile</name>\r
+          <state>(None for the selected format)</state>\r
+        </option>\r
+        <option>\r
+          <name>XDefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AlwaysOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OverlapWarnings</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NoGlobalCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XList</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>SegmentMap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ListSymbols</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>XIncludes</name>\r
+          <state>$TOOLKIT_DIR$\LIB\</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleStatus</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclOverride</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFile</name>\r
+          <state>$PROJ_DIR$\lnk430F5438A_mod.xcl</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFileSlave</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoFill</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>FillerByte</name>\r
+          <state>0xFF</state>\r
+        </option>\r
+        <option>\r
+          <name>DoCrc</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcSize</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlgo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcPoly</name>\r
+          <state>0x11021</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcCompl</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RangeCheckAlternatives</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressAllWarn</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressDiags</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsWarn</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsErr</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleLocalSym</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcBitOrder</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XHardwareMul</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IncludeSuppressed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleSummary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkStackSize</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkCodeModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabel</name>\r
+          <state>__program_start</state>\r
+        </option>\r
+        <option>\r
+          <name>DebugInformation</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RuntimeControl</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IoEmulation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XcRTLibraryFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OXLibIOConfig</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryHeap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GenerateExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFile</name>\r
+          <state>RTOSDemo.a43</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFormat</name>\r
+          <version>11</version>\r
+          <state>23</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraFormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>xcOverrideProgramEntryLabel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabelSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ListOutputFormat</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>BufferedTermOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OverlaySystemMap</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySymbol</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySegment</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryAlign</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>XLinkMisraHandler</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlign</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcInitialValue</name>\r
+          <state>0x0</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryHeap20</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XAR</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>1</debug>\r
+        <option>\r
+          <name>XAROutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XARInputs</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BILINK</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+  </configuration>\r
+  <configuration>\r
+    <name>Release</name>\r
+    <toolchain>\r
+      <name>MSP430</name>\r
+    </toolchain>\r
+    <debug>0</debug>\r
+    <settings>\r
+      <name>General</name>\r
+      <archiveVersion>7</archiveVersion>\r
+      <data>\r
+        <version>27</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>ExePath</name>\r
+          <state>Release\Exe</state>\r
+        </option>\r
+        <option>\r
+          <name>ObjPath</name>\r
+          <state>Release\Obj</state>\r
+        </option>\r
+        <option>\r
+          <name>ListPath</name>\r
+          <state>Release\List</state>\r
+        </option>\r
+        <option>\r
+          <name>PosIndCode</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Hardware Multiplier</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>GOutputBinary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AssemblerOnly</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OGDouble</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelect</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RTDescription</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RTConfigPath</name>\r
+          <state>xxx.h</state>\r
+        </option>\r
+        <option>\r
+          <name>RTLibraryPath</name>\r
+          <state>xxx.r43</state>\r
+        </option>\r
+        <option>\r
+          <name>Input variant</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Input description</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>Output variant</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Output description</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>GRuntimeLibSelectSlave</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OGCore</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralEnableMisra</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVerbose</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OGChipSelectMenu</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>GStackHeapOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GStackSize2</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>GHeapSize2</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioDataModelType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GHeap20Size</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioHeapSizeType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioHardwareMultiplierType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraVer</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GeneralMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>RadioL092ModelType</name>\r
+          <state>0</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>ICC430</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>30</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>CCDefines</name>\r
+          <state>NDEBUG</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocComments</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPreprocLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMnemonics</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListCMessages</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssFile</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCListAssSource</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCEnableRemarks</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagSuppress</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagRemark</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarning</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagError</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>IObjPrefix2</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRequirePrototypes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCAllowList</name>\r
+          <version>1</version>\r
+          <state>11111</state>\r
+        </option>\r
+        <option>\r
+          <name>CCObjUseModuleName</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCObjModuleName</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCDebugInfo</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCDiagWarnAreErr</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCharIs</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCExt</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMultibyteSupport</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCMigrationPreprocExtentions</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCCompilerRuntimeInfo</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IDoubleSize</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCLibConfigHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OCCR4Utilize</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OCCR5Utilize</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CPIC</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>PreInclude</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCOverrideModuleTypeDefault</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCRadioModuleTypeSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>newCCIncludePaths</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>CCStdIncCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OI430X</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ReduceStack</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>Save20bit</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerDataModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevel</name>\r
+          <state>3</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptStrategy</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCOptLevelSlave</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CInput</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules98</name>\r
+          <version>0</version>\r
+          <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>CompilerMisraRules04</name>\r
+          <version>0</version>\r
+          <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state>\r
+        </option>\r
+        <option>\r
+          <name>IccLang</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccCDialect</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IccAllowVLA</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IccCppDialect</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IccRelaxedFpPrecision</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CCPUTAG</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>A430</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>13</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>AObjPrefix</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ACaseSensitivity</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacroChars</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnEnable</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnWhat</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnOne</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnRange1</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AWarnRange2</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ADefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AList</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AListHeader</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AListing</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>Includes</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacDefs</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExps</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>MacExec</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OnlyAssed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>MultiLine</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>TabSpacing</name>\r
+          <state>8</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRef</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDefines</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefInternal</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AXRefDual</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADebug</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ADebugType</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>IProcessor</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxErrOn</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AMaxErrNum</name>\r
+          <state>100</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AMultibyteSupport</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OA1M</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AIgnoreStdInclude</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>AStdIncludes</name>\r
+          <state>$TOOLKIT_DIR$\INC\</state>\r
+        </option>\r
+        <option>\r
+          <name>AUserIncludes</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>CUSTOM</name>\r
+      <archiveVersion>3</archiveVersion>\r
+      <data>\r
+        <extensions></extensions>\r
+        <cmdline></cmdline>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BICOMP</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+    <settings>\r
+      <name>BUILDACTION</name>\r
+      <archiveVersion>1</archiveVersion>\r
+      <data>\r
+        <prebuild></prebuild>\r
+        <postbuild></postbuild>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XLINK</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>22</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>XOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFormat</name>\r
+          <version>11</version>\r
+          <state>33</state>\r
+        </option>\r
+        <option>\r
+          <name>FormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>SecondaryOutputFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>XDefines</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>AlwaysOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>OverlapWarnings</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>NoGlobalCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XList</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SegmentMap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>ListSymbols</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLengthCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>PageLength</name>\r
+          <state>80</state>\r
+        </option>\r
+        <option>\r
+          <name>XIncludes</name>\r
+          <state>###Uninitialized###</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleStatus</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFile</name>\r
+          <state>lnk0t.xcl</state>\r
+        </option>\r
+        <option>\r
+          <name>XclFileSlave</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DoFill</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>FillerByte</name>\r
+          <state>0xFF</state>\r
+        </option>\r
+        <option>\r
+          <name>DoCrc</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcSize</name>\r
+          <version>0</version>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlgo</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcPoly</name>\r
+          <state>0x11021</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcCompl</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RangeCheckAlternatives</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressAllWarn</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>SuppressDiags</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsWarn</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>TreatAsErr</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleLocalSym</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcBitOrder</name>\r
+          <version>0</version>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XHardwareMul</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IncludeSuppressed</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ModuleSummary</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkStackSize</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XlinkCodeModel</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabel</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>DebugInformation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>RuntimeControl</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>IoEmulation</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XcRTLibraryFile</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>OXLibIOConfig</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryHeap</name>\r
+          <state>1</state>\r
+        </option>\r
+        <option>\r
+          <name>AllowExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>GenerateExtraOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraOutputFormat</name>\r
+          <version>11</version>\r
+          <state>23</state>\r
+        </option>\r
+        <option>\r
+          <name>ExtraFormatVariant</name>\r
+          <version>8</version>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>xcOverrideProgramEntryLabel</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>xcProgramEntryLabelSelect</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>ListOutputFormat</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>BufferedTermOutput</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOptionsCheck</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XExtraOptions</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OverlaySystemMap</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryFile</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySymbol</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinarySegment</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>RawBinaryAlign</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>XLinkMisraHandler</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcAlign</name>\r
+          <state>2</state>\r
+        </option>\r
+        <option>\r
+          <name>CrcInitialValue</name>\r
+          <state>0x0</state>\r
+        </option>\r
+        <option>\r
+          <name>XLibraryHeap20</name>\r
+          <state>1</state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>XAR</name>\r
+      <archiveVersion>4</archiveVersion>\r
+      <data>\r
+        <version>0</version>\r
+        <wantNonLocal>1</wantNonLocal>\r
+        <debug>0</debug>\r
+        <option>\r
+          <name>XAROutOverride</name>\r
+          <state>0</state>\r
+        </option>\r
+        <option>\r
+          <name>XARInputs</name>\r
+          <state></state>\r
+        </option>\r
+        <option>\r
+          <name>OutputFile</name>\r
+          <state></state>\r
+        </option>\r
+      </data>\r
+    </settings>\r
+    <settings>\r
+      <name>BILINK</name>\r
+      <archiveVersion>0</archiveVersion>\r
+      <data/>\r
+    </settings>\r
+  </configuration>\r
+  <group>\r
+    <name>F5XX_6XX_Core_Lib</name>\r
+    <file>\r
+      <name>$PROJ_DIR$\F5XX_6XX_Core_Lib\hal_macros.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\F5XX_6XX_Core_Lib\hal_PMM.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\F5XX_6XX_Core_Lib\hal_PMM.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\F5XX_6XX_Core_Lib\hal_UCS.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\F5XX_6XX_Core_Lib\hal_UCS.h</name>\r
+    </file>\r
+  </group>\r
+  <group>\r
+    <name>FreeRTOS_Source</name>\r
+    <group>\r
+      <name>Portable</name>\r
+      <file>\r
+        <name>$PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c</name>\r
+      </file>\r
+      <file>\r
+        <name>$PROJ_DIR$\..\..\Source\portable\IAR\MSP430X\port.c</name>\r
+      </file>\r
+      <file>\r
+        <name>$PROJ_DIR$\..\..\Source\portable\IAR\MSP430X\portext.s43</name>\r
+      </file>\r
+    </group>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\list.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\queue.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\..\..\Source\tasks.c</name>\r
+    </file>\r
+  </group>\r
+  <group>\r
+    <name>MSP-EXP430F5438_HAL</name>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\cc2500.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_adc.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_adc.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_board.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_board.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_buttons.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_buttons.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_lcd.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_lcd.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_lcd_fonts.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_lcd_fonts.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_MSP-EXP430F5438.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_rf.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_rf.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_rf_settings.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_rtc.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_rtc.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_tlv.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_tlv.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_usb.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\MSP-EXP430F5438_HAL\hal_usb.h</name>\r
+    </file>\r
+  </group>\r
+  <group>\r
+    <name>UserExperienceDemo</name>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\5xx_ACTIVE_test.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\5xx_ACTIVE_test.s43</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\adcTemp.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\adcTemp.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\audio.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\audio.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\balanceBall.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\balanceBall.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\clock.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\clock.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\FFT.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\FFT.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\FFT_430.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\FFT_430.s43</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\flashUtils.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\flashUtils.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\LPM.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\LPM.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\menuSetting.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\menuSetting.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\PMM.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\PMM.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\PowerTest.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\PowerTest.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\usbTest.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\usbTest.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\UserExperience_F5438A.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\UserExperience_F5438A.h</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\UserExperienceGraphics.c</name>\r
+    </file>\r
+    <file>\r
+      <name>$PROJ_DIR$\UserExperienceDemo\UserExperienceGraphics.h</name>\r
+    </file>\r
+  </group>\r
+  <file>\r
+    <name>$PROJ_DIR$\lnk430F5438A_mod.xcl</name>\r
+  </file>\r
+  <file>\r
+    <name>$PROJ_DIR$\low_level_init.c</name>\r
+  </file>\r
+  <file>\r
+    <name>$PROJ_DIR$\main.c</name>\r
+  </file>\r
+  <file>\r
+    <name>$PROJ_DIR$\readme.txt</name>\r
+  </file>\r
+  <file>\r
+    <name>$PROJ_DIR$\RegTest.s43</name>\r
+  </file>\r
+</project>\r
+\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.eww b/Demo/MSP430X_MSP430F5438_IAR/RTOSDemo.eww
new file mode 100644 (file)
index 0000000..239a938
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="iso-8859-1"?>\r
+\r
+<workspace>\r
+  <project>\r
+    <path>$WS_DIR$\RTOSDemo.ewp</path>\r
+  </project>\r
+  <batchBuild/>\r
+</workspace>\r
+\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/RegTest.s43 b/Demo/MSP430X_MSP430F5438_IAR/RegTest.s43
new file mode 100644 (file)
index 0000000..a750e82
--- /dev/null
@@ -0,0 +1,168 @@
+/*\r
+    FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.\r
+\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * If you are:                                                             *\r
+    *                                                                         *\r
+    *    + New to FreeRTOS,                                                   *\r
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *\r
+    *    + Looking for basic training,                                        *\r
+    *    + Wanting to improve your FreeRTOS skills and productivity           *\r
+    *                                                                         *\r
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *\r
+    *                                                                         *\r
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *\r
+    *                  http://www.FreeRTOS.org/Documentation                  *\r
+    *                                                                         *\r
+    * A pdf reference manual is also available.  Both are usually delivered   *\r
+    * to your inbox within 20 minutes to two hours when purchased between 8am *\r
+    * and 8pm GMT (although please allow up to 24 hours in case of            *\r
+    * exceptional circumstances).  Thank you for your support!                *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
+    ***NOTE*** The exception to the GPL is included to allow you to distribute\r
+    a combined work that includes FreeRTOS without being obliged to provide the\r
+    source code for proprietary components outside of the FreeRTOS kernel.\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    more details. You should have received a copy of the GNU General Public\r
+    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
+    by writing to Richard Barry, contact details for whom are available on the\r
+    FreeRTOS WEB site.\r
+\r
+    1 tab == 4 spaces!\r
+\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
+\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
+\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
+*/\r
+#include "msp430.h"\r
+#include "FreeRTOSConfig.h"\r
+\r
+       IMPORT usRegTest1Counter\r
+       IMPORT usRegTest2Counter\r
+       \r
+       EXPORT vRegTest1Task\r
+       EXPORT vRegTest2Task\r
+\r
+       RSEG CODE\r
+\r
+vRegTest1Task:\r
+\r
+       movx.a  #0x44444, r4\r
+       movx.a  #0x55555, r5\r
+       movx.a  #0x66666, r6\r
+       movx.a  #0x77777, r7\r
+       movx.a  #0x88888, r8\r
+       movx.a  #0x99999, r9\r
+       movx.a  #0xaaaaa, r10\r
+       movx.a  #0xbbbbb, r11\r
+       movx.a  #0xccccc, r12\r
+       movx.a  #0xddddd, r13\r
+       movx.a  #0xeeeee, r14\r
+       movx.a  #0xfffff, r15\r
+       \r
+prvRegTest1Loop:\r
+\r
+       cmpx.a  #0x44444, r4\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0x55555, r5\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0x66666, r6\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0x77777, r7\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0x88888, r8\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0x99999, r9\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0xaaaaa, r10\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0xbbbbb, r11\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0xccccc, r12\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0xddddd, r13\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0xeeeee, r14\r
+       jne             vRegTest1Error\r
+       cmpx.a  #0xfffff, r15\r
+       jne             vRegTest1Error\r
+       incx.w  &usRegTest1Counter\r
+       jmp             prvRegTest1Loop\r
+       nop\r
+\r
+       \r
+vRegTest1Error:\r
+       jmp vRegTest1Error\r
+       nop\r
+/*-----------------------------------------------------------*/\r
+\r
+vRegTest2Task:\r
+\r
+       movx.a  #0x44444, r4\r
+       movx.a  #0x55555, r5\r
+       movx.a  #0x66666, r6\r
+       movx.a  #0x77777, r7\r
+       movx.a  #0x88888, r8\r
+       movx.a  #0x99999, r9\r
+       movx.a  #0xaaaaa, r10\r
+       movx.a  #0xbbbbb, r11\r
+       movx.a  #0xccccc, r12\r
+       movx.a  #0xddddd, r13\r
+       movx.a  #0xeeeee, r14\r
+       movx.a  #0xfffff, r15\r
+       \r
+prvRegTest2Loop:\r
+\r
+       cmpx.a  #0x44444, r4\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0x55555, r5\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0x66666, r6\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0x77777, r7\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0x88888, r8\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0x99999, r9\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0xaaaaa, r10\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0xbbbbb, r11\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0xccccc, r12\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0xddddd, r13\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0xeeeee, r14\r
+       jne             vRegTest2Error\r
+       cmpx.a  #0xfffff, r15\r
+       jne             vRegTest2Error\r
+       incx.w  &usRegTest2Counter\r
+       jmp             prvRegTest2Loop\r
+       nop\r
+\r
+       \r
+vRegTest2Error:\r
+       jmp vRegTest2Error\r
+       nop\r
+/*-----------------------------------------------------------*/\r
+\r
+               \r
+       END\r
+               \r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/lnk430F5438A_mod.xcl b/Demo/MSP430X_MSP430F5438_IAR/lnk430F5438A_mod.xcl
new file mode 100644 (file)
index 0000000..4050f1d
--- /dev/null
@@ -0,0 +1,211 @@
+// ************************************************\r
+//\r
+// XLINK configuration file for MSP430F5438A\r
+//\r
+// Copyright 1996-2010 IAR Systems AB\r
+//\r
+// $Revision: $\r
+//\r
+// ************************************************\r
+\r
+// ---------------------------------------------------------\r
+// Description\r
+//\r
+\r
+//\r
+// Usage:\r
+//\r
+//   xlink [file file ...] -f lnk430f5438a.xcl\r
+//\r
+// -----------------------------------------------\r
+// Device summary\r
+//\r
+\r
+//\r
+// Core:                           MSP430X\r
+//\r
+// Interrupt vectors:              64\r
+//\r
+// Peripheral units:                   0-001FF\r
+//\r
+// Information memory (FLASH):     01800-019FF\r
+//\r
+// Read/write memory (RAM):        01C00-05BFF\r
+//\r
+// Read-only memory (FLASH):       05C00-0FFFF\r
+//                                 10000-45BFF\r
+//\r
+\r
+\r
+// -----------------------------------------------\r
+// Segments\r
+//\r
+\r
+// -------------------------------------\r
+// Data read/write segments (RAM)\r
+//\r
+\r
+//\r
+// The following segments are available for both\r
+// the DATA16 and DATA20 segment groups.\r
+//\r
+// segment         Usage\r
+// -------         --------------------------\r
+// DATA<nn>_Z      Data initialized to zero\r
+// DATA<nn>_I      Data initialized by copying from DATA<nn>_ID\r
+// DATA<nn>_N      Data defined using __no_init\r
+// DATA<nn>_HEAP   The heap used by 'malloc' and 'free'\r
+//\r
+// segment         Usage\r
+// -------         --------------------------\r
+// CSTACK          Runtime stack\r
+//\r
+\r
+\r
+// -------------------------------------\r
+// Program and data read-only segments (FLASH)\r
+//\r
+\r
+//\r
+// The following segments are available for both\r
+// the DATA16 and DATA20 segment groups.\r
+//\r
+// segment         Usage\r
+// -------         --------------------------\r
+// DATA<nn>_C      Constant data, including string literals\r
+// DATA<nn>_ID     initializers for DATA<nn>_I\r
+//\r
+// segment         Usage\r
+// -------         --------------------------\r
+// INFO            Information memory\r
+// INFOA           Information memory, bank A\r
+// INFOB           Information memory, bank B\r
+// INFOC           Information memory, bank C\r
+// INFOD           Information memory, bank D\r
+// CSTART          Program startup code\r
+// CODE            Program code\r
+// ISR_CODE        Program code for interrupt service routines\r
+// DIFUNCT         Dynamic initialization vector used by C++\r
+// CHECKSUM        Checksum byte(s) generated by the -J option\r
+// INTVEC          Interrupt vectors\r
+// RESET           The reset vector\r
+//\r
+// Notes:\r
+//\r
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in\r
+//   the DATA16 segment group must be placed in in the range 0000-FFFD.\r
+//\r
+// * The INFOx and INFO segments overlap, this allows data either to be\r
+//   placed in a specific bank or anywhere in the info memory.\r
+//\r
+// * The INTVEC and RESET segments overlap. This allows an application to\r
+//   either use the reset vector provided by the runtime library, or\r
+//   provide a reset function by defining an interrupt function associated\r
+//   with the reset vector.\r
+//\r
+\r
+\r
+// ---------------------------------------------------------\r
+// Configuation\r
+//\r
+\r
+// -----------------------------------------------\r
+// Stack and heap sizes\r
+//\r
+\r
+// Uncomment for command line use\r
+//-D_STACK_SIZE=80\r
+//-D_DATA16_HEAP_SIZE=80\r
+//-D_DATA20_HEAP_SIZE=80\r
+\r
+\r
+// -----------------------------------------------\r
+// Define cpu\r
+//\r
+\r
+-cmsp430\r
+\r
+\r
+// -----------------------------------------------\r
+// Support for placing functions in read/write memory\r
+//\r
+\r
+-QCODE_I=CODE_ID\r
+\r
+\r
+// ---------------------------------------------------------\r
+// Placement directives\r
+//\r
+\r
+// -----------------------------------------------\r
+// Read/write memory\r
+//\r
+\r
+/* Commented out and substituted the original memory region definition      */\r
+/* for RAM to reserve the memory region from 0x2000 to 0x2021 as it is      */\r
+/* used during active mode Icc tests in "5xx_ACTIVE_test.asm"               */\r
+//-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=1C00-5BFF\r
+\r
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=1C00-2000,2022-5BFF\r
+-Z(DATA)CODE_I\r
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE\r
+-Z(DATA)CSTACK+_STACK_SIZE#\r
+\r
+\r
+// -----------------------------------------------\r
+// Read-only memory\r
+//\r
+\r
+// -------------------------------------\r
+// Information memory\r
+//\r
+\r
+-Z(CONST)INFO=1800-19FF\r
+-Z(CONST)INFOA=1980-19FF\r
+-Z(CONST)INFOB=1900-197F\r
+-Z(CONST)INFOC=1880-18FF\r
+-Z(CONST)INFOD=1800-187F\r
+\r
+\r
+\r
+// -------------------------------------\r
+// Low memory 0-0FFFF\r
+//\r
+\r
+// ---------------------------\r
+// Code\r
+//\r
+\r
+-Z(CODE)CSTART,ISR_CODE=5C00-FF7F\r
+\r
+// ---------------------------\r
+// Constant data\r
+//\r
+\r
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=5C00-FF7F\r
+\r
+\r
+// -------------------------------------\r
+// All memory 0-FFFFF\r
+//\r
+\r
+// ---------------------------\r
+// Code\r
+//\r
+\r
+-P(CODE)CODE=5C00-FF7F,10000-45BFF\r
+-Z(CODE)CODE_ID\r
+\r
+// ---------------------------\r
+// Constant data\r
+//\r
+\r
+-Z(CONST)DATA20_C,DATA20_ID=5C00-FF7F,10000-45BFF\r
+\r
+\r
+// -------------------------------------\r
+// Interrupt vectors\r
+//\r
+\r
+-Z(CODE)INTVEC=FF80-FFFF\r
+-Z(CODE)RESET=FFFE-FFFF\r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/low_level_init.c b/Demo/MSP430X_MSP430F5438_IAR/low_level_init.c
new file mode 100644 (file)
index 0000000..9eba236
--- /dev/null
@@ -0,0 +1,54 @@
+/**************************************************\r
+ *\r
+ * This is a template for early application low-level initialization.\r
+ *\r
+ * Copyright 1996-2010 IAR Systems AB.\r
+ *\r
+ * $Revision: 5993 $\r
+ *\r
+ **************************************************/\r
+\r
+/*\r
+ * The function __low_level_init it called by the start-up code before\r
+ * "main" is called, and before data segment initialization is\r
+ * performed.\r
+ *\r
+ * This is a template file, modify to perform any initialization that\r
+ * should take place early.\r
+ *\r
+ * The return value of this function controls if data segment\r
+ * initialization should take place. If 0 is returned, it is bypassed.\r
+ *\r
+ * For the MSP430 microcontroller family, please consider disabling\r
+ * the watchdog timer here, as it could time-out during the data\r
+ * segment initialization.\r
+ */\r
+\r
+/*\r
+ * To disable the watchdog timer, include a suitable device header\r
+ * file (or "msp430.h") and add the following line to the function\r
+ * below:\r
+ *\r
+ *     WDTCTL = WDTPW+WDTHOLD;\r
+ *\r
+ */\r
+\r
+\r
+#include <intrinsics.h>\r
+#include "msp430.h"\r
+\r
+int __low_level_init(void)\r
+{\r
+  /* Insert your low-level initializations here */\r
+  \r
+  WDTCTL = WDTPW+WDTHOLD;\r
+  \r
+  /*\r
+   * Return value:\r
+   *\r
+   *  1 - Perform data segment initialization.\r
+   *  0 - Skip data segment initialization.\r
+   */\r
+\r
+  return 1;\r
+}\r
diff --git a/Demo/MSP430X_MSP430F5438_IAR/main.c b/Demo/MSP430X_MSP430F5438_IAR/main.c
new file mode 100644 (file)
index 0000000..2b0821a
--- /dev/null
@@ -0,0 +1,357 @@
+/*\r
+    FreeRTOS V6.1.0 - Copyright (C) 2010 Real Time Engineers Ltd.\r
+\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * If you are:                                                             *\r
+    *                                                                         *\r
+    *    + New to FreeRTOS,                                                   *\r
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *\r
+    *    + Looking for basic training,                                        *\r
+    *    + Wanting to improve your FreeRTOS skills and productivity           *\r
+    *                                                                         *\r
+    * then take a look at the FreeRTOS books - available as PDF or paperback  *\r
+    *                                                                         *\r
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *\r
+    *                  http://www.FreeRTOS.org/Documentation                  *\r
+    *                                                                         *\r
+    * A pdf reference manual is also available.  Both are usually delivered   *\r
+    * to your inbox within 20 minutes to two hours when purchased between 8am *\r
+    * and 8pm GMT (although please allow up to 24 hours in case of            *\r
+    * exceptional circumstances).  Thank you for your support!                *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
+    ***NOTE*** The exception to the GPL is included to allow you to distribute\r
+    a combined work that includes FreeRTOS without being obliged to provide the\r
+    source code for proprietary components outside of the FreeRTOS kernel.\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    more details. You should have received a copy of the GNU General Public\r
+    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
+    by writing to Richard Barry, contact details for whom are available on the\r
+    FreeRTOS WEB site.\r
+\r
+    1 tab == 4 spaces!\r
+\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
+\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
+\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
+*/\r
+#include <stdio.h>\r
+\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "queue.h"\r
+\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+\r
+/* The rate at which mainCHECK_LED will toggle when all the tasks are running\r
+without error.  Controlled by the check task as described at the top of this\r
+file. */\r
+#define mainNO_ERROR_CYCLE_TIME                ( 5000 / portTICK_RATE_MS )\r
+\r
+/* The rate at which mainCHECK_LED will toggle when an error has been reported\r
+by at least one task.  Controlled by the check task as described at the top of\r
+this file. */\r
+#define mainERROR_CYCLE_TIME           ( 200 / portTICK_RATE_MS )\r
+\r
+/* Codes sent within messages to the LCD task so the LCD task can interpret\r
+exactly what the message it just received was.  These are sent in the\r
+cMessageID member of the message structure (defined below). */\r
+#define mainMESSAGE_BUTTON_UP                  ( 1 )\r
+#define mainMESSAGE_BUTTON_SEL                 ( 2 )\r
+#define mainMESSAGE_STATUS                             ( 3 )\r
+\r
+/* When the cMessageID member of the message sent to the LCD task is\r
+mainMESSAGE_STATUS then these definitions are sent in the cMessageValue member\r
+of the same message and indicate what the status actually is. */\r
+#define mainERROR_DYNAMIC_TASKS                        ( pdPASS + 1 )\r
+#define mainERROR_COM_TEST                             ( pdPASS + 2 )\r
+#define mainERROR_GEN_QUEUE_TEST               ( pdPASS + 3 )\r
+\r
+/* The length of the queue (the number of items the queue can hold) that is used\r
+to send messages from tasks and interrupts the the LCD task. */\r
+#define mainQUEUE_LENGTH                               ( 5 )\r
+\r
+#define mainLCD_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+extern void vRegTest1Task( void *pvParameters );\r
+extern void vRegTest2Task( void *pvParameters );\r
+static void prvCheckTask( void *pvParameters );\r
+static void prvSetupHardware( void );\r
+static void prvTerminalIOTask( void *pvParameters );\r
+static void prvButtonPollTask( void *pvParameters );\r
+static void prvGenerateStatusMessage( char *pcBuffer, long lStatusValue );\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+volatile unsigned short usRegTest1Counter = 0, usRegTest2Counter = 0;\r
+\r
+/* The handle of the queue used to send messages from tasks and interrupts to\r
+the LCD task. */\r
+static xQueueHandle xLCDQueue = NULL;\r
+\r
+/* The definition of each message sent from tasks and interrupts to the LCD\r
+task. */\r
+typedef struct\r
+{\r
+       char cMessageID;        /* << States what the message is. */\r
+       char cMessageValue; /* << States the message value (can be an integer, string pointer, etc. depending on the value of cMessageID. */\r
+} xQueueMessage;\r
+/*-----------------------------------------------------------*/\r
+\r
+void main( void )\r
+{\r
+       prvSetupHardware();\r
+       \r
+       /* Create the queue used by tasks and interrupts to send strings to the LCD\r
+       task. */\r
+       xLCDQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( xQueueMessage ) );\r
+       \r
+       if( xLCDQueue != NULL )\r
+       {\r
+               /* Add the created queue to the queue registry so it can be viewed in\r
+               the IAR FreeRTOS state viewer plug-in. */\r
+               vQueueAddToRegistry( xLCDQueue, "LCDQueue" );\r
+\r
+               /* Create the terminal IO and button poll tasks, as described at the top\r
+               of this file. */\r
+               xTaskCreate( prvTerminalIOTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE, NULL, mainLCD_TASK_PRIORITY, NULL );\r
+               xTaskCreate( prvButtonPollTask, ( signed char * ) "ButPoll", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
+\r
+               xTaskCreate( vRegTest1Task, "RegTest1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
+               xTaskCreate( vRegTest2Task, "RegTest2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
+               xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL );\r
+               vTaskStartScheduler();\r
+       }\r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvTerminalIOTask( void *pvParameters )\r
+{\r
+xQueueMessage xReceivedMessage;\r
+\r
+/* Buffer into which strings are formatted and placed ready for display on the\r
+LCD.  Note this is a static variable to prevent it being allocated on the task\r
+stack, which is too small to hold such a variable.  The stack size is configured\r
+when the task is created. */\r
+static char cBuffer[ 512 ];\r
+\r
+       /* This function is the only function that uses printf().  If printf() is\r
+       used from any other function then some sort of mutual exclusion on stdout\r
+       will be necessary.\r
+       \r
+       This is also the only function that is permitted to access the LCD.\r
+       \r
+       First print out the number of bytes that remain in the FreeRTOS heap.  This\r
+       can be viewed in the terminal IO window within the IAR Embedded Workbench. */\r
+       printf( "%d bytes of heap space remain unallocated\n", ( int ) xPortGetFreeHeapSize() );\r
+\r
+       for( ;; )\r
+       {\r
+               /* Wait for a message to be received.  Using portMAX_DELAY as the block\r
+               time will result in an indefinite wait provided INCLUDE_vTaskSuspend is\r
+               set to 1 in FreeRTOSConfig.h, therefore there is no need to check the\r
+               function return value and the function will only return when a value\r
+               has been received. */\r
+               xQueueReceive( xLCDQueue, &xReceivedMessage, portMAX_DELAY );\r
+\r
+               /* What is this message?  What does it contain? */\r
+               switch( xReceivedMessage.cMessageID )\r
+               {\r
+                       case mainMESSAGE_BUTTON_UP              :       /* The button poll task has just\r
+                                                                                               informed this task that the up\r
+                                                                                               button on the joystick input has\r
+                                                                                               been pressed or released. */\r
+                                                                                               sprintf( cBuffer, "Button up = %d", xReceivedMessage.cMessageValue );\r
+                                                                                               break;\r
+\r
+                       case mainMESSAGE_BUTTON_SEL             :       /* The select button interrupt\r
+                                                                                               just informed this task that the\r
+                                                                                               select button was pressed.\r
+                                                                                               Generate a table of task run time\r
+                                                                                               statistics and output this to\r
+                                                                                               the terminal IO window in the IAR\r
+                                                                                               embedded workbench. */\r
+                                                                                               printf( "\nTask\t     Abs Time\t     %%Time\n*****************************************" );\r
+//                                                                                             vTaskGetRunTimeStats( ( signed char * ) cBuffer );\r
+//                                                                                             printf( cBuffer );\r
+                                                                                               break;\r
+                                                                                               \r
+                       case mainMESSAGE_STATUS                 :       /* The tick interrupt hook\r
+                                                                                               function has just informed this\r
+                                                                                               task of the system status.\r
+                                                                                               Generate a string in accordance\r
+                                                                                               with the status value. */\r
+                                                                                               prvGenerateStatusMessage( cBuffer, xReceivedMessage.cMessageValue );\r
+                                                                                               break;\r
+                                                                                               \r
+                       default                                                 :       sprintf( cBuffer, "Unknown message" );\r
+                                                                                               break;\r
+               }\r
+               \r
+               /* Output the message that was placed into the cBuffer array within the\r
+               switch statement above. */\r
+               printf( "%s", cBuffer );\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvGenerateStatusMessage( char *pcBuffer, long lStatusValue )\r
+{\r
+       /* Just a utility function to convert a status value into a meaningful\r
+       string for output onto the LCD. */\r
+       switch( lStatusValue )\r
+       {\r
+               case pdPASS                                             :       sprintf( pcBuffer, "Task status = PASS" );\r
+                                                                                       break;\r
+               case mainERROR_DYNAMIC_TASKS    :       sprintf( pcBuffer, "Error: Dynamic tasks" );\r
+                                                                                       break;\r
+               case mainERROR_COM_TEST                 :       sprintf( pcBuffer, "Err: loop connected?" ); /* Error in COM test - is the Loopback connector connected? */                                                                                                             \r
+                                                                                       break;\r
+               case mainERROR_GEN_QUEUE_TEST   :       sprintf( pcBuffer, "Error: Gen Q test" );\r
+                                                                                       break;\r
+               default                                                 :       sprintf( pcBuffer, "Unknown status" );\r
+                                                                                       break;\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvButtonPollTask( void *pvParameters )\r
+{\r
+unsigned char ucLastState = pdFALSE, ucState;\r
+xQueueMessage xMessage;\r
+\r
+       /* This tasks performs the button polling functionality as described at the\r
+       top of this file. */\r
+       for( ;; )\r
+       {\r
+               /* Check the button state. */\r
+               ucState = ( halButtonsPressed() & BUTTON_UP );\r
+               if( ucState != ucLastState )\r
+               {\r
+                       /* The state has changed, send a message to the LCD task. */\r
+                       xMessage.cMessageID = mainMESSAGE_BUTTON_UP;\r
+                       xMessage.cMessageValue = ucState;\r
+                       ucLastState = ucState;\r
+                       xQueueSend( xLCDQueue, &xMessage, portMAX_DELAY );\r
+               }\r
+               \r
+               /* Block for 10 milliseconds so this task does not utilise all the CPU\r
+               time and debouncing of the button is not necessary. */\r
+               vTaskDelay( 10 / portTICK_RATE_MS );\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvSetupHardware( void )\r
+{\r
+       halBoardInit();\r
+       halButtonsInit( BUTTON_ALL );\r
+       halButtonsInterruptEnable( BUTTON_SELECT );\r
+       LFXT_Start (XT1DRIVE_0);\r
+       Init_FLL_Settle( 25000, 488 );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvCheckTask( void *pvParameters )\r
+{\r
+volatile unsigned short usLastRegTest1Counter = 0, usLastRegTest2Counter = 0;\r
+portTickType xNextWakeTime, xCycleFrequency = mainNO_ERROR_CYCLE_TIME;\r
+const char *pcStatusMessage = "OK";\r
+\r
+       /* Initialise xNextWakeTime - this only needs to be done once. */\r
+       xNextWakeTime = xTaskGetTickCount();\r
+\r
+       for( ;; )\r
+       {\r
+               /* Place this task in the blocked state until it is time to run again. */\r
+               vTaskDelayUntil( &xNextWakeTime, xCycleFrequency );\r
+\r
+               /* Check the reg test tasks are still cycling.  They will stop incrementing\r
+               their loop counters if they encounter an error. */\r
+               if( usRegTest1Counter == usLastRegTest1Counter )\r
+               {\r
+                       pcStatusMessage = "Error: RegTest1";\r
+               }\r
+\r
+               if( usRegTest2Counter == usLastRegTest2Counter )\r
+               {\r
+                       pcStatusMessage = "Error: RegTest2";\r
+               }\r
+\r
+               usLastRegTest1Counter = usRegTest1Counter;\r
+               usLastRegTest2Counter = usRegTest2Counter;\r
+               \r
+               printf( "%s, tick count = %u\n", pcStatusMessage, ( unsigned int ) xTaskGetTickCount() );\r
+               fflush( stdout );\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationSetupTimerInterrupt( void )\r
+{\r
+const unsigned short usACLK_Frequency_Hz = 32768;\r
+\r
+       /* Ensure the timer is stopped. */\r
+       TA0CTL = 0;\r
+\r
+       /* Run the timer of the ACLK. */\r
+       TA0CTL = TASSEL_1;\r
+\r
+       /* Clear everything to start with. */\r
+       TA0CTL |= TACLR;\r
+\r
+       /* Set the compare match value according to the tick rate we want. */\r
+       TA0CCR0 = usACLK_Frequency_Hz / configTICK_RATE_HZ;\r
+\r
+       /* Enable the interrupts. */\r
+       TA0CCTL0 = CCIE;\r
+\r
+       /* Start up clean. */\r
+       TA0CTL |= TACLR;\r
+\r
+       /* Up mode. */\r
+       TA0CTL |= MC_1;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationMallocFailedHook( void )\r
+{\r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationStackOverflowHook( xTaskHandle *pxTask, signed char *pcTaskName )\r
+{\r
+       ( void ) pxTask;\r
+       ( void ) pcTaskName;\r
+       \r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationIdleHook( void )\r
+{\r
+       __bis_SR_register( LPM3_bits + GIE );\r
+}\r
+\r
+\r
+\r