]> git.sur5r.net Git - freertos/commitdiff
Rename Demo/MPS430X_MSP430F5438_CCS4 Demo/MPS430X_MSP430F5438_CCS.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 2 Apr 2012 09:40:00 +0000 (09:40 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 2 Apr 2012 09:40:00 +0000 (09:40 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1711 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

64 files changed:
Demo/MSP430X_MSP430F5438_CCS/.ccsproject [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/.cdtbuild [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/.cdtproject [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/.cproject [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/.project [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/.settings/org.eclipse.cdt.managedbuilder.core.prefs [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/.settings/org.eclipse.ltk.core.refactoring.prefs [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/CreateProjectDirectoryStructure.bat [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_macros.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/FreeRTOSConfig.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_MSP-EXP430F5438.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_board.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.h [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/ParTest.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/RegTest.asm [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/RunTimeStatsConfig.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/main.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/printf-stdarg.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/serial.c [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/MSP430F5438A.ccxml [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/READ_ME_FIRST.txt [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS/lnk_msp430f5438a.cmd [new file with mode: 0644]
Demo/MSP430X_MSP430F5438_CCS4/.ccsproject [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/.cdtbuild [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/.cdtproject [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/.cproject [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/.project [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/.settings/org.eclipse.cdt.managedbuilder.core.prefs [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/.settings/org.eclipse.ltk.core.refactoring.prefs [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/CreateProjectDirectoryStructure.bat [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_macros.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/FreeRTOSConfig.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_MSP-EXP430F5438.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_board.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.h [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/ParTest.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/RegTest.asm [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/RunTimeStatsConfig.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/main.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/printf-stdarg.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/serial.c [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/MSP430F5438A.ccxml [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/READ_ME_FIRST.txt [deleted file]
Demo/MSP430X_MSP430F5438_CCS4/lnk_msp430f5438a.cmd [deleted file]

diff --git a/Demo/MSP430X_MSP430F5438_CCS/.ccsproject b/Demo/MSP430X_MSP430F5438_CCS/.ccsproject
new file mode 100644 (file)
index 0000000..2b2a65d
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?ccsproject version="1.0"?>\r
+\r
+<projectOptions>\r
+<deviceVariant value="MSP430F5438A"/>\r
+<deviceEndianness value="little"/>\r
+<codegenToolVersion value="3.3.1"/>\r
+<isElfFormat value="false"/>\r
+<linkerCommandFile value="lnk_msp430f5438a.cmd"/>\r
+<rts value="libc.a"/>\r
+<connection value="common/targetdb/connections/TIMSP430-USB.xml"/>\r
+</projectOptions>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/.cdtbuild b/Demo/MSP430X_MSP430F5438_CCS/.cdtbuild
new file mode 100644 (file)
index 0000000..9095ac9
--- /dev/null
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?fileVersion 3.1.0?>\r
+\r
+<ManagedProjectBuildInfo>\r
+<project id="RTOSDemo.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.390526873" name="MSP430" projectType="com.ti.ccstudio.buildDefinitions.MSP430.ProjectType">\r
+<configuration artifactExtension="out" artifactName="RTOSDemo" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382" name="Debug_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain.1435545480" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1939561680" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2036195343" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.621480247" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+<listOptionValue builtIn="false" value="225"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.37183846" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1568785139" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.1497996645" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1362716564" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.844673927" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.2031322476" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1655029752" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2084743920" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.446616973" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1471292597" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
+</tool>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1907940977" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.155131239" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1895647999" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.2049770982" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.572680980" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1698632584" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.302988553" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.757897994" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.2021374180" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+</tool>\r
+<macros expandEnvironmentMacros="true"/>\r
+</toolChain>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RegTest.s43" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
+</resourceConfiguration>\r
+</configuration>\r
+<configuration artifactExtension="out" artifactName="RTOSDemo" description="As Debug equivalent, but with optimisation" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664" name="Release_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.1735571508" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.845441932" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1708073037" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.241703582" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+<listOptionValue builtIn="false" value="225"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1221025194" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.323247937" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.545874544" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.339441888" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.92276102" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.82625540" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.68404244" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.643200100" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.66260390" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1440431692" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.1555619682" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.3" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG.1863156180" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE.153283919" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE" value="true" valueType="boolean"/>\r
+</tool>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1554119117" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.884365605" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.1998221473" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1687098000" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.750680827" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1013281652" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1188464260" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.1046073815" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.815672174" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1965028960" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+</tool>\r
+<macros expandEnvironmentMacros="true"/>\r
+</toolChain>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
+</resourceConfiguration>\r
+</configuration>\r
+<configuration artifactExtension="out" artifactName="RTOSDemo" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265" name="Debug_Small_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.2145243374" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.338864744" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.67554128" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.1302018091" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+<listOptionValue builtIn="false" value="225"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1956765338" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.minimal" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1373809772" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.566602389" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1857585518" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.614313056" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.978394614" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1169614842" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.1870922413" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.1139014825" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.820058243" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15.1202920097" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18.1795934125" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18" value="true" valueType="boolean"/>\r
+</tool>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1837962732" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.728234211" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.312215125" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.261762041" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.820149163" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1084155280" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1180248234" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.4260704" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.162464119" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.292220966" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+</tool>\r
+<macros expandEnvironmentMacros="true"/>\r
+</toolChain>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
+</resourceConfiguration>\r
+</configuration>\r
+<configuration artifactExtension="out" artifactName="RTOSDemo" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325" name="Debug_Small_Data_Small_Code_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.380336448" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.932239256" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
+<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1799066504" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.653083494" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+<listOptionValue builtIn="false" value="225"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1251293454" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.932999402" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.920476184" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.97327763" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.163750782" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.1573588815" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1716081794" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2014194608" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.360434361" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.small" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.102615768" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
+</tool>\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.400652052" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1589461908" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.761794468" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.847690853" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.1733576069" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.544555422" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1976314562" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.333671382" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.1991915989" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+</option>\r
+<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1849506187" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+</tool>\r
+<macros expandEnvironmentMacros="true"/>\r
+</toolChain>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606">\r
+<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
+</resourceConfiguration>\r
+</configuration>\r
+<macros/>\r
+</project>\r
+</ManagedProjectBuildInfo>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/.cdtproject b/Demo/MSP430X_MSP430F5438_CCS/.cdtproject
new file mode 100644 (file)
index 0000000..fa82503
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse-cdt version="2.0"?>\r
+\r
+<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">\r
+<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>\r
+<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+<data>\r
+<item id="org.eclipse.cdt.core.pathentry">\r
+<pathentry kind="src" path=""/>\r
+<pathentry kind="out" path=""/>\r
+<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>\r
+<pathentry kind="con" path="com.ti.ccstudio.managedbuild.core.CCS_CONTAINER"/>\r
+</item>\r
+</data>\r
+</cdtproject>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/.cproject b/Demo/MSP430X_MSP430F5438_CCS/.cproject
new file mode 100644 (file)
index 0000000..f694fa4
--- /dev/null
@@ -0,0 +1,678 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<?fileVersion 4.0.0?>\r
+\r
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
+       <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
+               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382" moduleId="org.eclipse.cdt.core.settings" name="Debug_Large_Data_Model">\r
+                               <externalSettings/>\r
+                               <extensions>\r
+                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382" name="Debug_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382.2078353183" name="/" resourcePath="">\r
+                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain.1435545480" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1939561680" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+                                                       </option>\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2036195343" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.658578181" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
+                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.1282910861" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.621480247" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="225"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.37183846" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1568785139" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.1497996645" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1362716564" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.844673927" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.2031322476" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1655029752" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2084743920" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.446616973" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1471292597" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1639737345" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.116599975" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1903944414" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1426088546" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.362924516" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1907940977" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.155131239" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1895647999" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.2049770982" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.572680980" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1698632584" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.302988553" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.757897994" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.2021374180" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1801268896" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.824310387" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.727443583" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.247938297" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RegTest.s43" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1193564947" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1949453671" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1539141431" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.2127695483" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1715155904" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1550281240" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1531458067" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.149438069" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1246356415" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.40709283" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.245524235" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1584570661" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1746181350" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.193865417" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1019022417" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.32914985" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2147438470" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1363016352" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1359081432" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.606145801" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1918877692" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1564455827" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.450170396" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.988739673" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1059084925" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.2133292069" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.67154926" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1151873929" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1079732155" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1013679432" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.235033956" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.836892483" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1613496922" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.978003389" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1189346205" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1722951503" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+               </cconfiguration>\r
+               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664" moduleId="org.eclipse.cdt.core.settings" name="Release_Large_Data_Model">\r
+                               <externalSettings/>\r
+                               <extensions>\r
+                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="As Debug equivalent, but with optimisation" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664" name="Release_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664.1400773385" name="/" resourcePath="">\r
+                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.1735571508" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.845441932" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+                                                       </option>\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1708073037" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.1118092461" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
+                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.394593071" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.241703582" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="225"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1221025194" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.323247937" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.545874544" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.339441888" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.92276102" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.82625540" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.68404244" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.643200100" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.66260390" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1440431692" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.1555619682" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.3" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG.1863156180" name="Optimize fully in the presence of debug directives (--optimize_with_debug, -mn)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE.153283919" name="Inline functions only called once. (--single_inline)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1735539414" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1451181883" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.456821142" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1799963091" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1852039917" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1554119117" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.884365605" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.1998221473" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1687098000" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.750680827" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1013281652" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1188464260" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.1046073815" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.815672174" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1965028960" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.64425047" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1705743978" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.936990181" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1397860864" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.103284843" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.933798656" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.60128287" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.95793564" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1263159469" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.122552756" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1503685675" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1319148333" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1762852807" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.959419344" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.966349986" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1648566884" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1386772141" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1973871505" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1998307209" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1646895873" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2044756510" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1746964645" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1523382155" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.297922045" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.981417513" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.725782849" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1156130980" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.2140680157" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.673080048" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1608663621" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1138117131" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1972257727" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2142016331" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1180944309" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.341224060" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1777291074" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1126154601" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1899550444" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.189157846" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.694127909" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+               </cconfiguration>\r
+               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265" moduleId="org.eclipse.cdt.core.settings" name="Debug_Small_Data_Model">\r
+                               <externalSettings/>\r
+                               <extensions>\r
+                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265" name="Debug_Small_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265.1978803117" name="/" resourcePath="">\r
+                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.2145243374" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.338864744" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+                                                       </option>\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.67554128" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.522835549" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
+                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.1228915825" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.1302018091" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="225"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1956765338" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.minimal" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1373809772" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.566602389" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1857585518" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.614313056" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.978394614" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1169614842" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.1870922413" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.1139014825" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.820058243" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15.1202920097" name="Workaround specified silicon errata (--silicon_errata) [CPU15]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18.1795934125" name="Workaround specified silicon errata (--silicon_errata) [CPU18]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1135619237" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.260230635" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1156934373" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1297292878" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.630620669" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1837962732" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.728234211" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.312215125" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.261762041" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.820149163" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1084155280" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1180248234" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.4260704" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.162464119" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.292220966" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2045139382" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1389746510" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.287952815" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1946515262" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1940017918" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.924802719" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1016576665" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.500660940" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.952943123" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.299871159" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.822997684" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1696623645" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.327229010" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1745803462" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.642196118" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1126121449" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1939737746" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.436208133" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1458990899" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.733420663" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.442725484" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1611965566" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1153196147" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1578549840" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2146954240" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1090032051" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.994310807" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.501851672" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1158986420" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1014999985" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1929211224" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.426249682" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1298468640" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1557331808" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1585946659" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1876701703" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.627849548" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1100824459" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.55160456" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1586903777" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+               </cconfiguration>\r
+               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325">\r
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325" moduleId="org.eclipse.cdt.core.settings" name="Debug_Small_Data_Small_Code_Model">\r
+                               <externalSettings/>\r
+                               <extensions>\r
+                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
+                               </extensions>\r
+                       </storageModule>\r
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325" name="Debug_Small_Data_Small_Code_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
+                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325.474931388" name="/" resourcePath="">\r
+                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.380336448" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.932239256" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
+                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
+                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
+                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
+                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
+                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
+                                                       </option>\r
+                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1799066504" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
+                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.2104205651" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
+                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.1782059623" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.653083494" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="225"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1251293454" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.932999402" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.920476184" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
+                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.97327763" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.163750782" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.1573588815" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1716081794" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2014194608" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.360434361" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.small" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.102615768" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1115212672" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1910244979" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.718335856" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.138679399" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.115962504" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                                       </tool>\r
+                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.400652052" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1589461908" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.761794468" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.847690853" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.1733576069" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.544555422" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1976314562" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.333671382" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
+                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.1991915989" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
+                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
+                                                               </option>\r
+                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1849506187" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
+                                                       </tool>\r
+                                               </toolChain>\r
+                                       </folderInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1605686297" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.807655855" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1845658719" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.818937015" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1752920361" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.605228530" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.534939394" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.889379600" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.925705634" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.574745189" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.555788417" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.614974339" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.410913844" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1733354315" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.156474530" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.856403487" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2053761808" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1727985529" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.678642858" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.211385771" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.50689137" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1964135417" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1318025406" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.2091071298" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1588728483" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.721519742" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1241149205" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1454538431" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.511171230" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.981714823" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.138464444" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.271922886" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.501714611" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1031020953" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1463809176" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.192318869" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663">\r
+                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.597618239" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.206559966" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1770519133" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
+                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1376555563" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
+                                               </tool>\r
+                                       </fileInfo>\r
+                               </configuration>\r
+                       </storageModule>\r
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
+               </cconfiguration>\r
+       </storageModule>\r
+       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
+               <project id="RTOSDemo.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.390526873" name="MSP430" projectType="com.ti.ccstudio.buildDefinitions.MSP430.ProjectType"/>\r
+       </storageModule>\r
+       <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
+               <project-mappings>\r
+                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
+                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
+                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
+               </project-mappings>\r
+       </storageModule>\r
+       <storageModule moduleId="refreshScope"/>\r
+       <storageModule moduleId="scannerConfiguration"/>\r
+</cproject>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/.project b/Demo/MSP430X_MSP430F5438_CCS/.project
new file mode 100644 (file)
index 0000000..61d8cf8
--- /dev/null
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>RTOSDemo</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
+                       <arguments>\r
+                               <dictionary>\r
+                                       <key>?name?</key>\r
+                                       <value></value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.append_environment</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.autoBuildTarget</key>\r
+                                       <value>all</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.buildArguments</key>\r
+                                       <value>-k</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.buildCommand</key>\r
+                                       <value>${CCS_UTILS_DIR}/bin/gmake</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.buildLocation</key>\r
+                                       <value>${BuildDirectory}</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>\r
+                                       <value>clean</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.contents</key>\r
+                                       <value>org.eclipse.cdt.make.core.activeConfigSettings</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.enableAutoBuild</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.enableCleanBuild</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.enableFullBuild</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.fullBuildTarget</key>\r
+                                       <value>all</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.stopOnError</key>\r
+                                       <value>false</value>\r
+                               </dictionary>\r
+                               <dictionary>\r
+                                       <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>\r
+                                       <value>true</value>\r
+                               </dictionary>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\r
+                       <triggers>full,incremental,</triggers>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.cdt.core.cnature</nature>\r
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
+               <nature>org.eclipse.cdt.core.ccnature</nature>\r
+               <nature>com.ti.ccstudio.core.ccsNature</nature>\r
+               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/Demo/MSP430X_MSP430F5438_CCS/.settings/org.eclipse.cdt.managedbuilder.core.prefs
new file mode 100644 (file)
index 0000000..4659fbc
--- /dev/null
@@ -0,0 +1,15 @@
+#Mon Jan 03 16:19:20 GMT 2011\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664/internalBuilder/enabled=false\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664/internalBuilder/ignoreErr=true\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382/internalBuilder/enabled=false\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382/internalBuilder/ignoreErr=true\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325/internalBuilder/enabled=false\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325/internalBuilder/ignoreErr=true\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265/internalBuilder/enabled=false\r
+com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265/internalBuilder/ignoreErr=true\r
+eclipse.preferences.version=1\r
+environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
+environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/.settings/org.eclipse.ltk.core.refactoring.prefs b/Demo/MSP430X_MSP430F5438_CCS/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644 (file)
index 0000000..9a8bc90
--- /dev/null
@@ -0,0 +1,3 @@
+#Sat Jan 01 16:11:34 GMT 2011\r
+eclipse.preferences.version=1\r
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/CreateProjectDirectoryStructure.bat b/Demo/MSP430X_MSP430F5438_CCS/CreateProjectDirectoryStructure.bat
new file mode 100644 (file)
index 0000000..4033c21
--- /dev/null
@@ -0,0 +1,55 @@
+REM This file should be executed from the command line prior to the first\r
+REM build.  It will be necessary to refresh the Eclipse project once the\r
+REM .bat file has been executed (normally just press F5 to refresh).\r
+\r
+REM Copies all the required files from their location within the standard\r
+REM FreeRTOS directory structure to under the Eclipse project directory.\r
+REM This permits the Eclipse project to be used in 'managed' mode and without\r
+REM having to setup any linked resources.\r
+\r
+REM Have the files already been copied?\r
+IF EXIST FreeRTOS_Source Goto END\r
+\r
+       REM Create the required directory structure.\r
+       MD FreeRTOS_Source\r
+       MD FreeRTOS_Source\include      \r
+       MD FreeRTOS_Source\portable\CCS\r
+       MD FreeRTOS_Source\portable\CCS\MSP430X\r
+       MD FreeRTOS_Source\portable\MemMang     \r
+       MD Demo_Source\Common_Demo_Files\r
+       MD Demo_Source\Common_Demo_Files\include\r
+       \r
+       REM Copy the core kernel files.\r
+       copy ..\..\Source\tasks.c FreeRTOS_Source\r
+       copy ..\..\Source\queue.c FreeRTOS_Source\r
+       copy ..\..\Source\list.c FreeRTOS_Source\r
+       copy ..\..\Source\timers.c FreeRTOS_Source\r
+       \r
+       REM Copy the common header files\r
+\r
+       copy ..\..\Source\include\*.* FreeRTOS_Source\include\r
+       \r
+       REM Copy the portable layer files\r
+       copy ..\..\Source\portable\CCS\MSP430X\*.* FreeRTOS_Source\portable\CCS\MSP430X\r
+       \r
+       REM Copy the basic memory allocation files\r
+       copy ..\..\Source\portable\MemMang\heap_1.c FreeRTOS_Source\portable\MemMang\r
+\r
+       REM Copy the files that define the common demo tasks.\r
+       copy ..\Common\minimal\dynamic.c Demo_Source\Common_Demo_Files\r
+       copy ..\Common\minimal\comtest.c Demo_Source\Common_Demo_Files\r
+       copy ..\Common\minimal\GenQTest.c Demo_Source\Common_Demo_Files\r
+       copy ..\Common\minimal\TimerDemo.c Demo_Source\Common_Demo_Files\r
+       copy ..\Common\minimal\countsem.c Demo_Source\Common_Demo_Files\r
+       \r
+       REM Copy the common demo file headers.\r
+       copy ..\Common\include\dynamic.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\comtest.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\comtest2.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\GenQTest.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\serial.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\partest.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\TimerDemo.h Demo_Source\Common_Demo_Files\include\r
+       copy ..\Common\include\countsem.h Demo_Source\Common_Demo_Files\include\r
+       \r
+: END\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.c
new file mode 100644 (file)
index 0000000..7e16eae
--- /dev/null
@@ -0,0 +1,248 @@
+/*******************************************************************************\r
+ *\r
+ * HAL_PMM.c\r
+ * Power Management Module Library for MSP430F5xx/6xx family\r
+ *\r
+ *\r
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/\r
+ *\r
+ *\r
+ *  Redistribution and use in source and binary forms, with or without\r
+ *  modification, are permitted provided that the following conditions\r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the\r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ ******************************************************************************/\r
+\r
+#include "msp430.h"\r
+#include "HAL_PMM.h"\r
+\r
+/*******************************************************************************\r
+ * \brief   Increase Vcore by one level\r
+ *\r
+ * \param level     Level to which Vcore needs to be increased\r
+ * \return status   Success/failure\r
+ ******************************************************************************/\r
+\r
+static uint16_t SetVCoreUp(uint8_t level)\r
+{\r
+    uint16_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;\r
+\r
+    // The code flow for increasing the Vcore has been altered to work around\r
+    // the erratum FLASH37.\r
+    // Please refer to the Errata sheet to know if a specific device is affected\r
+    // DO NOT ALTER THIS FUNCTION\r
+\r
+    // Open PMM registers for write access\r
+    PMMCTL0_H = 0xA5;\r
+\r
+    // Disable dedicated Interrupts\r
+    // Backup all registers\r
+    PMMRIE_backup = PMMRIE;\r
+    PMMRIE &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE | SVSLPE | SVMHVLRIE |\r
+                SVMHIE | SVSMHDLYIE | SVMLVLRIE | SVMLIE | SVSMLDLYIE);\r
+    SVSMHCTL_backup = SVSMHCTL;\r
+    SVSMLCTL_backup = SVSMLCTL;\r
+\r
+    // Clear flags\r
+    PMMIFG = 0;\r
+\r
+    // Set SVM highside to new level and check if a VCore increase is possible\r
+    SVSMHCTL = SVMHE | SVSHE | (SVSMHRRL0 * level);\r
+\r
+    // Wait until SVM highside is settled\r
+    while ((PMMIFG & SVSMHDLYIFG) == 0) ;\r
+\r
+    // Clear flag\r
+    PMMIFG &= ~SVSMHDLYIFG;\r
+\r
+    // Check if a VCore increase is possible\r
+    if ((PMMIFG & SVMHIFG) == SVMHIFG){     // -> Vcc is too low for a Vcore increase\r
+        // recover the previous settings\r
+        PMMIFG &= ~SVSMHDLYIFG;\r
+        SVSMHCTL = SVSMHCTL_backup;\r
+\r
+        // Wait until SVM highside is settled\r
+        while ((PMMIFG & SVSMHDLYIFG) == 0) ;\r
+\r
+        // Clear all Flags\r
+        PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);\r
+\r
+        PMMRIE = PMMRIE_backup;             // Restore PMM interrupt enable register\r
+        PMMCTL0_H = 0x00;                   // Lock PMM registers for write access\r
+        return PMM_STATUS_ERROR;            // return: voltage not set\r
+    }\r
+\r
+    // Set also SVS highside to new level\r
+    // Vcc is high enough for a Vcore increase\r
+    SVSMHCTL |= (SVSHRVL0 * level);\r
+\r
+    // Wait until SVM highside is settled\r
+    while ((PMMIFG & SVSMHDLYIFG) == 0) ;\r
+\r
+    // Clear flag\r
+    PMMIFG &= ~SVSMHDLYIFG;\r
+\r
+    // Set VCore to new level\r
+    PMMCTL0_L = PMMCOREV0 * level;\r
+\r
+    // Set SVM, SVS low side to new level\r
+    SVSMLCTL = SVMLE | (SVSMLRRL0 * level) | SVSLE | (SVSLRVL0 * level);\r
+\r
+    // Wait until SVM, SVS low side is settled\r
+    while ((PMMIFG & SVSMLDLYIFG) == 0) ;\r
+\r
+    // Clear flag\r
+    PMMIFG &= ~SVSMLDLYIFG;\r
+    // SVS, SVM core and high side are now set to protect for the new core level\r
+\r
+    // Restore Low side settings\r
+    // Clear all other bits _except_ level settings\r
+    SVSMLCTL &= (SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
+\r
+    // Clear level settings in the backup register,keep all other bits\r
+    SVSMLCTL_backup &= ~(SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
+\r
+    // Restore low-side SVS monitor settings\r
+    SVSMLCTL |= SVSMLCTL_backup;\r
+\r
+    // Restore High side settings\r
+    // Clear all other bits except level settings\r
+    SVSMHCTL &= (SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
+\r
+    // Clear level settings in the backup register,keep all other bits\r
+    SVSMHCTL_backup &= ~(SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
+\r
+    // Restore backup\r
+    SVSMHCTL |= SVSMHCTL_backup;\r
+\r
+    // Wait until high side, low side settled\r
+    while (((PMMIFG & SVSMLDLYIFG) == 0) && ((PMMIFG & SVSMHDLYIFG) == 0)) ;\r
+\r
+    // Clear all Flags\r
+    PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);\r
+\r
+    PMMRIE = PMMRIE_backup;                 // Restore PMM interrupt enable register\r
+    PMMCTL0_H = 0x00;                       // Lock PMM registers for write access\r
+\r
+    return PMM_STATUS_OK;\r
+}\r
+\r
+/*******************************************************************************\r
+ * \brief  Decrease Vcore by one level\r
+ *\r
+ * \param  level    Level to which Vcore needs to be decreased\r
+ * \return status   Success/failure\r
+ ******************************************************************************/\r
+\r
+static uint16_t SetVCoreDown(uint8_t level)\r
+{\r
+    uint16_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;\r
+\r
+    // The code flow for decreasing the Vcore has been altered to work around\r
+    // the erratum FLASH37.\r
+    // Please refer to the Errata sheet to know if a specific device is affected\r
+    // DO NOT ALTER THIS FUNCTION\r
+\r
+    // Open PMM registers for write access\r
+    PMMCTL0_H = 0xA5;\r
+\r
+    // Disable dedicated Interrupts\r
+    // Backup all registers\r
+    PMMRIE_backup = PMMRIE;\r
+    PMMRIE &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE | SVSLPE | SVMHVLRIE |\r
+                SVMHIE | SVSMHDLYIE | SVMLVLRIE | SVMLIE | SVSMLDLYIE);\r
+    SVSMHCTL_backup = SVSMHCTL;\r
+    SVSMLCTL_backup = SVSMLCTL;\r
+\r
+    // Clear flags\r
+    PMMIFG &= ~(SVMHIFG | SVSMHDLYIFG | SVMLIFG | SVSMLDLYIFG);\r
+\r
+    // Set SVM, SVS high & low side to new settings in normal mode\r
+    SVSMHCTL = SVMHE | (SVSMHRRL0 * level) | SVSHE | (SVSHRVL0 * level);\r
+    SVSMLCTL = SVMLE | (SVSMLRRL0 * level) | SVSLE | (SVSLRVL0 * level);\r
+\r
+    // Wait until SVM high side and SVM low side is settled\r
+    while ((PMMIFG & SVSMHDLYIFG) == 0 || (PMMIFG & SVSMLDLYIFG) == 0) ;\r
+\r
+    // Clear flags\r
+    PMMIFG &= ~(SVSMHDLYIFG + SVSMLDLYIFG);\r
+    // SVS, SVM core and high side are now set to protect for the new core level\r
+\r
+    // Set VCore to new level\r
+    PMMCTL0_L = PMMCOREV0 * level;\r
+\r
+    // Restore Low side settings\r
+    // Clear all other bits _except_ level settings\r
+    SVSMLCTL &= (SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
+\r
+    // Clear level settings in the backup register,keep all other bits\r
+    SVSMLCTL_backup &= ~(SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
+\r
+    // Restore low-side SVS monitor settings\r
+    SVSMLCTL |= SVSMLCTL_backup;\r
+\r
+    // Restore High side settings\r
+    // Clear all other bits except level settings\r
+    SVSMHCTL &= (SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
+\r
+    // Clear level settings in the backup register, keep all other bits\r
+    SVSMHCTL_backup &= ~(SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
+\r
+    // Restore backup\r
+    SVSMHCTL |= SVSMHCTL_backup;\r
+\r
+    // Wait until high side, low side settled\r
+    while (((PMMIFG & SVSMLDLYIFG) == 0) && ((PMMIFG & SVSMHDLYIFG) == 0)) ;\r
+\r
+    // Clear all Flags\r
+    PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);\r
+\r
+    PMMRIE = PMMRIE_backup;                // Restore PMM interrupt enable register\r
+    PMMCTL0_H = 0x00;                      // Lock PMM registers for write access\r
+    return PMM_STATUS_OK;                  // Return: OK\r
+}\r
+\r
+uint16_t SetVCore(uint8_t level)\r
+{\r
+    uint16_t actlevel;\r
+    uint16_t status = 0;\r
+\r
+    level &= PMMCOREV_3;                   // Set Mask for Max. level\r
+    actlevel = (PMMCTL0 & PMMCOREV_3);     // Get actual VCore\r
+                                           // step by step increase or decrease\r
+    while ((level != actlevel) && (status == 0)) {\r
+        if (level > actlevel){\r
+            status = SetVCoreUp(++actlevel);\r
+        }\r
+        else {\r
+            status = SetVCoreDown(--actlevel);\r
+        }\r
+    }\r
+\r
+    return status;\r
+}\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.h
new file mode 100644 (file)
index 0000000..ace1641
--- /dev/null
@@ -0,0 +1,113 @@
+/*******************************************************************************\r
+ *\r
+ * HAL_PMM.h\r
+ * Power Management Module Library for MSP430F5xx/6xx family\r
+ *\r
+ *\r
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/\r
+ *\r
+ *\r
+ *  Redistribution and use in source and binary forms, with or without\r
+ *  modification, are permitted provided that the following conditions\r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright\r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the\r
+ *    documentation and/or other materials provided with the\r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ ******************************************************************************/\r
+\r
+#ifndef HAL_PMM_H\r
+#define HAL_PMM_H\r
+\r
+#include <stdint.h>\r
+#include "HAL_MACROS.h"\r
+\r
+/*******************************************************************************\r
+ * Macros\r
+ ******************************************************************************/\r
+#define ENABLE_SVSL()        st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVSL()       st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~SVSLE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVML()        st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVMLE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVML()       st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~SVMLE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVSH()        st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVSH()       st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~SVSHE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVMH()        st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVMHE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVMH()       st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~SVMHE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVSL_SVML()   st(PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLE + SVMLE); PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVSL_SVML()  st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~(SVSLE + SVMLE); PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVSH_SVMH()   st(PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHE + SVMHE); PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVSH_SVMH()  st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~(SVSHE + SVMHE); PMMCTL0_H = 0x00; )\r
+\r
+#define ENABLE_SVSL_RESET()       st(PMMCTL0_H = 0xA5; PMMRIE |= SVSLPE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVSL_RESET()      st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVSLPE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVML_INTERRUPT()   st(PMMCTL0_H = 0xA5; PMMRIE |= SVMLIE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVML_INTERRUPT()  st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVMLIE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVSH_RESET()       st(PMMCTL0_H = 0xA5; PMMRIE |= SVSHPE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVSH_RESET()      st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVSHPE; PMMCTL0_H = 0x00; )\r
+#define ENABLE_SVMH_INTERRUPT()   st(PMMCTL0_H = 0xA5; PMMRIE |= SVMHIE; PMMCTL0_H = 0x00; )\r
+#define DISABLE_SVMH_INTERRUPT()  st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVMHIE; PMMCTL0_H = 0x00; )\r
+#define CLEAR_PMM_IFGS()          st(PMMCTL0_H = 0xA5; PMMIFG = 0; PMMCTL0_H = 0x00; )\r
+\r
+// These settings use SVSH/LACE = 0\r
+#define SVSL_ENABLED_IN_LPM_FAST_WAKE()  st( \\r
+        PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLFP + SVSLMD); SVSMLCTL &= ~SVSMLACE; PMMCTL0_H = 0x00; )\r
+#define SVSL_ENABLED_IN_LPM_SLOW_WAKE()  st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLMD; SVSMLCTL &= \\r
+                                                ~(SVSLFP + SVSMLACE); PMMCTL0_H = 0x00; )\r
+\r
+#define SVSL_DISABLED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLFP; SVSMLCTL &= \\r
+                                                ~(SVSLMD + SVSMLACE); PMMCTL0_H = 0x00; )\r
+#define SVSL_DISABLED_IN_LPM_SLOW_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL &= \\r
+                                                ~(SVSLFP + SVSMLACE + SVSLMD); PMMCTL0_H = 0x00; )\r
+\r
+#define SVSH_ENABLED_IN_LPM_NORM_PERF()  st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHMD; SVSMHCTL &= \\r
+                                                ~(SVSMHACE + SVSHFP); PMMCTL0_H = 0x00; )\r
+#define SVSH_ENABLED_IN_LPM_FULL_PERF()  st( \\r
+        PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHMD + SVSHFP); SVSMHCTL &= ~SVSMHACE; PMMCTL0_H = 0x00; )\r
+\r
+#define SVSH_DISABLED_IN_LPM_NORM_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL &= \\r
+                                                ~(SVSMHACE + SVSHFP + SVSHMD); PMMCTL0_H = 0x00; )\r
+#define SVSH_DISABLED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHFP; SVSMHCTL &= \\r
+                                                ~(SVSMHACE + SVSHMD); PMMCTL0_H = 0x00; )\r
+\r
+// These setting use SVSH/LACE = 1\r
+#define SVSL_OPTIMIZED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= \\r
+                                                 (SVSLFP + SVSLMD + SVSMLACE); PMMCTL0_H = 0x00; )\r
+#define SVSH_OPTIMIZED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= \\r
+                                                 (SVSHMD + SVSHFP + SVSMHACE); PMMCTL0_H = 0x00; )\r
+\r
+/*******************************************************************************\r
+ * Defines\r
+ ******************************************************************************/\r
+#define PMM_STATUS_OK     0\r
+#define PMM_STATUS_ERROR  1\r
+\r
+/*******************************************************************************\r
+ * \brief   Set Vcore to expected level\r
+ *\r
+ * \param level     Level to which Vcore needs to be increased/decreased\r
+ * \return status   Success/failure\r
+ ******************************************************************************/\r
+extern uint16_t SetVCore(uint8_t level);\r
+\r
+#endif /* HAL_PMM_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c
new file mode 100644 (file)
index 0000000..0b67ec7
--- /dev/null
@@ -0,0 +1,267 @@
+//*******************************************************************************\r
+//  Provides Functions to Initialize the UCS/FLL and clock sources\r
+//    File: hal_ucs.c\r
+//\r
+//    Texas Instruments\r
+//\r
+//    Version 1.2\r
+//    11/24/09\r
+//\r
+//    V1.0  Initial Version\r
+//    V1.1  Added timeout function\r
+//    V1.1  Added parameter for XTDrive\r
+//*******************************************************************************\r
+\r
+#include "msp430.h"\r
+#include "hal_UCS.h"\r
+\r
+//************************************************************************\r
+// Check and define required Defines\r
+//************************************************************************\r
+\r
+#ifndef XT1LFOFFG               // Defines if not available in header file\r
+#define XT1LFOFFG 0\r
+#endif\r
+#ifndef XT1HFOFFG               // Defines if not available in header file\r
+#define XT1HFOFFG 0\r
+#endif\r
+#ifndef XT2OFFG                 // Defines if not available in header file\r
+#define XT2OFFG 0\r
+#endif\r
+#ifndef XTS                    // Defines if not available in header file\r
+#define XTS 0\r
+#endif\r
+#ifndef XT2DRIVE_3             // Defines if not available in header file\r
+#define XT2DRIVE_3  0\r
+#endif\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for 32kHz Cristal on LFXT1\r
+ *\r
+*/\r
+void LFXT_Start(uint16_t xtdrive)\r
+{\r
+  UCSCTL6_L |= XT1DRIVE1_L+XT1DRIVE0_L; // Highest drive setting for XT1 startup\r
+\r
+  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags fault flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+  UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(xtdrive); // set Drive mode\r
+}\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for 32kHz Cristal on LFXT1 with timeout counter\r
+ *\r
+*/\r
+uint16_t LFXT_Start_Timeout(uint16_t xtdrive, uint16_t timeout)\r
+{\r
+  UCSCTL6_L |= XT1DRIVE1_L+XT1DRIVE0_L; // Highest drive setting for XT1 startup\r
+\r
+  while ((SFRIFG1 & OFIFG) && timeout--){   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags fault flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+  UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(xtdrive); // set Drive mode\r
+  if (timeout)\r
+    return (UCS_STATUS_OK);\r
+  else\r
+    return (UCS_STATUS_ERROR);\r
+}\r
+\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for  XT1\r
+ *\r
+*/\r
+void XT1_Start(uint16_t xtdrive)\r
+{\r
+  UCSCTL6 &= ~(XT1OFF | XT1DRIVE_3);  // enable XT1\r
+  UCSCTL6 |= (XTS | xtdrive);         // enable XT1 and set XT1Drive\r
+\r
+  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+}\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for XT1 with timeout counter\r
+ *\r
+*/\r
+uint16_t XT1_Start_Timeout(uint16_t xtdrive, uint16_t timeout)\r
+{\r
+  UCSCTL6 &= ~(XT1OFF | XT1DRIVE_3);  // enable XT1\r
+  UCSCTL6 |= (XTS | xtdrive);         // enable XT1 and set XT1Drive\r
+\r
+  while ((SFRIFG1 & OFIFG) && timeout--) {   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+  if (timeout)\r
+    return (UCS_STATUS_OK);\r
+  else\r
+    return (UCS_STATUS_ERROR);\r
+}\r
+\r
+//====================================================================\r
+/**\r
+ * Use  XT1 in Bypasss mode\r
+ *\r
+*/\r
+void XT1_Bypass(void)\r
+{\r
+  UCSCTL6 |= XT1BYPASS;\r
+\r
+  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+}\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for  XT2\r
+ *\r
+*/\r
+void XT2_Start(uint16_t xtdrive)\r
+{\r
+  UCSCTL6 &= ~(XT2OFF | XT2DRIVE_3);  // enable XT2\r
+  UCSCTL6 |= (xtdrive);               // Set XT2Drive\r
+\r
+  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+\r
+}\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for XT2 with timeout counter\r
+ *\r
+*/\r
+uint16_t XT2_Start_Timeout(uint16_t xtdrive, uint16_t timeout)\r
+{\r
+  UCSCTL6 &= ~XT2OFF;                       // Set XT2 On\r
+  UCSCTL6 &= ~XT2DRIVE_3;                   // enable XT2\r
+  UCSCTL6 |= (xtdrive);                     // Set XT2Drive\r
+\r
+  while ((SFRIFG1 & OFIFG) && timeout--){   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+  if (timeout)\r
+    return (UCS_STATUS_OK);\r
+  else\r
+    return (UCS_STATUS_ERROR);\r
+}\r
+\r
+//====================================================================\r
+/**\r
+ * Use XT2 in Bypasss mode\r
+ *\r
+*/\r
+void XT2_Bypass(void)\r
+{\r
+#ifdef XT2BYPASS              // on devices without XT2 this function will be empty\r
+  UCSCTL6 |= XT2BYPASS;\r
+\r
+  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
+  }\r
+#endif\r
+}\r
+\r
+//====================================================================\r
+/**\r
+  * Initializes FLL of the UCS and wait till settled\r
+  *\r
+  * \param fsystem  required system frequency (MCLK) in kHz\r
+  * \param ratio    ratio between MCLK and FLLREFCLK\r
+  */\r
+void Init_FLL_Settle(uint16_t fsystem, uint16_t ratio)\r
+{\r
+  volatile uint16_t x = ratio * 32;       \r
+  // save actual state of FLL loop control\r
+  uint16_t globalInterruptState = __get_SR_register() & SCG0;\r
+                                                               \r
+  __bic_SR_register(SCG0);      // Enable FLL loop control\r
+\r
+  Init_FLL(fsystem, ratio);\r
+  \r
+  while(x--)\r
+  {\r
+   __delay_cycles(30); \r
+  }\r
+  \r
+  __bis_SR_register(globalInterruptState);     // restore previous state\r
+\r
+}\r
+\r
+//====================================================================\r
+/**\r
+  * Initializes FLL of the UCS\r
+  *\r
+  * \param fsystem  required system frequency (MCLK) in kHz\r
+  * \param ratio    ratio between fsystem and FLLREFCLK\r
+  */\r
+static void Init_FLL(uint16_t fsystem, uint16_t ratio)\r
+{\r
+  uint16_t d, dco_div_bits;\r
+  uint16_t mode = 0;\r
+\r
+  d = ratio;\r
+  dco_div_bits = FLLD__2;        // Have at least a divider of 2\r
+  if (fsystem > 16000){\r
+    d >>= 1 ;\r
+    mode = 1;\r
+  }\r
+  else\r
+    fsystem <<= 1;               // fsystem = fsystem * 2\r
+\r
+  while (d > 512)\r
+  {\r
+    dco_div_bits = dco_div_bits + FLLD0;  // set next higher div level\r
+    d >>= 1;\r
+  }\r
+\r
+  UCSCTL0 = 0x000;               // Set DCO to lowest Tap\r
+\r
+  UCSCTL2 &= ~(0x3FF);           // Reset FN bits\r
+  UCSCTL2 = dco_div_bits | (d - 1);\r
+\r
+  if (fsystem <= 630)            //           fsystem < 0.63MHz\r
+       UCSCTL1= DCORSEL_0 ;\r
+  else if (fsystem <  1250)      // 0.63MHz < fsystem < 1.25MHz\r
+       UCSCTL1= DCORSEL_1 ;\r
+  else if (fsystem <  2500)      // 1.25MHz < fsystem <  2.5MHz\r
+       UCSCTL1= DCORSEL_2 ;\r
+  else if (fsystem <  5000)      // 2.5MHz  < fsystem <    5MHz\r
+       UCSCTL1= DCORSEL_3 ;\r
+  else if (fsystem <  10000)     // 5MHz    < fsystem <   10MHz\r
+       UCSCTL1= DCORSEL_4 ;\r
+  else if (fsystem <  20000)     // 10MHz   < fsystem <   20MHz\r
+       UCSCTL1= DCORSEL_5 ;\r
+  else if (fsystem <  40000)     // 20MHz   < fsystem <   40MHz\r
+       UCSCTL1= DCORSEL_6 ;\r
+  else\r
+       UCSCTL1= DCORSEL_7 ;\r
+\r
+  while (SFRIFG1 & OFIFG) {                               // check OFIFG fault flag\r
+    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG);     // Clear OSC flaut Flags\r
+    SFRIFG1 &= ~OFIFG;                                    // Clear OFIFG fault flag\r
+  }\r
+\r
+  if (mode == 1)                                         // fsystem > 16000\r
+    SELECT_MCLK_SMCLK(SELM__DCOCLK + SELS__DCOCLK);       // select DCOCLK\r
+  else\r
+   SELECT_MCLK_SMCLK(SELM__DCOCLKDIV + SELS__DCOCLKDIV); // selcet DCODIVCLK\r
+\r
+  \r
+} // End of fll_init()\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.h
new file mode 100644 (file)
index 0000000..d78aa5d
--- /dev/null
@@ -0,0 +1,143 @@
+//*******************************************************************************\r
+//  Provides Functions to Initialize the UCS/FLL and clock sources\r
+//    File: hal_ucs.c\r
+//\r
+//    Texas Instruments\r
+//\r
+//    Version 1.2\r
+//    11/24/09\r
+//\r
+//    V1.0  Initial Version\r
+//    V1.1  Added timeout function\r
+//    V1.1  Added parameter for XTDrive\r
+//*******************************************************************************\r
+\r
+\r
+#ifndef __hal_UCS\r
+#define __hal_UCS\r
+\r
+#include <stdint.h>\r
+#include "hal_macros.h"\r
+\r
+/*************************************************************************\r
+* MACROS\r
+**************************************************************************/\r
+\r
+/* Select source for FLLREF  e.g. SELECT_FLLREF(SELREF__XT1CLK) */\r
+#define SELECT_FLLREF(source) st(UCSCTL3 = (UCSCTL3 & ~(SELREF_7)) | (source);) \r
+/* Select source for ACLK    e.g. SELECT_ACLK(SELA__XT1CLK) */\r
+#define SELECT_ACLK(source)   st(UCSCTL4 = (UCSCTL4 & ~(SELA_7))   | (source);) \r
+/* Select source for MCLK    e.g. SELECT_MCLK(SELM__XT2CLK) */\r
+#define SELECT_MCLK(source)   st(UCSCTL4 = (UCSCTL4 & ~(SELM_7))   | (source);) \r
+/* Select source for SMCLK   e.g. SELECT_SMCLK(SELS__XT2CLK) */\r
+#define SELECT_SMCLK(source)  st(UCSCTL4 = (UCSCTL4 & ~(SELS_7))   | (source);) \r
+/* Select source for MCLK and SMCLK e.g. SELECT_MCLK_SMCLK(SELM__DCOCLK + SELS__DCOCLK) */\r
+#define SELECT_MCLK_SMCLK(sources) st(UCSCTL4 = (UCSCTL4 & ~(SELM_7 + SELS_7)) | (sources);)\r
+\r
+/* set ACLK/x */\r
+#define ACLK_DIV(x)         st(UCSCTL5 = (UCSCTL5 & ~(DIVA_7)) | (DIVA__##x);)     \r
+/* set MCLK/x */\r
+#define MCLK_DIV(x)         st(UCSCTL5 = (UCSCTL5 & ~(DIVM_7)) | (DIVM__##x);)     \r
+/* set SMCLK/x */\r
+#define SMCLK_DIV(x)        st(UCSCTL5 = (UCSCTL5 & ~(DIVS_7)) | (DIVS__##x);)     \r
+/* Select divider for FLLREF  e.g. SELECT_FLLREFDIV(2) */\r
+#define SELECT_FLLREFDIV(x) st(UCSCTL3 = (UCSCTL3 & ~(FLLREFDIV_7))|(FLLREFDIV__##x);) \r
+\r
+//************************************************************************\r
+// Defines\r
+//************************************************************************\r
+\r
+#define UCS_STATUS_OK     0\r
+#define UCS_STATUS_ERROR  1\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for 32kHz Cristal on LFXT1\r
+ *\r
+ * \param xtdrive: Bits defining the LFXT drive mode after startup\r
+ *\r
+*/\r
+extern void LFXT_Start(uint16_t xtdrive);\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for 32kHz Cristal on LFXT1 with timeout counter\r
+ *\r
+ * \param xtdrive: Bits defining the LFXT drive mode after startup\r
+ * \param timeout: value for the timeout counter\r
+ *\r
+*/\r
+extern uint16_t LFXT_Start_Timeout(uint16_t xtdrive, uint16_t timeout);\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for XT1\r
+ *\r
+ * \param xtdrive: Bits defining the XT drive mode\r
+ *\r
+*/\r
+extern void XT1_Start(uint16_t xtdrive);\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for XT1 with timeout counter\r
+ *\r
+ * \param xtdrive: Bits defining the XT drive mode\r
+ * \param timeout: value for the timeout counter\r
+ *\r
+*/\r
+extern uint16_t XT1_Start_Timeout(uint16_t xtdrive, uint16_t timeout);\r
+\r
+//====================================================================\r
+/**\r
+ * Use XT1 in Bypasss mode\r
+ *\r
+*/\r
+extern void XT1_Bypass(void);\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for XT2\r
+ *\r
+ * \param xtdrive: Bits defining the XT drive mode\r
+ *\r
+*/\r
+extern void XT2_Start(uint16_t xtdrive);\r
+\r
+//====================================================================\r
+/**\r
+ * Startup routine for XT2 with timeout counter\r
+ *\r
+ * \param xtdrive: Bits defining the XT drive mode\r
+ * \param timeout: value for the timeout counter\r
+ *\r
+*/\r
+extern uint16_t XT2_Start_Timeout(uint16_t xtdrive, uint16_t timeout);\r
+\r
+//====================================================================\r
+/**\r
+ * Use XT2 in Bypasss mode for MCLK\r
+ *\r
+*/\r
+extern void XT2_Bypass(void);\r
+\r
+//====================================================================\r
+/**\r
+  * Initializes FLL of the UCS and wait till settled\r
+  *\r
+  * \param fsystem  required system frequency (MCLK) in kHz\r
+  * \param ratio    ratio between fsystem and FLLREFCLK\r
+  */\r
+extern void Init_FLL_Settle(uint16_t fsystem, uint16_t ratio);\r
+\r
+\r
+//====================================================================\r
+/**\r
+  * Initializes FLL of the UCS\r
+  *\r
+  * \param fsystem  required system frequency (MCLK) in kHz\r
+  * \param ratio    ratio between fsystem and FLLREFCLK\r
+  */\r
+static void Init_FLL(uint16_t fsystem, uint16_t ratio);\r
+\r
+#endif /* __hal_UCS */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_macros.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/F5XX_6XX_Core_Lib/hal_macros.h
new file mode 100644 (file)
index 0000000..4eec43a
--- /dev/null
@@ -0,0 +1,4 @@
+/*\r
+ *  This macro is for use by other macros to form a fully valid C statement.\r
+ */\r
+#define st(x)      do { x } while (__LINE__ == -1)\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/FreeRTOSConfig.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/FreeRTOSConfig.h
new file mode 100644 (file)
index 0000000..e320f75
--- /dev/null
@@ -0,0 +1,136 @@
+/*\r
+    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+\r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\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 modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or 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
+\r
+/* The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be\r
+ * executed from within CCS4!  Once it has been executed, re-open or refresh\r
+ * the CCS4 project and remove the #error line below.\r
+ */\r
+//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\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                            1\r
+#define configCPU_CLOCK_HZ                             ( 25000000UL )\r
+#define configLFXT_CLOCK_HZ                    ( 32768L )\r
+#define configTICK_RATE_HZ                             ( ( portTickType ) 1000 )\r
+#define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 5 )\r
+#define configTOTAL_HEAP_SIZE                  ( ( size_t ) ( 10 * 1024 ) )\r
+#define configMAX_TASK_NAME_LEN                        ( 10 )\r
+#define configUSE_TRACE_FACILITY               0\r
+#define configUSE_16_BIT_TICKS                 1\r
+#define configIDLE_SHOULD_YIELD                        1\r
+#define configUSE_MUTEXES                              1\r
+#define configQUEUE_REGISTRY_SIZE              0\r
+#define configGENERATE_RUN_TIME_STATS  0\r
+#define configCHECK_FOR_STACK_OVERFLOW 2\r
+#define configUSE_RECURSIVE_MUTEXES            1\r
+#define configUSE_MALLOC_FAILED_HOOK   1\r
+#define configUSE_APPLICATION_TASK_TAG 0\r
+#define configUSE_COUNTING_SEMAPHORES  1\r
+\r
+#ifdef __LARGE_DATA_MODEL__\r
+       #define configMINIMAL_STACK_SIZE                ( ( unsigned short ) 80 )\r
+#else\r
+       #define configMINIMAL_STACK_SIZE                ( ( unsigned short ) 120 )\r
+#endif\r
+\r
+/* Co-routine definitions. */\r
+#define configUSE_CO_ROUTINES          0\r
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
+\r
+/* Software timer definitions. */\r
+#define configUSE_TIMERS                               1\r
+#define configTIMER_TASK_PRIORITY              ( 3 )\r
+#define configTIMER_QUEUE_LENGTH               10\r
+#define configTIMER_TASK_STACK_DEPTH   ( configMINIMAL_STACK_SIZE )\r
+\r
+/* Set the following definitions to 1 to include the API function, or zero\r
+to exclude the API function. */\r
+#define INCLUDE_vTaskPrioritySet               1\r
+#define INCLUDE_uxTaskPriorityGet              1\r
+#define INCLUDE_vTaskDelete                            0\r
+#define INCLUDE_vTaskCleanUpResources  0\r
+#define INCLUDE_vTaskSuspend                   1\r
+#define INCLUDE_vTaskDelayUntil                        1\r
+#define INCLUDE_vTaskDelay                             1\r
+\r
+/* The MSP430X port uses a callback function to configure its tick interrupt.\r
+This allows the application to choose the tick interrupt source.\r
+configTICK_VECTOR must also be set in FreeRTOSConfig.h to the correct interrupt\r
+vector for the chosen tick interrupt source.  This implementation of\r
+vApplicationSetupTimerInterrupt() generates the tick from timer A0, so in this\r
+case configTICK_VECTOR is set to TIMER0_A0_VECTOR. */\r
+#define configTICK_VECTOR                              TIMER0_A0_VECTOR\r
+\r
+#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }\r
+\r
+#endif /* FREERTOS_CONFIG_H */\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_MSP-EXP430F5438.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_MSP-EXP430F5438.h
new file mode 100644 (file)
index 0000000..6d97eda
--- /dev/null
@@ -0,0 +1,28 @@
+/*******************************************************************************\r
+    Filename: hal_MSP-EXP430F5438.h\r
+\r
+    Copyright 2010 Texas Instruments, Inc.\r
+\r
+This is the master header file and also the only necessary file to be included\r
+in order to use MSP-EXP430F5438 HAL.\r
+***************************************************************************/\r
+#ifndef HAL_MSP_EXP430F5438_H\r
+#define HAL_MSP_EXP430F5438_H\r
+\r
+#include "msp430.h"\r
+\r
+//#include "hal_PMM.h"\r
+#include "hal_UCS.h"\r
+\r
+#include "hal_lcd.h"\r
+#include "hal_buttons.h"\r
+//#include "hal_adc.h"\r
+#include "hal_board.h"\r
+//#include "hal_usb.h"\r
+#include "hal_buttons.h"\r
+//#include "hal_rf.h"\r
+//#include "hal_rtc.h"\r
+//#include "hal_tlv.h"\r
+#include "hal_pmm.h"\r
+\r
+#endif /* HAL_MSP_EXP430F5438_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c
new file mode 100644 (file)
index 0000000..444741a
--- /dev/null
@@ -0,0 +1,108 @@
+/**\r
+ * @file  hal_board.c\r
+ *\r
+ * Copyright 2010 Texas Instruments, Inc.\r
+******************************************************************************/\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+\r
+/**********************************************************************//**\r
+ * @brief  Initializes ACLK, MCLK, SMCLK outputs on P11.0, P11.1,\r
+ *         and P11.2, respectively.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halBoardOutputSystemClock(void) //outputs clock to testpoints\r
+{\r
+  CLK_PORT_DIR |= 0x07;\r
+  CLK_PORT_SEL |= 0x07;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Stops the output of ACLK, MCLK, SMCLK on P11.0, P11.1, and P11.2.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halBoardStopOutputSystemClock(void)\r
+{\r
+  CLK_PORT_OUT &= ~0x07;\r
+  CLK_PORT_DIR |= 0x07;        \r
+  CLK_PORT_SEL &= ~0x07;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Initializes all GPIO configurations.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halBoardInit(void)\r
+{\r
+  //Tie unused ports\r
+  PAOUT  = 0;\r
+  PADIR  = 0xFFFF;\r
+  PASEL  = 0;\r
+  PBOUT  = 0;\r
+  PBDIR  = 0xFFFF;\r
+  PBSEL  = 0;\r
+  PCOUT  = 0;\r
+  PCDIR  = 0xFFFF;\r
+  PCSEL  = 0;\r
+  PDOUT  = 0;\r
+  PDDIR  = 0xFFFF;\r
+  PDSEL  = 0x0003;\r
+  PEOUT  = 0;\r
+  PEDIR  = 0xFEFF;                          // P10.0 to USB RST pin,\r
+                                            // ...if enabled with J5\r
+  PESEL  = 0;\r
+  P11OUT = 0;\r
+  P11DIR = 0xFF;\r
+  PJOUT  = 0;\r
+  PJDIR  = 0xFF;\r
+  P11SEL = 0;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Set function for MCLK frequency.\r
+ *\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void hal430SetSystemClock(unsigned long req_clock_rate, unsigned long ref_clock_rate)\r
+{\r
+  /* Convert a Hz value to a KHz value, as required\r
+   *  by the Init_FLL_Settle() function. */\r
+  unsigned long ulCPU_Clock_KHz = req_clock_rate / 1000UL;\r
+\r
+  //Make sure we aren't overclocking\r
+  if(ulCPU_Clock_KHz > 25000L)\r
+  {\r
+    ulCPU_Clock_KHz = 25000L;\r
+  }\r
+\r
+  //Set VCore to a level sufficient for the requested clock speed.\r
+  if(ulCPU_Clock_KHz <= 8000L)\r
+  {\r
+    SetVCore(PMMCOREV_0);\r
+  }\r
+  else if(ulCPU_Clock_KHz <= 12000L)\r
+  {\r
+    SetVCore(PMMCOREV_1);\r
+  }\r
+  else if(ulCPU_Clock_KHz <= 20000L)\r
+  {\r
+    SetVCore(PMMCOREV_2);\r
+  }\r
+  else\r
+  {\r
+    SetVCore(PMMCOREV_3);\r
+  }\r
+\r
+  //Set the DCO\r
+  Init_FLL_Settle( ( unsigned short )ulCPU_Clock_KHz, req_clock_rate / ref_clock_rate );\r
+}\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_board.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_board.h
new file mode 100644 (file)
index 0000000..c4fe631
--- /dev/null
@@ -0,0 +1,32 @@
+/**********************************************************************//**\r
+    Filename: hal_board.h\r
+\r
+    Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+#ifndef HAL_BOARD_H\r
+#define HAL_BOARD_H\r
+\r
+#define LED_PORT_DIR      P1DIR\r
+#define LED_PORT_OUT      P1OUT\r
+#define LED_1             BIT0\r
+#define LED_2             BIT1\r
+\r
+#define CLK_PORT_DIR      P11DIR //outputs clocks to testpoints\r
+#define CLK_PORT_OUT      P11OUT\r
+#define CLK_PORT_SEL      P11SEL\r
+\r
+/*----------------------------------------------------------------\r
+ *                  Function Prototypes\r
+ *----------------------------------------------------------------\r
+ */\r
+static void halBoardGetSystemClockSettings(unsigned char systemClockSpeed, \r
+                                           unsigned char *setDcoRange,\r
+                                           unsigned char *setVCore,\r
+                                           unsigned int  *setMultiplier);\r
+\r
+extern void halBoardOutputSystemClock(void);\r
+extern void halBoardStopOutputSystemClock(void);\r
+extern void halBoardInit(void);\r
+void hal430SetSystemClock(unsigned long req_clock_rate, unsigned long ref_clock_rate);\r
+\r
+#endif /* HAL_BOARD_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c
new file mode 100644 (file)
index 0000000..42c8f0e
--- /dev/null
@@ -0,0 +1,76 @@
+/** \r
+ * @file  hal_buttons.c\r
+ * \r
+ * Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+\r
+/**********************************************************************//**\r
+ * @brief  Initializes the GPIO ports to act as buttons.\r
+ * \r
+ * @param  buttonsMask The mask that specifies the button pins.\r
+ * \r
+ * @return none\r
+ *************************************************************************/   \r
+void halButtonsInit(unsigned char buttonsMask)\r
+{  \r
+  BUTTON_PORT_OUT |= buttonsMask;\r
+  BUTTON_PORT_DIR &= ~buttonsMask;\r
+  BUTTON_PORT_REN |= buttonsMask; \r
+  BUTTON_PORT_SEL &= ~buttonsMask;       \r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Returns LOW for the buttons pressed.\r
+ * \r
+ * @param  none\r
+ * \r
+ * @return The buttons that have been pressed, identified by a bit = 0. \r
+ *************************************************************************/\r
+unsigned char halButtonsPressed(void)\r
+{\r
+  unsigned char value;\r
+  value = BUTTON_PORT_IN;\r
+  return (0xFF - value);                    //Low==ButtonPressed\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Enables button interrupt(s) with low to high transitions.\r
+ * \r
+ * @param  buttonIntEnableMask The button pin(s) for which the interrupt(s) \r
+ *                             should be enabled.\r
+ * \r
+ * @return none\r
+ *************************************************************************/\r
+void halButtonsInterruptEnable(unsigned char buttonIntEnableMask)\r
+{\r
+  BUTTON_PORT_IES &= ~buttonIntEnableMask;\r
+  BUTTON_PORT_IFG &= ~buttonIntEnableMask;\r
+  BUTTON_PORT_IE |= buttonIntEnableMask;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Disables button interrupts \r
+ * \r
+ * @param  buttonIntEnableMask The button pin(s) for which the interrupt(s)\r
+ *                             should be disabled. \r
+ * \r
+ * @return none\r
+ *************************************************************************/\r
+void halButtonsInterruptDisable(unsigned char buttonIntEnableMask)\r
+{\r
+  BUTTON_PORT_IE &= ~buttonIntEnableMask;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Clears the button GPIO settings, disables the buttons. \r
+ * \r
+ * @param  none\r
+ *************************************************************************/\r
+void halButtonsShutDown()\r
+{\r
+  //All output, outputting 0s\r
+  BUTTON_PORT_OUT &= ~(BUTTON_ALL);\r
+  BUTTON_PORT_DIR |= BUTTON_ALL;             \r
+}\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.h
new file mode 100644 (file)
index 0000000..ffe691a
--- /dev/null
@@ -0,0 +1,38 @@
+/*******************************************************************************\r
+    Filename: hal_buttons.h\r
+\r
+    Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+#ifndef HAL_BUTTONS_H\r
+#define HAL_BUTTONS_H\r
+\r
+#define BUTTON_PORT_DIR   P2DIR\r
+#define BUTTON_PORT_SEL   P2SEL\r
+#define BUTTON_PORT_OUT   P2OUT\r
+#define BUTTON_PORT_REN   P2REN\r
+#define BUTTON_PORT_IE    P2IE\r
+#define BUTTON_PORT_IES   P2IES\r
+#define BUTTON_PORT_IFG   P2IFG\r
+#define BUTTON_PORT_IN    P2IN\r
+\r
+#define BUTTON_SELECT     BIT3\r
+#define BUTTON_DOWN       BIT5\r
+#define BUTTON_UP         BIT4\r
+#define BUTTON_RIGHT      BIT2\r
+#define BUTTON_LEFT       BIT1 \r
+#define BUTTON_S1         BIT6 \r
+#define BUTTON_S2         BIT7 \r
+#define BUTTON_ALL        0xFE\r
+\r
+extern volatile unsigned char buttonsPressed;\r
+\r
+/*-------------------------------------------------------------\r
+ *                  Function Prototypes \r
+ * ------------------------------------------------------------*/ \r
+extern void halButtonsInit(unsigned char buttonsMask);\r
+extern unsigned char halButtonsPressed(void);\r
+extern void halButtonsInterruptEnable(unsigned char buttonIntEnableMask);\r
+extern void halButtonsInterruptDisable(unsigned char buttonIntEnableMask);\r
+extern void halButtonsShutDown();\r
+\r
+#endif /* HAL_BUTTONS_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c
new file mode 100644 (file)
index 0000000..f589c23
--- /dev/null
@@ -0,0 +1,1122 @@
+/**\r
+ * @file  hal_lcd.c\r
+ *\r
+ * Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+#include "hal_lcd_fonts.h"\r
+\r
+unsigned char LcdInitMacro[]={\r
+            0x74,0x00,0x00,0x76,0x00,0x01,  // R00 start oscillation\r
+            0x74,0x00,0x01,0x76,0x00,0x0D,  // R01 driver output control\r
+            0x74,0x00,0x02,0x76,0x00,0x4C,  // R02 LCD - driving waveform control\r
+            0x74,0x00,0x03,0x76,0x12,0x14,  // R03 Power control\r
+            0x74,0x00,0x04,0x76,0x04,0x66,  // R04 Contrast control\r
+            0x74,0x00,0x05,0x76,0x00,0x10,  // R05 Entry mode\r
+            0x74,0x00,0x06,0x76,0x00,0x00,  // R06 RAM data write mask\r
+            0x74,0x00,0x07,0x76,0x00,0x15,  // R07 Display control\r
+            0x74,0x00,0x08,0x76,0x00,0x03,  // R08 Cursor Control\r
+            0x74,0x00,0x09,0x76,0x00,0x00,  // R09 RAM data write mask\r
+            0x74,0x00,0x0A,0x76,0x00,0x15,  // R0A\r
+            0x74,0x00,0x0B,0x76,0x00,0x03,  // R0B Horizontal Cursor Position\r
+            0x74,0x00,0x0C,0x76,0x00,0x03,  // R0C Vertical Cursor Position\r
+            0x74,0x00,0x0D,0x76,0x00,0x00,  // R0D\r
+            0x74,0x00,0x0E,0x76,0x00,0x15,  // R0E\r
+            0x74,0x00,0x0F,0x76,0x00,0x03,  // R0F\r
+            0x74,0x00,0x10,0x76,0x00,0x15,  // R0E\r
+            0x74,0x00,0x11,0x76,0x00,0x03,  // R0F\r
+};\r
+\r
+unsigned char Read_Block_Address_Macro[]= {0x74,0x00,0x12,0x77,0x00,0x00};\r
+unsigned char Draw_Block_Value_Macro[]={0x74,0x00,0x12,0x76,0xFF,0xFF};\r
+unsigned char Draw_Block_Address_Macro[]={0x74,0x00,0x11,0x76,0x00,0x00};\r
+\r
+unsigned int  LcdAddress = 0, LcdTableAddress = 0;\r
+unsigned char contrast   = 0x66;\r
+unsigned char backlight  = 8;\r
+int LCD_MEM[110*17];           //This array stores a copy of all data on the LCD\r
+                                                       //screen. If memory is an issue though, this array\r
+                                                       //can be eliminated and the halLcdReadBlock()\r
+                                                       //command can be used instead whenever you are\r
+                                                       //manipulating the currently displayed data.\r
+\r
+/**********************************************************************//**\r
+ * @brief  Sends 3+3 bytes of data to the LCD using the format specified\r
+ *         by the LCD Guide.\r
+ *\r
+ * @param  Data[] Data array for transmission\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdSendCommand(unsigned char Data[])\r
+{\r
+  unsigned char i;\r
+\r
+  LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
+  for ( i = 0; i < 6; i++ )\r
+  {\r
+    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+    UCB2TXBUF = Data[i];                    // Load data\r
+\r
+    if (i == 2)                             //Pull CS up after 3 bytes\r
+    {\r
+      while (UCB2STAT & UCBUSY);       \r
+      LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
+      LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer        \r
+    }\r
+  }\r
+  while (UCB2STAT & UCBUSY);           \r
+  LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Initializes the USCI module, LCD device for communication.\r
+ *\r
+ * - Sets up the SPI2C Communication Module\r
+ * - Performs Hitachi LCD Initialization Procedure\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdInit(void)\r
+{\r
+  volatile unsigned int i=0;\r
+\r
+  LCD_CS_RST_OUT |= LCD_CS_PIN | LCD_RESET_PIN ;\r
+  LCD_CS_RST_DIR |= LCD_CS_PIN | LCD_RESET_PIN ;\r
+\r
+  LCD_BACKLT_SEL |= LCD_BACKLIGHT_PIN;\r
+\r
+  LCD_CS_RST_OUT &= ~LCD_RESET_PIN;         // Reset LCD\r
+  __delay_cycles(0x47FF);                   //Reset Pulse\r
+  LCD_CS_RST_OUT |= LCD_RESET_PIN;\r
+\r
+  // UCLK,MOSI setup, SOMI cleared\r
+  LCD_SPI_SEL |= LCD_MOSI_PIN + LCD_CLK_PIN;\r
+  LCD_SPI_SEL &= ~LCD_MISO_PIN;\r
+  LCD_SPI_DIR &= ~(LCD_MISO_PIN + LCD_MOSI_PIN);            // Pin direction controlled by module,\r
+                                                            // Set both pins to input as default\r
+\r
+  // Initialize the USCI_B2 module for SPI operation\r
+  UCB2CTL1 = UCSWRST;                       // Hold USCI in SW reset mode while configuring it\r
+  UCB2CTL0 = UCMST+UCSYNC+UCCKPL+UCMSB;     // 3-pin, 8-bit SPI master\r
+  UCB2CTL1 |= UCSSEL_2;                     // SMCLK\r
+  UCB2BR0 = 4;                              // Note: Do not exceed D/S spec for UCLK!\r
+  UCB2BR1 = 0;\r
+  UCB2CTL1 &= ~UCSWRST;                     // Release USCI state machine\r
+  UCB2IFG &= ~UCRXIFG;\r
+\r
+  // Wake-up the LCD as per datasheet specifications\r
+  halLcdActive();\r
+\r
+  // LCD Initialization Routine Using Predefined Macros\r
+  halLcdSendCommand(&LcdInitMacro[ 1 * 6 ]);\r
+  halLcdSendCommand(&LcdInitMacro[ 2 * 6 ]);\r
+  halLcdSendCommand(&LcdInitMacro[ 4 * 6 ]);\r
+  halLcdSendCommand(&LcdInitMacro[ 5 * 6 ]);\r
+  halLcdSendCommand(&LcdInitMacro[ 6 * 6 ]);\r
+  halLcdSendCommand(&LcdInitMacro[ 7 * 6 ]);\r
+\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Shuts down the LCD display and hdisables the USCI communication.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdShutDown(void)\r
+{\r
+  halLcdStandby();\r
+\r
+  LCD_CS_RST_DIR |= LCD_CS_PIN | LCD_RESET_PIN ;\r
+  LCD_CS_RST_OUT &= ~(LCD_CS_PIN | LCD_RESET_PIN );\r
+  LCD_CS_RST_OUT &= ~LCD_RESET_PIN;\r
+\r
+  LCD_SPI_SEL &= ~(LCD_MOSI_PIN + LCD_CLK_PIN + LCD_MISO_PIN);\r
+  LCD_CS_RST_DIR |= LCD_MOSI_PIN + LCD_CLK_PIN + LCD_MISO_PIN;\r
+  LCD_CS_RST_OUT &= ~(LCD_MOSI_PIN + LCD_CLK_PIN + LCD_MISO_PIN);\r
+\r
+  UCB2CTL0 = UCSWRST;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Initializes the LCD backlight PWM signal.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *\r
+ *************************************************************************/\r
+void halLcdBackLightInit(void)\r
+{\r
+  LCD_BACKLT_DIR |= LCD_BACKLIGHT_PIN;\r
+  LCD_BACKLT_OUT |= LCD_BACKLIGHT_PIN;\r
+  LCD_BACKLT_SEL |= LCD_BACKLIGHT_PIN;\r
+\r
+  TA0CCTL3 = OUTMOD_7;\r
+  TA0CCR3 = TA0CCR0 >> 1 ;\r
+  backlight = 8;\r
+\r
+  TA0CCR0 = 400;\r
+  TA0CTL = TASSEL_2+MC_1;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Get function for the backlight PWM's duty cycle.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return backlight One of the the 17 possible settings - valued 0 to 16.\r
+ *\r
+ *************************************************************************/\r
+unsigned int halLcdGetBackLight(void)\r
+{\r
+  return backlight;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Set function for the backlight PWM's duty cycle\r
+ *\r
+ * @param  BackLightLevel The target backlight duty cycle - valued 0 to 16.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdSetBackLight(unsigned char BackLightLevel)\r
+{\r
+  unsigned int dutyCycle = 0, i, dummy;\r
+\r
+  if (BackLightLevel > 0)\r
+  {\r
+    TA0CCTL3 = OUTMOD_7;\r
+    dummy = (TA0CCR0 >> 4);\r
+\r
+    for (i = 0; i < BackLightLevel; i++)\r
+      dutyCycle += dummy;\r
+\r
+    TA0CCR3 = dutyCycle;\r
+\r
+    // If the backlight was previously turned off, turn it on.\r
+    if (!backlight)\r
+      TA0CTL |= MC0;\r
+  }\r
+  else\r
+  {    \r
+    TA0CCTL3 = 0;\r
+    TA0CTL &= ~MC0;\r
+  }\r
+  backlight = BackLightLevel;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Turns off the backlight.\r
+ *\r
+ * Clears the respective GPIO and timer settings.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdShutDownBackLight(void)\r
+{\r
+  LCD_BACKLT_DIR |= LCD_BACKLIGHT_PIN;\r
+  LCD_BACKLT_OUT &= ~(LCD_BACKLIGHT_PIN);\r
+  LCD_BACKLT_SEL &= ~LCD_BACKLIGHT_PIN;\r
+\r
+  TA0CCTL3 = 0;\r
+  TA0CTL = 0;\r
+\r
+  backlight = 0;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Set function for the contrast level of the LCD.\r
+ *\r
+ * @param  ContrastLevel The target contrast level\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdSetContrast(unsigned char ContrastLevel)\r
+{\r
+  if (ContrastLevel > 127) ContrastLevel = 127;\r
+  if (ContrastLevel < 70) ContrastLevel = 70;\r
+  LcdInitMacro[ 0x04 * 6 + 5 ] = ContrastLevel;\r
+  halLcdSendCommand(&LcdInitMacro[ 0x04 * 6 ]);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Get function for the contrast level of the LCD.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return ContrastLevel The LCD constrast level\r
+ *************************************************************************/\r
+unsigned char halLcdGetContrast(void)\r
+{\r
+  return LcdInitMacro[ 0x04 * 6 + 5 ] ;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Turns the LCD cursor on at the current text position.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdCursor(void)\r
+{\r
+  LcdInitMacro[  8 * 6 + 5 ] ^= BIT2;\r
+  halLcdSendCommand(&LcdInitMacro[ 8 * 6 ]);\r
+\r
+  LcdInitMacro[ 0x0B * 6 + 5 ] = ((LcdAddress & 0x1F) << 3) ;\r
+  LcdInitMacro[ 0x0B * 6 + 4 ] = ( (LcdAddress & 0x1F) << 3 ) + 3;\r
+  LcdInitMacro[ 0x0C * 6 + 5 ] = (LcdAddress >> 5);\r
+  LcdInitMacro[ 0x0C * 6 + 4 ] = (LcdAddress >> 5) + 7;\r
+  halLcdSendCommand(&LcdInitMacro[ 0x0B * 6 ]);\r
+  halLcdSendCommand(&LcdInitMacro[ 0x0C * 6 ]);\r
+\r
+  halLcdSetAddress(LcdAddress);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Turns off the LCD cursor.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdCursorOff(void)\r
+{\r
+  LcdInitMacro[  8 * 6 + 5 ] &= ~BIT2;\r
+  halLcdSendCommand(&LcdInitMacro[ 8 * 6 ]);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Inverts the grayscale values of the LCD display (Black <> white).\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdReverse(void)\r
+{\r
+  LcdInitMacro[  7 * 6 + 5 ] ^= BIT1;\r
+  halLcdSendCommand(&LcdInitMacro[ 7 * 6 ]);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Sets the LCD in standby mode to reduce power consumption.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdStandby(void)\r
+{\r
+  LcdInitMacro[ 3 * 6 + 5 ] &= (~BIT3) & (~BIT2);\r
+  LcdInitMacro[ 3 * 6 + 5 ] |= BIT0;\r
+  halLcdSendCommand(&LcdInitMacro[ 3 * 6 ]);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Puts the LCD into active mode.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdActive(void)\r
+{\r
+  halLcdSendCommand(LcdInitMacro);                  // R00 start oscillation\r
+\r
+  // Wait a minimum of 25ms after issuing "start oscillation"\r
+  // command (to accomodate for MCLK up to 25MHz)\r
+  __delay_cycles(250000);\r
+\r
+  LcdInitMacro[ 3 * 6 + 5 ] |= BIT3;\r
+  LcdInitMacro[ 3 * 6 + 5 ] &= ~BIT0;\r
+  halLcdSendCommand(&LcdInitMacro[ 3 * 6 ]);        // R03 Power control\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Sets the pointer location in the LCD.\r
+ *\r
+ * - LcdAddress      = Address                                         \r
+ * - LcdTableAddress = Correct Address Row + Column\r
+ *                   = (Address / 0x20)* 17 + Column\r
+ *\r
+ * @param  Address The target pointer location in the LCD.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdSetAddress(int Address)\r
+{\r
+  int temp;\r
+\r
+  Draw_Block_Address_Macro[4] = Address >> 8;\r
+  Draw_Block_Address_Macro[5] = Address & 0xFF;\r
+  halLcdSendCommand(Draw_Block_Address_Macro);\r
+  LcdAddress = Address;\r
+  temp = Address >> 5;                      // Divided by 0x20\r
+  temp = temp + (temp << 4);\r
+  //Multiplied by (1+16) and added by the offset\r
+  LcdTableAddress = temp + (Address & 0x1F);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Draws a block at the specified LCD address.\r
+ *\r
+ * A block is the smallest addressable memory on the LCD and is\r
+ * equivalent to 8 pixels, each of which is represented by 2 bits\r
+ * that represent a grayscale value between 00b and 11b.\r
+ *\r
+ * @param  Address The address at which to draw the block.\r
+ *\r
+ * @param  Value   The value of the block\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdDrawBlock(unsigned int Address, unsigned int Value)\r
+{\r
+  halLcdSetAddress(Address);\r
+  halLcdDrawCurrentBlock(Value);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Writes Value to LCD CGram and MSP430 internal LCD table.\r
+ *\r
+ * Also updates the LcdAddress and LcdTableAddress to the correct values.\r
+ *\r
+ * @param  Value The value of the block to be written to the LCD.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdDrawCurrentBlock(unsigned int Value)\r
+{\r
+  int temp;\r
+\r
+  Draw_Block_Value_Macro[4] = Value >> 8;\r
+  Draw_Block_Value_Macro[5] = Value & 0xFF;\r
+  LCD_MEM[ LcdTableAddress ] = Value;\r
+\r
+  halLcdSendCommand(Draw_Block_Value_Macro);\r
+\r
+  LcdAddress++;\r
+  temp = LcdAddress >> 5;                   // Divided by 0x20\r
+  temp = temp + (temp << 4);\r
+  // Multiplied by (1+16) and added by the offset\r
+  LcdTableAddress = temp + (LcdAddress & 0x1F);\r
+\r
+  // If LcdAddress gets off the right edge, move to next line\r
+  if ((LcdAddress & 0x1F) > 0x11)\r
+    halLcdSetAddress( (LcdAddress & 0xFFE0) + 0x20 );\r
+  if (LcdAddress == LCD_Size)\r
+    halLcdSetAddress( 0 );\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Returns the LCD CGRAM value at location Address.\r
+ *\r
+ * @param  Address The address of the block to be read from the LCD.\r
+ *\r
+ * @return Value   The value held at the specified address.\r
+ *************************************************************************/\r
+int halLcdReadBlock(unsigned int Address)\r
+{\r
+  int i = 0, Value = 0, ReadData[7];\r
+\r
+  halLcdSetAddress( Address );\r
+  halLcdSendCommand(Read_Block_Address_Macro);\r
+\r
+  LCD_CS_RST_OUT &= ~LCD_CS_PIN;              // start transfer CS=0\r
+  UCB2TXBUF = 0x77;                         // Transmit first character 0x77\r
+\r
+  while (!(UCB2IFG & UCTXIFG));\r
+  while (UCB2STAT & UCBUSY);\r
+\r
+  //Read 5 dummies values and 2 valid address data\r
+  LCD_SPI_SEL &= ~LCD_MOSI_PIN;             //Change SPI2C Dir\r
+  LCD_SPI_SEL |= LCD_MISO_PIN;\r
+\r
+  for (i = 0; i < 7; i ++ )\r
+  {\r
+    UCB2IFG &= ~UCRXIFG;\r
+    UCB2TXBUF = 1;                          // load dummy byte 1 for clk\r
+    while (!(UCB2IFG & UCRXIFG));\r
+    ReadData[i] = UCB2RXBUF;\r
+  }\r
+  LCD_CS_RST_OUT |= LCD_CS_PIN;              // Stop Transfer CS = 1\r
+\r
+  LCD_SPI_SEL |= LCD_MOSI_PIN;               //Change SPI2C Dir\r
+  LCD_SPI_SEL &= ~LCD_MISO_PIN;\r
+  LCD_CS_RST_DIR |= LCD_MOSI_PIN + LCD_CLK_PIN;\r
+  LCD_CS_RST_DIR &= ~LCD_MISO_PIN;\r
+\r
+  Value = (ReadData[5] << 8) + ReadData[6];\r
+  return Value;\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Draw a Pixel of grayscale at coordinate (x,y) to LCD\r
+ *\r
+ * @param  x         x-coordinate for grayscale value\r
+ *\r
+ * @param  y         y-coordinate for grayscale value\r
+ *\r
+ * @param  GrayScale The intended grayscale value of the pixel - one of\r
+ *                   four possible settings.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdPixel( int x, int y, unsigned char GrayScale)\r
+{\r
+  int  Address, Value;\r
+  unsigned char offset;\r
+\r
+  //Each line increments by 0x20\r
+  if ( (x>=0 ) && (x<LCD_COL) && (y>=0) && (y<LCD_ROW))\r
+  {\r
+    Address = (y << 5) + (x >> 3) ;         //Narrow down to 8 possible pixels\r
+\r
+    Value = LCD_MEM[(y << 4)+ y + (x>>3)];  //y * 17 --> row. x>>3 --> column\r
+\r
+    offset = (x & 0x07) << 1;      //3 LSBs = pos. within the 8 columns\r
+    Value &= ~  (3 << offset);     //clear out the corresponding bits\r
+    Value |= GrayScale << offset;  //set pixel to GrayScale level\r
+\r
+    halLcdDrawBlock( Address, Value );\r
+  }\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Clears entire LCD CGRAM as well as LCD_MEM.\r
+ *\r
+ * @param  none\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdClearScreen(void)\r
+{\r
+  int i, j, k, Current_Location = 0;\r
+  halLcdSetAddress(0);\r
+\r
+  for (i=0; i < 110; i++)\r
+  {\r
+    //prepare to send image\r
+    LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
+    for ( k = 0; k < 3; k++ )\r
+    {\r
+      while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+      UCB2TXBUF = Draw_Block_Value_Macro[k];     // Load data\r
+    }\r
+    while (UCB2STAT & UCBUSY);         \r
+    LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
+    LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer  \r
+    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+    UCB2TXBUF = Draw_Block_Value_Macro[3];     // Load data\r
+\r
+    //send blank line\r
+    for (j=0; j < 17; j++)\r
+    {\r
+         LCD_MEM[ LcdTableAddress++ ] = 0x00;\r
+      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
+      UCB2TXBUF = 0x00;                   // Load data\r
+      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
+      UCB2TXBUF = 0x00;                   // Load data\r
+    }\r
+    //Clear the partially visible block at the edge of the screen\r
+    while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
+      UCB2TXBUF = 0x00;                   // Load data\r
+    while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
+      UCB2TXBUF = 0x00;                   // Load data\r
+    while (UCB2STAT & UCBUSY);         \r
+    LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
+\r
+    Current_Location += 0x20;\r
+    halLcdSetAddress(Current_Location );\r
+  }\r
+\r
+  halLcdSetAddress(0);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Loads an image of size = rows * columns, starting at the\r
+ *         coordinate (x,y).\r
+ *\r
+ * @param  Image[] The image to be loaded\r
+ *\r
+ * @param  Rows    The number of rows in the image. Size = Rows * Columns.\r
+ *\r
+ * @param  Columns The number of columns in the image. Size = Rows * Columns.\r
+ *\r
+ * @param  x       x-coordinate of the image's starting location\r
+ *\r
+ * @param  y       y-coordinate of the image's starting location\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y)\r
+{\r
+  int i, CurrentLocation;\r
+\r
+  CurrentLocation = (y << 5) + (x >> 3);\r
+  halLcdSetAddress(CurrentLocation);\r
+  for (i=0; i < Rows; i++)\r
+  {\r
+    halLcdDrawCurrentLine(Image, Columns);\r
+    Image += Columns;\r
+    CurrentLocation += 0x20;\r
+    halLcdSetAddress(CurrentLocation);\r
+  }\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Writes Value to LCD CGram and MSP430 internal LCD table.\r
+ *\r
+ * Also updates the LcdAddress and LcdTableAddress to the correct values.\r
+ *\r
+ * @param  *value Pointer to the line to be written to the LCD.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdDrawCurrentLine(const unsigned int *value, int Columns)\r
+{\r
+  unsigned char i;\r
+\r
+  //prepare to send image\r
+  LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
+  for ( i = 0; i < 3; i++ )\r
+  {\r
+      while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+      UCB2TXBUF = Draw_Block_Value_Macro[i];     // Load data\r
+  }\r
+  while (UCB2STAT & UCBUSY);           \r
+  LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
+  LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer    \r
+  while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+  UCB2TXBUF = Draw_Block_Value_Macro[3];     // Load data\r
+\r
+  //send the image\r
+  for ( i = 0; i < Columns; i++ )\r
+  {    \r
+    // Make sure we are not writing outside LCD_MEM[]\r
+    if (LcdTableAddress >= sizeof(LCD_MEM)) {\r
+       break;\r
+    }\r
+       LCD_MEM[ LcdTableAddress++ ] = *value;\r
+       while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+    UCB2TXBUF = (*value) >> 8;                   // Load data\r
+    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+    UCB2TXBUF = (*value++) & 0xFF;                   // Load data\r
+  }\r
+\r
+  while (UCB2STAT & UCBUSY);           \r
+  LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Clears an image of size rows x columns starting at (x, y).\r
+ *\r
+ * @param  Columns The size, in columns, of the image to be cleared.\r
+ *\r
+ * @param  Rows    The size, in rows, of the image to be cleared.\r
+ *\r
+ * @param  x       x-coordinate of the image to be cleared\r
+ *\r
+ * @param  y       y-coordinate of the image to be cleared\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdClearImage(int Columns, int Rows, int x, int y)\r
+{\r
+  int i,j,k, Current_Location;\r
+  Current_Location = (y << 5) + (x >> 3);\r
+  halLcdSetAddress( Current_Location );\r
+\r
+  for (i=0; i < Rows; i++)\r
+  {\r
+    //prepare to send image\r
+    LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
+    for ( k = 0; k < 3; k++ )\r
+    {\r
+      while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+      UCB2TXBUF = Draw_Block_Value_Macro[k];     // Load data\r
+    }\r
+    while (UCB2STAT & UCBUSY);         \r
+    LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
+    LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer  \r
+    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
+    UCB2TXBUF = Draw_Block_Value_Macro[3];     // Load data\r
+\r
+    //send blank line\r
+    for (j=0; j < Columns; j++)\r
+    {\r
+         LCD_MEM[ LcdTableAddress++ ] = 0x00;\r
+      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
+      UCB2TXBUF = 0x00;                   // Load data\r
+      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
+      UCB2TXBUF = 0x00;                   // Load data\r
+    }\r
+    while (UCB2STAT & UCBUSY);         \r
+    LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
+\r
+    Current_Location += 0x20;\r
+    halLcdSetAddress(Current_Location );\r
+  }\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Writes Value to LCD CGRAM. Pointers internal to the LCD\r
+ *         are also updated.\r
+ *\r
+ * @param  Value The value to be written to the current LCD pointer\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdDrawTextBlock(unsigned int Value)\r
+{\r
+  int temp;\r
+\r
+  Draw_Block_Value_Macro[4] = Value >> 8;\r
+  Draw_Block_Value_Macro[5] = Value & 0xFF;\r
+  LCD_MEM[ LcdTableAddress ] = Value;\r
+\r
+  halLcdSendCommand(Draw_Block_Value_Macro);\r
+\r
+  LcdAddress++;\r
+  temp = LcdAddress >> 5;                   // Divided by 0x20\r
+  temp = temp + (temp << 4);\r
+  //Multiplied by (1+16) and added by the offset\r
+  LcdTableAddress = temp + (LcdAddress & 0x1F);\r
+\r
+  // If LcdAddress gets off the right edge, move to next line\r
+  if ((LcdAddress & 0x1F) > 0x10)\r
+    halLcdSetAddress( (LcdAddress & 0xFFE0) + 0x20 );\r
+\r
+  if (LcdAddress >= LCD_Size)\r
+    halLcdSetAddress( 0 );\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Displays the string to the LCD starting at current location.\r
+ *\r
+ * Writes all the data to LCD_MEM first, then updates all corresponding\r
+ * LCD CGRAM locations at once, in a continuous fashion.\r
+ *\r
+ * @param  String[]  The string to be displayed on LCD.\r
+ *\r
+ * @param  TextStyle Value that specifies whether the string is to be\r
+ *                   inverted or overwritten.\r
+ *                   - Invert    = 0x01\r
+ *                   - Overwrite = 0x04\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdPrint( char String[], unsigned char TextStyle)\r
+{\r
+  int i, j, Counter=0, BlockValue;\r
+  int Address, LCD_MEM_Add, ActualAddress;\r
+  int temp;\r
+  char LookUpChar;\r
+\r
+  ActualAddress = LcdAddress;\r
+  Counter =  LcdAddress & 0x1F;\r
+  i=0;\r
+\r
+  while (String[i]!=0)                      // Stop on null character\r
+  {\r
+    LookUpChar = fonts_lookup[String[i]];\r
+\r
+    for (j=0;j < FONT_HEIGHT ;j++)\r
+    {\r
+      Address = ActualAddress + j*0x20;\r
+      temp = Address >> 5;\r
+      temp += (temp <<4);\r
+\r
+      LCD_MEM_Add = temp + (Address & 0x1F);\r
+\r
+      BlockValue = LCD_MEM[ LCD_MEM_Add ];\r
+\r
+      if(TextStyle & GRAYSCALE_TEXT)\r
+      {\r
+       if (TextStyle & INVERT_TEXT)\r
+         if (TextStyle & OVERWRITE_TEXT)\r
+           BlockValue = 0xAAAA - GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
+         else\r
+           BlockValue |= 0xAAAA - GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
+       else\r
+         if (TextStyle & OVERWRITE_TEXT)\r
+            BlockValue = GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
+          else\r
+            BlockValue |= GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
+      }\r
+      else\r
+      {\r
+        if (TextStyle & INVERT_TEXT)\r
+          if (TextStyle & OVERWRITE_TEXT)\r
+            BlockValue = 0xFFFF - fonts[LookUpChar*13+j];\r
+          else\r
+            BlockValue |= 0xFFFF - fonts[LookUpChar*13+j];\r
+\r
+        else\r
+          if (TextStyle & OVERWRITE_TEXT)\r
+            BlockValue = fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
+          else\r
+            BlockValue |= fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
+      }\r
+      halLcdDrawBlock( Address, BlockValue);\r
+    }\r
+\r
+    Counter++;\r
+    if (Counter == 17)\r
+    {\r
+      Counter = 0;\r
+      ActualAddress += 0x20*FONT_HEIGHT  - 16;\r
+      if (ActualAddress > LCD_Last_Pixel-0x20*FONT_HEIGHT )\r
+        ActualAddress = 0;\r
+    }\r
+    else\r
+      ActualAddress++;\r
+    i++;\r
+  }\r
+  halLcdSetAddress(ActualAddress);\r
+\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Displays the string to the LCD starting at (x,y) location.\r
+ *\r
+ * Writes all the data to LCD_MEM first, then updates all corresponding\r
+ * LCD CGRAM locations at once, in a continuous fashion.\r
+ *\r
+ * @param  String[]  String to be displayed on LCD\r
+ *\r
+ * @param  x         x-coordinate of the write location on the LCD\r
+ *\r
+ * @param  y         y-coordinate of the write location on the LCD\r
+ *\r
+ * @param  TextStyle Value that specifies whether the string is to be\r
+ *                   inverted or overwritten.\r
+ *                   - Invert    = 0x01\r
+ *                   - Overwrite = 0x04\r
+ *************************************************************************/\r
+void halLcdPrintXY( char String[], int x, int y, unsigned char TextStyle)\r
+{\r
+  //Each line increments by 0x20\r
+  halLcdSetAddress( (y << 5) + (x >> 3)) ;  //Narrow down to 8 possible pixels\r
+  halLcdPrint(String,  TextStyle);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Displays a string on the LCD on the specified line.\r
+ *\r
+ * @param  String[]  The string to be displayed on LCD.\r
+ *\r
+ * @param  Line      The line on the LCD on which to print the string.\r
+ *\r
+ * @param  TextStyle Value that specifies whether the string is to be\r
+ *                   inverted or overwritten.\r
+ *                   - Invert    = 0x01\r
+ *                   - Overwrite = 0x04\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle)\r
+{\r
+  int temp;\r
+  temp = Line * FONT_HEIGHT ;\r
+  halLcdSetAddress( temp << 5 ) ;           // 0x20 = 2^5\r
+  halLcdPrint(String, TextStyle);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Prints a string beginning on a given line and column.\r
+ *\r
+ * @param  String[]  The string to be displayed on LCD.\r
+ *\r
+ * @param  Line      The line on which to print the string of text\r
+ *\r
+ * @param  Col       The column on which to print the string of text\r
+ *\r
+ * @param  TextStyle Value that specifies whether the string is to be\r
+ *                   inverted or overwritten.\r
+ *                   - Invert    = 0x01\r
+ *                   - Overwrite = 0x04\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col,\r
+                        unsigned char TextStyle)\r
+{\r
+  int temp;\r
+\r
+  temp = Line * FONT_HEIGHT;\r
+  temp <<= 5;\r
+  temp += Col;\r
+\r
+  halLcdSetAddress( temp ) ;                // 0x20 = 2^5\r
+  halLcdPrint(String, TextStyle);\r
+}\r
+\r
+\r
+/**********************************************************************//**\r
+ * @brief  Draws a horizontral line from (x1,y) to (x2,y) of GrayScale level\r
+ *\r
+ * @param  x1        x-coordinate of the first point\r
+ *\r
+ * @param  x2        x-coordinate of the second point\r
+ *\r
+ * @param  y         y-coordinate of both points\r
+ *\r
+ * @param  GrayScale Grayscale level of the horizontal line\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdHLine( int x1, int x2, int y, unsigned char GrayScale)\r
+{\r
+  int x_dir, x;\r
+  if ( x1 < x2 )\r
+    x_dir = 1;\r
+  else\r
+    x_dir = -1;\r
+  x = x1;\r
+  while (x != x2)\r
+  {\r
+    halLcdPixel( x,y, GrayScale);\r
+    x += x_dir;\r
+  }\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Draws a vertical line from (x,y1) to (x,y2) of GrayScale level\r
+ *\r
+ * @param  x         x-coordinate of both points\r
+ *\r
+ * @param  y1        y-coordinate of the first point\r
+ *\r
+ * @param  y2        y-coordinate of the second point\r
+ *\r
+ * @param  GrayScale GrayScale level of the vertical line\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdVLine( int x, int y1, int y2, unsigned char GrayScale)\r
+{\r
+  int y_dir, y;\r
+  if ( y1 < y2 )\r
+    y_dir = 1;\r
+  else\r
+    y_dir = -1;\r
+  y = y1;\r
+  while (y != y2)\r
+  {\r
+    halLcdPixel( x,y, GrayScale);\r
+    y += y_dir;\r
+  }\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Draws a line from (x1,y1) to (x2,y2) of GrayScale level.\r
+ *\r
+ * Uses Bresenham's line algorithm.\r
+ *\r
+ * @param  x1         x-coordinate of the first point\r
+ *\r
+ * @param  y1         y-coordinate of the first point\r
+ *\r
+ * @param  x2         x-coordinate of the second point\r
+ *\r
+ * @param  y2         y-coordinate of the second point\r
+ *\r
+ * @param  GrayScale  Grayscale level of the line\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdLine( int x1, int y1, int x2, int y2, unsigned char GrayScale)\r
+{\r
+  int x, y, deltay, deltax, d;\r
+  int x_dir, y_dir;\r
+\r
+  if ( x1 == x2 )\r
+    halLcdVLine( x1, y1, y2, GrayScale );\r
+  else\r
+  {\r
+    if ( y1 == y2 )\r
+      halLcdHLine( x1, x2, y1, GrayScale );\r
+    else                                    // a diagonal line\r
+    {\r
+      if (x1 > x2)\r
+        x_dir = -1;\r
+      else x_dir = 1;\r
+      if (y1 > y2)\r
+        y_dir = -1;\r
+      else y_dir = 1;\r
+\r
+      x = x1;\r
+      y = y1;\r
+      deltay = ABS(y2 - y1);\r
+      deltax = ABS(x2 - x1);\r
+\r
+      if (deltax >= deltay)\r
+      {\r
+        d = (deltay << 1) - deltax;\r
+        while (x != x2)\r
+        {\r
+          halLcdPixel(x, y,  GrayScale);\r
+          if ( d < 0 )\r
+            d += (deltay << 1);\r
+          else\r
+          {\r
+            d += ((deltay - deltax) << 1);\r
+            y += y_dir;\r
+          }\r
+          x += x_dir;\r
+        }\r
+      }\r
+      else\r
+      {\r
+        d = (deltax << 1) - deltay;\r
+        while (y != y2)\r
+        {\r
+          halLcdPixel(x, y, GrayScale);\r
+          if ( d < 0 )\r
+            d += (deltax << 1);\r
+          else\r
+          {\r
+            d += ((deltax - deltay) << 1);\r
+            x += x_dir;\r
+          }\r
+          y += y_dir;\r
+        }\r
+      }\r
+    }\r
+  }\r
+}\r
+\r
+\r
+/**********************************************************************//**\r
+ * @brief  Draw a circle of Radius with center at (x,y) of GrayScale level.\r
+ *\r
+ * Uses Bresenham's circle algorithm\r
+ *\r
+ * @param  x         x-coordinate of the circle's center point\r
+ *\r
+ * @param  y         y-coordinate of the circle's center point\r
+ *\r
+ * @param  Radius    Radius of the circle\r
+ *\r
+ * @param  GrayScale Grayscale level of the circle\r
+ *************************************************************************/\r
+void halLcdCircle(int x, int y, int Radius, int GrayScale)\r
+{\r
+  int xx, yy, ddF_x, ddF_y, f;\r
+\r
+  ddF_x = 0;\r
+  ddF_y = -(2 * Radius);\r
+  f = 1 - Radius;\r
+\r
+  xx = 0;\r
+  yy = Radius;\r
+  halLcdPixel(x + xx, y + yy, GrayScale);\r
+  halLcdPixel(x + xx, y - yy, GrayScale);\r
+  halLcdPixel(x - xx, y + yy, GrayScale);\r
+  halLcdPixel(x - xx, y - yy, GrayScale);\r
+  halLcdPixel(x + yy, y + xx, GrayScale);\r
+  halLcdPixel(x + yy, y - xx, GrayScale);\r
+  halLcdPixel(x - yy, y + xx, GrayScale);\r
+  halLcdPixel(x - yy, y - xx, GrayScale);\r
+  while (xx < yy)\r
+  {\r
+    if (f >= 0)\r
+    {\r
+      yy--;\r
+      ddF_y += 2;\r
+      f += ddF_y;\r
+    }\r
+    xx++;\r
+    ddF_x += 2;\r
+    f += ddF_x + 1;\r
+    halLcdPixel(x + xx, y + yy, GrayScale);\r
+    halLcdPixel(x + xx, y - yy, GrayScale);\r
+    halLcdPixel(x - xx, y + yy, GrayScale);\r
+    halLcdPixel(x - xx, y - yy, GrayScale);\r
+    halLcdPixel(x + yy, y + xx, GrayScale);\r
+    halLcdPixel(x + yy, y - xx, GrayScale);\r
+    halLcdPixel(x - yy, y + xx, GrayScale);\r
+    halLcdPixel(x - yy, y - xx, GrayScale);\r
+  }\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Scrolls a single row of pixels one column to the left.\r
+ *\r
+ * The column that is scrolled out of the left side of the LCD will be\r
+ * displayed the right side of the LCD.\r
+ *\r
+ * @param  y    The row of pixels to scroll. y = 0 is at the top-left\r
+ *              corner of the LCD.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdScrollRow(int y)\r
+{\r
+  int i, Address, LcdTableAddressTemp;\r
+  unsigned int temp;\r
+\r
+  Address = y << 5;\r
+\r
+  halLcdSetAddress( Address );\r
+\r
+  //Multiplied by (1+16) and added by the offset\r
+  LcdTableAddressTemp = y + (y << 4);\r
+  temp = ((LCD_MEM[LcdTableAddressTemp] & 0x0003) <<14);\r
+\r
+  for (i = 0; i < 0x10; i++)\r
+    halLcdDrawCurrentBlock( ( (LCD_MEM[LcdTableAddressTemp+i] & 0xFFFC ) >> 2 ) \\r
+    + ((LCD_MEM[LcdTableAddressTemp+i+1] & 0x0003) << 14 ));\r
+\r
+  halLcdDrawCurrentBlock( (( LCD_MEM[LcdTableAddressTemp + 0x10] & 0xFFFC ) >> 2) + temp);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Scrolls multiple rows of pixels, yStart to yEnd,\r
+ *         one column to the left.\r
+ *\r
+ * The column that is scrolled out of the left side of the LCD will be\r
+ * displayed the right side of the LCD. y = 0 is at the top-left of the\r
+ * LCD screen.\r
+ *\r
+ * @param  yStart The beginning row to be scrolled\r
+ *\r
+ * @param  yEnd   The last row to be scrolled\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdHScroll(int yStart, int yEnd)\r
+{\r
+  int i ;\r
+\r
+  for (i = yStart; i < yEnd+1; i++)\r
+    halLcdScrollRow(i);\r
+}\r
+\r
+/**********************************************************************//**\r
+ * @brief  Scrolls a line of text one column to the left.\r
+ *\r
+ * @param  Line The line of text to be scrolled.\r
+ *\r
+ * @return none\r
+ *************************************************************************/\r
+void halLcdScrollLine(int Line)\r
+{\r
+  int i, Row ;\r
+\r
+  Row = Line * FONT_HEIGHT;\r
+\r
+  for (i = Row; i < Row + FONT_HEIGHT ; i++)\r
+    halLcdScrollRow(i);\r
+}\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.h
new file mode 100644 (file)
index 0000000..ab047b0
--- /dev/null
@@ -0,0 +1,122 @@
+/*******************************************************************************\r
+    Filename: hal_lcd.h\r
+\r
+    Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+#ifndef HAL_LCD_H\r
+#define HAL_LCD_H\r
+\r
+#ifndef MIN\r
+#define MIN(n,m)   (((n) < (m)) ? (n) : (m))\r
+#endif\r
+\r
+#ifndef MAX\r
+#define MAX(n,m)   (((n) < (m)) ? (m) : (n))\r
+#endif\r
+\r
+#ifndef ABS\r
+#define ABS(n)     (((n) < 0) ? -(n) : (n))\r
+#endif\r
+\r
+#define LCD_BACKLT_OUT      P8OUT\r
+#define LCD_BACKLT_DIR      P8DIR\r
+#define LCD_BACKLT_SEL      P8SEL\r
+#define LCD_BACKLIGHT_PIN   BIT3\r
+#define LCD_CS_RST_DIR      P9DIR\r
+#define LCD_CS_RST_OUT      P9OUT  \r
+#define LCD_CS_PIN          BIT6 \r
+#define LCD_RESET_PIN       BIT7\r
+#define LCD_SPI_SEL                    P9SEL\r
+#define LCD_SPI_DIR                    P9DIR\r
+#define LCD_MOSI_PIN           BIT1\r
+#define        LCD_MISO_PIN            BIT2\r
+#define LCD_CLK_PIN            BIT3\r
+\r
+#define LCD_ROW                 110\r
+#define LCD_COL                 138\r
+#define LCD_Size                3505\r
+#define LCD_MEM_Size            110*17\r
+#define LCD_Max_Column_Offset   0x10  \r
\r
+#define LCD_Last_Pixel          3505\r
+\r
+#define LCD_MEM_Row             0x11\r
+#define LCD_Row                 0x20\r
+\r
+// Grayscale level definitions\r
+#define PIXEL_OFF               0\r
+#define PIXEL_LIGHT             1\r
+#define PIXEL_DARK              2\r
+#define PIXEL_ON                3\r
+\r
+#define INVERT_TEXT             BIT0\r
+#define OVERWRITE_TEXT          BIT2\r
+#define GRAYSCALE_TEXT                 BIT1\r
+\r
+/*-------------------------------------------------------------\r
+ *                  Function Prototypes \r
+ * ------------------------------------------------------------*/ \r
+extern void halLcdInit(void);                   \r
+extern void halLcdShutDown(void);\r
+extern void halLcdBackLightInit(void);\r
+extern void halLcdSetBackLight(unsigned char BackLightLevel);\r
+extern unsigned int halLcdGetBackLight(void);\r
+extern void halLcdShutDownBackLight(void);\r
+extern void halLcdSendCommand(unsigned char Data[]) ;\r
+extern void halLcdSetContrast(unsigned char ContrastLevel);\r
+extern unsigned char halLcdGetContrast(void);\r
+extern void halLcdStandby(void);\r
+extern void halLcdActive(void);\r
+\r
+//Move to specified LCD address\r
+extern void halLcdSetAddress(int Address);          \r
+\r
+//Draw at current segment location\r
+extern void halLcdDrawCurrentBlock(unsigned int Value);  \r
+extern void halLcdDrawCurrentLine(const unsigned int *value, int length);         \r
+\r
+//Draw at specified location by calling\r
+//LCD_Set_Address(Address) & LCD_Draw_Current_Block( value )\r
+extern void halLcdDrawBlock(unsigned int Address, unsigned int Value); \r
+\r
+//Read value from LCD CGRAM\r
+extern int halLcdReadBlock(unsigned int Address);\r
+\r
+//Clear LCD Screen  \r
+extern void halLcdClearScreen(void);                    \r
+\r
+//Invert black to white and vice versa\r
+extern void halLcdReverse(void);\r
+\r
+// Draw a Pixel @ (x,y) with GrayScale level\r
+extern void halLcdPixel(  int x,  int y, unsigned char GrayScale);\r
+//Draw Line from (x1,y1) to (x2,y2) with GrayScale level\r
+extern void halLcdLine(  int x1,  int y1,  int x2,  int y2, unsigned char GrayScale); \r
+extern void halLcdHLine( int x1, int x2, int y, unsigned char GrayScale);\r
+extern void halLcdVLine( int x1, int x2, int y, unsigned char GrayScale);\r
+\r
+extern void halLcdCircle(int x, int y, int Radius, int GrayScale);\r
+\r
+extern void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y);\r
+extern void halLcdClearImage(int Columns, int Rows,  int x, int y);\r
+\r
+//Print String of Length starting at current LCD location\r
+extern void halLcdPrint(char String[], unsigned char TextStyle) ;\r
+\r
+//Print String of Length starting at (x,y)\r
+extern void halLcdPrintXY(char String[], int x, int y, unsigned char TextStyle);  \r
+\r
+//Print String of Length starting at (x,y)\r
+extern void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle);  \r
+extern void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col, unsigned char TextStyle);  \r
+\r
+extern void halLcdCursor(void);\r
+extern void halLcdCursorOff(void);\r
+//Scroll a single row of pixels\r
+extern void halLcdScrollRow(int y);\r
+//Scroll a number of consecutive rows from yStart to yEnd\r
+extern void halLcdHScroll(int yStart, int yEnd);\r
+//Scroll a line of text\r
+extern void halLcdScrollLine(int Line);\r
+\r
+#endif /* HAL_LCD_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c
new file mode 100644 (file)
index 0000000..06002ac
--- /dev/null
@@ -0,0 +1,323 @@
+/**********************************************************************//**\r
+ * @file UserExperienceGraphics.c\r
+ * \r
+ * Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+\r
+const unsigned char fonts_lookup[]={\r
+          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
+          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
+          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
+          0x00,0x00,63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
+          64,65,0,69,0,68,67,0,0,1,         //'0' = 48 = 0x30\r
+          2,3,4,5,6,7,8,9,66,0,             //'9' = 57 = 0x39\r
+          0,70,0,62,0,10,11,12,13,14,       //'A' --> 'Z'\r
+          15,16,17,18,19,20,21,22,23,24,\r
+          25,26,27,28,29,30,31,32,33,34, \r
+          35,0,0,0,71,0,0,36,37,38,         //'a' = 97 \r
+          39,40,41,42,43,44,45,46,47,48,\r
+          49,50,51,52,53,54,55,56,57,58,\r
+          59,60,61,62,0 ,0, 0, 72,73,74,\r
+          75,76,77,78,79,80,81              //'z' = 122\r
+          };            \r
+\r
+const unsigned int fonts[]= {\r
+          0x0000, 0x0ffc, 0x3c0f, 0x3f0f, 0x3fcf, 0x3ccf, 0x3cff, 0x3c3f, \r
+                 0x3c0f, 0x0ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c0, 0x00f0,        \r
+          0x00ff, 0x00f0, 0x00f0, 0x00f0, 0x00f0, 0x00f0, 0x0fff, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f00, 0x03c0, \r
+          0x00f0, 0x003c, 0x0f0f, 0x0fff, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x03fc, 0x0f0f, 0x0f00, 0x0f00, 0x03f0, 0x0f00, 0x0f00, 0x0f0f, \r
+          0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f00, 0x0fc0, 0x0ff0, \r
+          0x0f3c, 0x0f0f, 0x3fff, 0x0f00, 0x0f00, 0x3fc0, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0fff, 0x000f, 0x000f, 0x000f, 0x03ff, 0x0f00, \r
+          0x0f00, 0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, \r
+          0x003c, 0x000f, 0x000f, 0x03ff, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, 0x3c0f, 0x3c0f, 0x3c00, \r
+          0x0f00, 0x03c0, 0x00f0, 0x00f0, 0x00f0, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f3f, 0x03fc, 0x0fcf, 0x0f0f, \r
+          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, \r
+          0x0f0f, 0x0f0f, 0x0ffc, 0x03c0, 0x03c0, 0x00f0, 0x00fc, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x00f0, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, \r
+          0x0fff, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0fff, 0x3c3c, 0x3c3c, 0x3c3c, 0x0ffc, 0x3c3c, 0x3c3c, 0x3c3c, \r
+          0x0fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ff0, 0x3c3c, 0x3c0f, \r
+          0x000f, 0x000f, 0x000f, 0x3c0f, 0x3c3c, 0x0ff0, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x03ff, 0x0f3c, 0x3c3c, 0x3c3c, 0x3c3c, 0x3c3c, \r
+          0x3c3c, 0x0f3c, 0x03ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, \r
+          0x303c, 0x003c, 0x0c3c, 0x0ffc, 0x0c3c, 0x003c, 0x303c, 0x3fff, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, 0x3c3c, 0x303c, 0x0c3c, \r
+          0x0ffc, 0x0c3c, 0x003c, 0x003c, 0x00ff, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0ff0, 0x3c3c, 0x3c0f, 0x000f, 0x000f, 0x3f0f, 0x3c0f, \r
+          0x3c3c, 0x3ff0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, \r
+          0x0f0f, 0x0f0f, 0x0fff, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x03fc, 0x00f0, 0x00f0, 0x00f0, 0x00f0, \r
+          0x00f0, 0x00f0, 0x00f0, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x3fc0, 0x0f00, 0x0f00, 0x0f00, 0x0f00, 0x0f0f, 0x0f0f, 0x0f0f, \r
+          0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c3f, 0x3c3c, 0x0f3c, \r
+          0x0f3c, 0x03fc, 0x0f3c, 0x0f3c, 0x3c3c, 0x3c3f, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x00ff, 0x003c, 0x003c, 0x003c, 0x003c, 0x303c, \r
+          0x3c3c, 0x3c3c, 0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c0f, \r
+          0x3f3f, 0x3fff, 0x3fff, 0x3ccf, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x3c0f, 0x3c0f, 0x3c3f, 0x3cff, \r
+          0x3fff, 0x3fcf, 0x3f0f, 0x3c0f, 0x3c0f, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x03f0, 0x0f3c, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, \r
+          0x0f3c, 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fff, 0x3c3c, \r
+          0x3c3c, 0x3c3c, 0x0ffc, 0x003c, 0x003c, 0x003c, 0x00ff, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x03f0, 0x0f3c, 0x3c0f, 0x3c0f, 0x3c0f, \r
+          0x3f0f, 0x3fcf, 0x0ffc, 0x0f00, 0x3fc0, 0x0000, 0x0000, 0x0000, \r
+          0x0fff, 0x3c3c, 0x3c3c, 0x3c3c, 0x0ffc, 0x0f3c, 0x3c3c, 0x3c3c, \r
+          0x3c3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0f0f, \r
+          0x000f, 0x00fc, 0x03c0, 0x0f0f, 0x0f0f, 0x03fc, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0fff, 0x0cf3, 0x00f0, 0x00f0, 0x00f0, 0x00f0, \r
+          0x00f0, 0x00f0, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, \r
+          0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, \r
+          0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, 0x00f0, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, 0x3ccf, 0x3ccf, 0x0f3c, \r
+          0x0f3c, 0x0f3c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, \r
+          0x0f0f, 0x03fc, 0x00f0, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, \r
+          0x00f0, 0x00f0, 0x00f0, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x3fff, 0x3f0f, 0x03c3, 0x03c0, 0x00f0, 0x003c, 0x303c, 0x3c0f, \r
+          0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x03fc, 0x0f00, 0x0ffc, 0x0f0f, 0x0f0f, 0x3cfc, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x003f, 0x003c, 0x003c, 0x0ffc, 0x3c3c, 0x3c3c, \r
+          0x3c3c, 0x3c3c, 0x0fcf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x03fc, 0x0f0f, 0x000f, 0x000f, 0x0f0f, 0x03fc, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0fc0, 0x0f00, 0x0f00, 0x0ffc, \r
+          0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x3cfc, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0fff, 0x000f, \r
+          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, 0x0f3c, \r
+          0x003c, 0x003c, 0x03ff, 0x003c, 0x003c, 0x003c, 0x00ff, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cfc, 0x0f0f, \r
+          0x0f0f, 0x0f0f, 0x0ffc, 0x0f00, 0x0f0f, 0x03fc, 0x0000, 0x0000, \r
+          0x003f, 0x003c, 0x003c, 0x0f3c, 0x3cfc, 0x3c3c, 0x3c3c, 0x3c3c, \r
+          0x3c3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c0, 0x03c0, 0x0000, \r
+          0x03fc, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x3ffc, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0f00, 0x0f00, 0x0000, 0x0ff0, 0x0f00, 0x0f00, \r
+          0x0f00, 0x0f00, 0x0f0f, 0x0f0f, 0x03fc, 0x0000, 0x0000, 0x003f, \r
+          0x003c, 0x003c, 0x3c3c, 0x0f3c, 0x03fc, 0x0f3c, 0x3c3c, 0x3c3f, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x03c0, 0x03c0, 0x03c0, \r
+          0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x3ffc, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0fff, 0x3ccf, 0x3ccf, 0x3ccf, \r
+          0x3ccf, 0x3c0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x03ff, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, \r
+          0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0fcf, 0x3c3c, 0x3c3c, 0x3c3c, 0x3c3c, \r
+          0x0ffc, 0x003c, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x3cfc, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0ffc, 0x0f00, 0x3fc0, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f3f, 0x3f3c, 0x3cfc, \r
+          0x003c, 0x003c, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x03fc, 0x0f0f, 0x003c, 0x03c0, 0x0f0f, 0x03fc, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x003c, 0x0fff, \r
+          0x003c, 0x003c, 0x003c, 0x0f3c, 0x03f0, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, \r
+          0x0f0f, 0x3cfc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, 0x00f0, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c0f, 0x3c0f, \r
+          0x3ccf, 0x3ccf, 0x0f3c, 0x0f3c, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x3c0f, 0x0f3c, 0x03f0, 0x03f0, 0x0f3c, \r
+          0x3c0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x3c3c, 0x3c3c, 0x3c3c, 0x3c3c, 0x0ff0, 0x0f00, 0x03c0, 0x00ff, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fff, 0x0f03, 0x03c0, \r
+          0x003c, 0x0c0f, 0x0fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, \r
+          0x0f0f, 0x0f00, 0x03c0, 0x00f0, 0x00f0, 0x0000, 0x00f0, 0x00f0, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0f00, 0x03c0, 0x00f0, 0x003c, 0x003c, 0x003c, 0x00f0, \r
+          0x03c0, 0x0f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x003c, 0x00f0, \r
+          0x03c0, 0x0f00, 0x0f00, 0x0f00, 0x03c0, 0x00f0, 0x003c, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, 0x03f0, 0x0000, \r
+          0x0000, 0x03f0, 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, \r
+          0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x3ffc, 0x3ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x03c0, 0x03c0, 0x3ffc, 0x3ffc, \r
+          0x03c0, 0x03c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x3ffc, 0x0000, 0x0000, 0x3ffc, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, \r
+          0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+//0---------------------------\r
+          0x0000, 0x0ffc, 0x3c0f, 0x3f0f, 0x3fcf, 0x3ccf, 0x3cff, 0x3c3f, \r
+          0x3c0f, 0x0ffc, 0x0000, 0x0000, 0x0000, \r
+//1---------------------------        \r
+          0x0000, 0x00c0, 0x00f0, 0x00ff, 0x00f0, 0x00f0, 0x00f0, 0x00f0, \r
+          0x00f0, 0x0fff, 0x0000, 0x0000, 0x0000, \r
+//2---------------------------          \r
+          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f00, 0x03c0, 0x00f0, 0x003c, \r
+          0x0f0f, 0x0fff, 0x0000, 0x0000, 0x0000, \r
+//3---------------------------        \r
+          0x0000, 0x03fc, 0x0f0f, 0x0f00, 0x0f00, 0x03f0, 0x0f00, 0x0f00, \r
+          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, \r
+//4---------------------------\r
+          0x0000, 0x0f00, 0x0fc0, 0x0ff0, 0x0f3c, 0x0f0f, 0x3fff, 0x0f00, \r
+          0x0f00, 0x3fc0, 0x0000, 0x0000, 0x0000, \r
+//5---------------------------          \r
+          0x0000, 0x0fff, 0x000f, 0x000f, 0x000f, 0x03ff, 0x0f00, 0x0f00, \r
+          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, \r
+//6---------------------------          \r
+          0x0000, 0x03f0, 0x003c, 0x000f, 0x000f, 0x03ff, 0x0f0f, 0x0f0f, \r
+          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000,           \r
+//7---------------------------          \r
+          0x0000, 0x3fff, 0x3c0f, 0x3c0f, 0x3c00, 0x0f00, 0x03c0, 0x00f0, \r
+          0x00f0, 0x00f0, 0x0000, 0x0000, 0x0000, \r
+//8---------------------------          \r
+          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f3f, 0x03fc, 0x0fcf, 0x0f0f, \r
+          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, \r
+//9---------------------------          \r
+          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, 0x0ffc, 0x03c0, 0x03c0, \r
+          0x00f0, 0x00fc, 0x0000, 0x0000, 0x0000,          \r
+} ;\r
+\r
+        \r
+const unsigned int GrayScale_fonts[]= {\r
+          0x0000, 0x0aa8, 0x280a, 0x2a0a, 0x2a8a, 0x288a, 0x28aa, 0x282a, \r
+                 0x280a, 0x0aa8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x00a0,        \r
+          0x00aa, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x0aaa, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a00, 0x0280, \r
+          0x00a0, 0x0028, 0x0a0a, 0x0aaa, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x02a8, 0x0a0a, 0x0a00, 0x0a00, 0x02a0, 0x0a00, 0x0a00, 0x0a0a, \r
+          0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a00, 0x0a80, 0x0aa0, \r
+          0x0a28, 0x0a0a, 0x2aaa, 0x0a00, 0x0a00, 0x2a80, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0aaa, 0x000a, 0x000a, 0x000a, 0x02aa, 0x0a00, \r
+          0x0a00, 0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, \r
+          0x0028, 0x000a, 0x000a, 0x02aa, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x2aaa, 0x280a, 0x280a, 0x2800, \r
+          0x0a00, 0x0280, 0x00a0, 0x00a0, 0x00a0, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a2a, 0x02a8, 0x0a8a, 0x0a0a, \r
+          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, \r
+          0x0a0a, 0x0a0a, 0x0aa8, 0x0280, 0x0280, 0x00a0, 0x00a8, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x00a0, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, \r
+          0x0aaa, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0aaa, 0x2828, 0x2828, 0x2828, 0x0aa8, 0x2828, 0x2828, 0x2828, \r
+          0x0aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aa0, 0x2828, 0x280a, \r
+          0x000a, 0x000a, 0x000a, 0x280a, 0x2828, 0x0aa0, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x02aa, 0x0a28, 0x2828, 0x2828, 0x2828, 0x2828, \r
+          0x2828, 0x0a28, 0x02aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x2aaa, \r
+          0x2028, 0x0028, 0x0828, 0x0aa8, 0x0828, 0x0028, 0x2028, 0x2aaa, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x2aaa, 0x2828, 0x2028, 0x0828, \r
+          0x0aa8, 0x0828, 0x0028, 0x0028, 0x00aa, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0aa0, 0x2828, 0x280a, 0x000a, 0x000a, 0x2a0a, 0x280a, \r
+          0x2828, 0x2aa0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, \r
+          0x0a0a, 0x0a0a, 0x0aaa, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x02a8, 0x00a0, 0x00a0, 0x00a0, 0x00a0, \r
+          0x00a0, 0x00a0, 0x00a0, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x2a80, 0x0a00, 0x0a00, 0x0a00, 0x0a00, 0x0a0a, 0x0a0a, 0x0a0a, \r
+          0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x282a, 0x2828, 0x0a28, \r
+          0x0a28, 0x02a8, 0x0a28, 0x0a28, 0x2828, 0x282a, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x00aa, 0x0028, 0x0028, 0x0028, 0x0028, 0x2028, \r
+          0x2828, 0x2828, 0x2aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x280a, \r
+          0x2a2a, 0x2aaa, 0x2aaa, 0x288a, 0x280a, 0x280a, 0x280a, 0x280a, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x280a, 0x280a, 0x282a, 0x28aa, \r
+          0x2aaa, 0x2a8a, 0x2a0a, 0x280a, 0x280a, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x02a0, 0x0a28, 0x280a, 0x280a, 0x280a, 0x280a, 0x280a, \r
+          0x0a28, 0x02a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aaa, 0x2828, \r
+          0x2828, 0x2828, 0x0aa8, 0x0028, 0x0028, 0x0028, 0x00aa, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x02a0, 0x0a28, 0x280a, 0x280a, 0x280a, \r
+          0x2a0a, 0x2a8a, 0x0aa8, 0x0a00, 0x2a80, 0x0000, 0x0000, 0x0000, \r
+          0x0aaa, 0x2828, 0x2828, 0x2828, 0x0aa8, 0x0a28, 0x2828, 0x2828, \r
+          0x282a, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0a0a, \r
+          0x000a, 0x00a8, 0x0280, 0x0a0a, 0x0a0a, 0x02a8, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0aaa, 0x08a2, 0x00a0, 0x00a0, 0x00a0, 0x00a0, \r
+          0x00a0, 0x00a0, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, \r
+          0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, \r
+          0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, 0x00a0, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x280a, 0x280a, 0x280a, 0x280a, 0x288a, 0x288a, 0x0a28, \r
+          0x0a28, 0x0a28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, \r
+          0x0a0a, 0x02a8, 0x00a0, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, \r
+          0x00a0, 0x00a0, 0x00a0, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x2aaa, 0x2a0a, 0x0282, 0x0280, 0x00a0, 0x0028, 0x2028, 0x280a, \r
+          0x2aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x02a8, 0x0a00, 0x0aa8, 0x0a0a, 0x0a0a, 0x28a8, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x002a, 0x0028, 0x0028, 0x0aa8, 0x2828, 0x2828, \r
+          0x2828, 0x2828, 0x0a8a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x02a8, 0x0a0a, 0x000a, 0x000a, 0x0a0a, 0x02a8, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0a80, 0x0a00, 0x0a00, 0x0aa8, \r
+          0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x28a8, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0aaa, 0x000a, \r
+          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, 0x0a28, \r
+          0x0028, 0x0028, 0x02aa, 0x0028, 0x0028, 0x0028, 0x00aa, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28a8, 0x0a0a, \r
+          0x0a0a, 0x0a0a, 0x0aa8, 0x0a00, 0x0a0a, 0x02a8, 0x0000, 0x0000, \r
+          0x002a, 0x0028, 0x0028, 0x0a28, 0x28a8, 0x2828, 0x2828, 0x2828, \r
+          0x282a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0280, 0x0280, 0x0000, \r
+          0x02a8, 0x0280, 0x0280, 0x0280, 0x0280, 0x2aa8, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0a00, 0x0a00, 0x0000, 0x0aa0, 0x0a00, 0x0a00, \r
+          0x0a00, 0x0a00, 0x0a0a, 0x0a0a, 0x02a8, 0x0000, 0x0000, 0x002a, \r
+          0x0028, 0x0028, 0x2828, 0x0a28, 0x02a8, 0x0a28, 0x2828, 0x282a, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0280, 0x0280, 0x0280, \r
+          0x0280, 0x0280, 0x0280, 0x0280, 0x2aa8, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0aaa, 0x288a, 0x288a, 0x288a, \r
+          0x288a, 0x280a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x02aa, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, \r
+          0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0a8a, 0x2828, 0x2828, 0x2828, 0x2828, \r
+          0x0aa8, 0x0028, 0x00aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x28a8, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0aa8, 0x0a00, 0x2a80, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a2a, 0x2a28, 0x28a8, \r
+          0x0028, 0x0028, 0x00aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0028, 0x0280, 0x0a0a, 0x02a8, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0028, 0x0aaa, \r
+          0x0028, 0x0028, 0x0028, 0x0a28, 0x02a0, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, \r
+          0x0a0a, 0x28a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, 0x00a0, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x280a, 0x280a, \r
+          0x288a, 0x288a, 0x0a28, 0x0a28, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x280a, 0x0a28, 0x02a0, 0x02a0, 0x0a28, \r
+          0x280a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x2828, 0x2828, 0x2828, 0x2828, 0x0aa0, 0x0a00, 0x0280, 0x00aa, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aaa, 0x0a02, 0x0280, \r
+          0x0028, 0x080a, 0x0aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, \r
+          0x0a0a, 0x0a00, 0x0280, 0x00a0, 0x00a0, 0x0000, 0x00a0, 0x00a0, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0a00, 0x0280, 0x00a0, 0x0028, 0x0028, 0x0028, 0x00a0, \r
+          0x0280, 0x0a00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x00a0, \r
+          0x0280, 0x0a00, 0x0a00, 0x0a00, 0x0280, 0x00a0, 0x0028, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, 0x02a0, 0x0000, \r
+          0x0000, 0x02a0, 0x02a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, \r
+          0x02a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x2aa8, 0x2aa8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x0280, 0x0280, 0x2aa8, 0x2aa8, \r
+          0x0280, 0x0280, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x2aa8, 0x0000, 0x0000, 0x2aa8, 0x0000, 0x0000, \r
+          0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, \r
+          0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
+//0---------------------------\r
+          0x0000, 0x0aa8, 0x280a, 0x2a0a, 0x2a8a, 0x288a, 0x28aa, 0x282a, \r
+          0x280a, 0x0aa8, 0x0000, 0x0000, 0x0000, \r
+//1---------------------------        \r
+          0x0000, 0x0080, 0x00a0, 0x00aa, 0x00a0, 0x00a0, 0x00a0, 0x00a0, \r
+          0x00a0, 0x0aaa, 0x0000, 0x0000, 0x0000, \r
+//2---------------------------          \r
+          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a00, 0x0280, 0x00a0, 0x0028, \r
+          0x0a0a, 0x0aaa, 0x0000, 0x0000, 0x0000, \r
+//2---------------------------        \r
+          0x0000, 0x02a8, 0x0a0a, 0x0a00, 0x0a00, 0x02a0, 0x0a00, 0x0a00, \r
+          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, \r
+//4---------------------------\r
+          0x0000, 0x0a00, 0x0a80, 0x0aa0, 0x0a28, 0x0a0a, 0x2aaa, 0x0a00, \r
+          0x0a00, 0x2a80, 0x0000, 0x0000, 0x0000, \r
+//5---------------------------          \r
+          0x0000, 0x0aaa, 0x000a, 0x000a, 0x000a, 0x02aa, 0x0a00, 0x0a00, \r
+          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, \r
+//6---------------------------          \r
+          0x0000, 0x02a0, 0x0028, 0x000a, 0x000a, 0x02aa, 0x0a0a, 0x0a0a, \r
+          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000,           \r
+//7---------------------------          \r
+          0x0000, 0x2aaa, 0x280a, 0x280a, 0x2800, 0x0a00, 0x0280, 0x00a0, \r
+          0x00a0, 0x00a0, 0x0000, 0x0000, 0x0000, \r
+//8---------------------------          \r
+          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a2a, 0x02a8, 0x0a8a, 0x0a0a, \r
+          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, \r
+//9---------------------------          \r
+          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, 0x0aa8, 0x0280, 0x0280, \r
+          0x00a0, 0x00a8, 0x0000, 0x0000, 0x0000,          \r
+} ;\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.h b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.h
new file mode 100644 (file)
index 0000000..48239c9
--- /dev/null
@@ -0,0 +1,15 @@
+/*******************************************************************************\r
+    Filename: hal_lcd_fonts.h\r
+\r
+    Copyright 2010 Texas Instruments, Inc.\r
+***************************************************************************/\r
+#ifndef FONTS_H\r
+#define FONTS_H\r
+\r
+#define FONT_HEIGHT            12                    // Each character has 13 lines \r
+\r
+extern const unsigned char fonts_lookup[];\r
+extern const unsigned int fonts[];\r
+extern const unsigned int GrayScale_fonts[];\r
+\r
+#endif /* FONTS_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/ParTest.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/ParTest.c
new file mode 100644 (file)
index 0000000..3df92e8
--- /dev/null
@@ -0,0 +1,144 @@
+/*\r
+    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+       \r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\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 modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or 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
+/*-----------------------------------------------------------\r
+ * Simple parallel port IO routines to flash LEDs.\r
+ *-----------------------------------------------------------*/\r
+\r
+/* Kernel includes. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+\r
+/* Hardware includes. */\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+void vParTestInitialise( void )\r
+{\r
+       /* The port used by the two LEDs is configured from halBoardInit() so\r
+       nothing needs to be done here. */\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
+{\r
+       /* Only two LEDs are provided on the hardware. */\r
+       taskENTER_CRITICAL();\r
+       {\r
+               if( xValue != pdFALSE )\r
+               {\r
+                       switch( uxLED )\r
+                       {\r
+                               case 0: LED_PORT_OUT |= LED_1;\r
+                                               break;\r
+       \r
+                               case 1: LED_PORT_OUT |= LED_2;\r
+                                               break;\r
+                                               \r
+                               default: /* Nothing to do here, there are only two LEDs. */\r
+                                               break;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       switch( uxLED )\r
+                       {\r
+                               case 0: LED_PORT_OUT &= ~LED_1;\r
+                                               break;\r
+       \r
+                               case 1: LED_PORT_OUT &= ~LED_2;\r
+                                               break;\r
+                               default: /* Nothing to do here, there are only two LEDs. */\r
+                                               break;\r
+                       }\r
+               }\r
+       }\r
+       taskEXIT_CRITICAL();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
+{\r
+       taskENTER_CRITICAL();\r
+       {\r
+               switch( uxLED )\r
+               {\r
+                       case 0: if( ( LED_PORT_OUT & LED_1 ) == 0 )\r
+                                       {\r
+                                               LED_PORT_OUT |= LED_1;\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               LED_PORT_OUT &= ~LED_1;\r
+                                       }\r
+                                       break;\r
+\r
+                       case 1: if( ( LED_PORT_OUT & LED_2 ) == 0 )\r
+                                       {\r
+                                               LED_PORT_OUT |= LED_2;\r
+                                       }\r
+                                       else\r
+                                       {\r
+                                               LED_PORT_OUT &= ~LED_2;\r
+                                       }\r
+                                       break;\r
+                       default: /* Nothing to do here, there are only two LEDs. */\r
+                                       break;\r
+               }\r
+       }\r
+       taskEXIT_CRITICAL();\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/RegTest.asm b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/RegTest.asm
new file mode 100644 (file)
index 0000000..e72d83e
--- /dev/null
@@ -0,0 +1,200 @@
+;\r
+;/*\r
+;    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+;      \r
+;\r
+;    ***************************************************************************\r
+;     *                                                                       *\r
+;     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+;     *    Complete, revised, and edited pdf reference manuals are also       *\r
+;     *    available.                                                         *\r
+;     *                                                                       *\r
+;     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+;     *    ensuring you get running as quickly as possible and with an        *\r
+;     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+;     *    the FreeRTOS project to continue with its mission of providing     *\r
+;     *    professional grade, cross platform, de facto standard solutions    *\r
+;     *    for microcontrollers - completely free of charge!                  *\r
+;     *                                                                       *\r
+;     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+;     *                                                                       *\r
+;     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+;     *                                                                       *\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 modification to the GPL is included to allow you to\r
+;    distribute a combined work that includes FreeRTOS without being obliged to\r
+;    provide the source code for proprietary components outside of the FreeRTOS\r
+;    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+;    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+;    or 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
+; * The definition of the "register test" tasks, as described at the top of\r
+; * main.c\r
+\r
+       .include data_model.h\r
+\r
+       .if $DEFINED( __LARGE_DATA_MODEL__ )\r
+               .define "cmp.a", cmp_x\r
+               .define "incx.w", inc_x\r
+       .else\r
+               .define "cmp.w", cmp_x\r
+               .define "inc.w", inc_x\r
+       .endif\r
+\r
+\r
+       .global usRegTest1Counter\r
+       .global usRegTest2Counter\r
+       .global vPortYield\r
+       \r
+       .def vRegTest1Task\r
+       .def vRegTest2Task\r
+\r
+       .text\r
+       \r
+       .align 2\r
+vRegTest1Task: .asmfunc\r
+\r
+       ; Fill each general purpose register with a known value.\r
+       mov_x   #0x4444, r4\r
+       mov_x   #0x5555, r5\r
+       mov_x   #0x6666, r6\r
+       mov_x   #0x7777, r7\r
+       mov_x   #0x8888, r8\r
+       mov_x   #0x9999, r9\r
+       mov_x   #0xaaaa, r10\r
+       mov_x   #0xbbbb, r11\r
+       mov_x   #0xcccc, r12\r
+       mov_x   #0xdddd, r13\r
+       mov_x   #0xeeee, r14\r
+       mov_x   #0xffff, r15\r
+       \r
+prvRegTest1Loop:\r
+\r
+       ; Test each general purpose register to check that it still contains the\r
+       ; expected known value, jumping to vRegTest1Error if any register contains\r
+       ; an unexpected value.\r
+       cmp_x   #0x4444, r4\r
+       jne             vRegTest1Error\r
+       cmp_x   #0x5555, r5\r
+       jne             vRegTest1Error\r
+       cmp_x   #0x6666, r6\r
+       jne             vRegTest1Error\r
+       cmp_x   #0x7777, r7\r
+       jne             vRegTest1Error\r
+       cmp_x   #0x8888, r8\r
+       jne             vRegTest1Error\r
+       cmp_x   #0x9999, r9\r
+       jne             vRegTest1Error\r
+       cmp_x   #0xaaaa, r10\r
+       jne             vRegTest1Error\r
+       cmp_x   #0xbbbb, r11\r
+       jne             vRegTest1Error\r
+       cmp_x   #0xcccc, r12\r
+       jne             vRegTest1Error\r
+       cmp_x   #0xdddd, r13\r
+       jne             vRegTest1Error\r
+       cmp_x   #0xeeee, r14\r
+       jne             vRegTest1Error\r
+       cmp_x   #0xffff, r15\r
+       jne             vRegTest1Error\r
+       \r
+       ; This task is still running without jumping to vRegTest1Error, so increment\r
+       ; the loop counter so the check task knows the task is running error free.\r
+       inc_x   &usRegTest1Counter\r
+       \r
+       ; Loop again, performing the same tests.\r
+       jmp             prvRegTest1Loop\r
+       nop\r
+       \r
+vRegTest1Error:\r
+       jmp vRegTest1Error\r
+       nop\r
+       .endasmfunc     \r
+; -----------------------------------------------------------\r
+\r
+; See the comments in vRegTest1Task.  This task is the same, it just uses\r
+; different values in its registers.\r
+       .align 2\r
+vRegTest2Task: .asmfunc\r
+\r
+       mov_x   #0x4441, r4\r
+       mov_x   #0x5551, r5\r
+       mov_x   #0x6661, r6\r
+       mov_x   #0x7771, r7\r
+       mov_x   #0x8881, r8\r
+       mov_x   #0x9991, r9\r
+       mov_x   #0xaaa1, r10\r
+       mov_x   #0xbbb1, r11\r
+       mov_x   #0xccc1, r12\r
+       mov_x   #0xddd1, r13\r
+       mov_x   #0xeee1, r14\r
+       mov_x   #0xfff1, r15\r
+       \r
+prvRegTest2Loop:\r
+\r
+       cmp_x   #0x4441, r4\r
+       jne             vRegTest2Error\r
+       cmp_x   #0x5551, r5\r
+       jne             vRegTest2Error\r
+       cmp_x   #0x6661, r6\r
+       jne             vRegTest2Error\r
+       cmp_x   #0x7771, r7\r
+       jne             vRegTest2Error\r
+       cmp_x   #0x8881, r8\r
+       jne             vRegTest2Error\r
+       cmp_x   #0x9991, r9\r
+       jne             vRegTest2Error\r
+       cmp_x   #0xaaa1, r10\r
+       jne             vRegTest2Error\r
+       cmp_x   #0xbbb1, r11\r
+       jne             vRegTest2Error\r
+       cmp_x   #0xccc1, r12\r
+       jne             vRegTest2Error\r
+       cmp_x   #0xddd1, r13\r
+       jne             vRegTest2Error\r
+       cmp_x   #0xeee1, r14\r
+       jne             vRegTest2Error\r
+       cmp_x   #0xfff1, r15\r
+       jne             vRegTest2Error\r
+       \r
+       ; Also perform a manual yield, just to increase the scope of the test.\r
+       call_x  #vPortYield\r
+       \r
+       inc_x   &usRegTest2Counter\r
+       jmp             prvRegTest2Loop\r
+       nop\r
+\r
+       \r
+vRegTest2Error:\r
+       jmp vRegTest2Error\r
+       nop\r
+       .endasmfunc\r
+; /*-----------------------------------------------------------\r
+\r
+               \r
+       .end\r
+               \r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/RunTimeStatsConfig.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/RunTimeStatsConfig.c
new file mode 100644 (file)
index 0000000..2bffe24
--- /dev/null
@@ -0,0 +1,104 @@
+/*\r
+    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+       \r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\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 modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or 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
+/* FreeRTOS includes. */\r
+#include "FreeRTOS.h"\r
+\r
+/* Hardware includes. */\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+\r
+/* This demo uses Timer A1 to generate the time base for gathering run time\r
+statistics information.  Run time statistics show much processing time has\r
+been allocated to each task since the application booted. */\r
+\r
+/* The time base for the run time stats is generated by a 16 bit timer.  Each\r
+time the timer overflows ulStatsOverflowCount is incremented.  Therefore,\r
+when converting the total run time to a 32 bit number, the most significant two\r
+bytes are given by ulStatsOverflowCount and the least significant two bytes are\r
+given by the current timer counter value.  Care must be taken with data\r
+consistency when combining the two in case a timer overflow occurs as the\r
+value is being read. */\r
+volatile unsigned long ulStatsOverflowCount = 0;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+void vConfigureTimerForRunTimeStats( void )\r
+{\r
+       /* Ensure the timer is stopped. */\r
+       TA1CTL = 0;\r
+\r
+       /* Run the timer from the ACLK/2. */\r
+       TA1CTL = TASSEL_1 | ID__2;\r
+\r
+       /* Clear everything to start with. */\r
+       TA1CTL |= TACLR;\r
+\r
+       /* Enable the interrupts. */\r
+       TA1CCTL0 = CCIE;\r
+\r
+       /* Start up clean. */\r
+       TA1CTL |= TACLR;\r
+\r
+       /* Continuous mode. */\r
+       TA1CTL |= MC__CONTINOUS;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+#pragma vector=TIMER1_A0_VECTOR\r
+interrupt void prvRunTimeStatsOverflowISR( void )\r
+{\r
+       ulStatsOverflowCount++;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/main.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/main.c
new file mode 100644 (file)
index 0000000..90f1733
--- /dev/null
@@ -0,0 +1,670 @@
+/*\r
+    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+       \r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\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 modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or 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
+/*\r
+ * The documentation page for this demo available on http://www.FreeRTOS.org\r
+ * documents the hardware configuration required to run this demo.  It also\r
+ * provides more information on the expected demo application behaviour.\r
+ *\r
+ * main() creates all the demo application tasks, then starts the scheduler.\r
+ * A lot of the created tasks are from the pool of "standard demo" tasks.  The\r
+ * web documentation provides more details of the standard demo tasks, which\r
+ * provide no particular functionality but do provide good examples of how to\r
+ * use the FreeRTOS API.\r
+ *\r
+ * In addition to the standard demo tasks, the following tasks, interrupts tests\r
+ * and timers are defined and/or created within this file:\r
+ *\r
+ * "LCD" task - The LCD task is a 'gatekeeper' task.  It is the only task that\r
+ * is permitted to access the LCD and therefore ensures access to the LCD is\r
+ * always serialised and there are no mutual exclusion issues.  When a task or\r
+ * an interrupt wants to write to the LCD, it does not access the LCD directly\r
+ * but instead sends the message to the LCD task.  The LCD task then performs\r
+ * the actual LCD output.  This mechanism also allows interrupts to, in effect,\r
+ * write to the LCD by sending messages to the LCD task.\r
+ *\r
+ * The LCD task is also a demonstration of a 'controller' task design pattern.\r
+ * Some tasks do not actually send a string to the LCD task directly, but\r
+ * instead send a command that is interpreted by the LCD task.  In a normal\r
+ * application these commands can be control values or set points, in this\r
+ * simple example the commands just result in messages being displayed on the\r
+ * LCD.\r
+ *\r
+ * "Button Poll" task - This task polls the state of the 'up' key on the\r
+ * joystick input device.  It uses the vTaskDelay() API function to control\r
+ * the poll rate to ensure debouncing is not necessary and that the task does\r
+ * not use all the available CPU processing time.\r
+ *\r
+ * Button Interrupt - The select button on the joystick input device is \r
+ * configured to generate an external interrupt.  The handler for this interrupt \r
+ * sends a message to LCD task, which then prints out a string to say the \r
+ * joystick select button was pressed.\r
+ *\r
+ * Idle Hook - The idle hook is a function that is called on each iteration of\r
+ * the idle task.  In this case it is used to place the processor into a low\r
+ * power mode.  Note however that this application is implemented using standard\r
+ * components, and is therefore not optimised for low power operation.  Lower\r
+ * power consumption would be achieved by converting polling tasks into event\r
+ * driven tasks, and slowing the tick interrupt frequency, etc.\r
+ *\r
+ * "Check" callback function - Called each time the 'check' timer expires.  The\r
+ * check timer executes every five seconds.  Its main function is to check that \r
+ * all the standard demo tasks are still operational.  Each time it executes it \r
+ * sends a status code to the LCD task.  The LCD task interprets the code and \r
+ * displays an appropriate message - which will be PASS if no tasks have \r
+ * reported any errors, or a message stating which task has reported an error.\r
+ *\r
+ * "Reg test" tasks - These fill the registers with known values, then check\r
+ * that each register still contains its expected value.  Each task uses\r
+ * different values.  The tasks run with very low priority so get preempted\r
+ * very frequently.  A check variable is incremented on each iteration of the\r
+ * test loop.  A register containing an unexpected value is indicative of an\r
+ * error in the context switching mechanism and will result in a branch to a\r
+ * null loop - which in turn will prevent the check variable from incrementing\r
+ * any further and allow the check timer callback (described a above) to \r
+ * determine that an error has occurred.  The nature of the reg test tasks \r
+ * necessitates that they are written in assembly code.\r
+ *\r
+ * Tick hook function - called inside the RTOS tick function, this simple \r
+ * example does nothing but toggle an LED.\r
+ *\r
+ * *NOTE 1* vApplicationSetupTimerInterrupt() is called by the kernel to let\r
+ * the application set up a timer to generate the tick interrupt.  In this\r
+ * example a timer A0 is used for this purpose.\r
+ *\r
+*/\r
+\r
+/* Standard includes. */\r
+#include <stdio.h>\r
+\r
+/* FreeRTOS includes. */\r
+#include "FreeRTOS.h"\r
+#include "task.h"\r
+#include "timers.h"\r
+#include "queue.h"\r
+\r
+/* Hardware includes. */\r
+#include "msp430.h"\r
+#include "hal_MSP-EXP430F5438.h"\r
+\r
+/* Standard demo includes. */\r
+#include "ParTest.h"\r
+#include "dynamic.h"\r
+#include "comtest2.h"\r
+#include "GenQTest.h"\r
+#include "TimerDemo.h"\r
+#include "countsem.h"\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 ulMessageValue 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
+#define mainERROR_REG_TEST                             ( pdPASS + 4 )\r
+#define mainERROR_TIMER_TEST                   ( pdPASS + 5 )\r
+#define mainERROR_COUNT_SEM_TEST               ( pdPASS + 6 )\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
+/* Priorities used by the test and demo tasks. */\r
+#define mainLCD_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
+#define mainCOM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 2 )\r
+#define mainGENERIC_QUEUE_TEST_PRIORITY        ( tskIDLE_PRIORITY )\r
+\r
+/* The LED used by the comtest tasks. See the comtest.c file for more\r
+information.  */\r
+#define mainCOM_TEST_LED                               ( 1 )\r
+\r
+/* The baud rate used by the comtest tasks. */\r
+#define mainCOM_TEST_BAUD_RATE                 ( 38400 )\r
+\r
+/* The maximum number of lines of text that can be displayed on the LCD. */\r
+#define mainMAX_LCD_LINES                              ( 8 )\r
+\r
+/* Just used to ensure parameters are passed into tasks correctly. */\r
+#define mainTASK_PARAMETER_CHECK_VALUE ( ( void * ) 0xDEAD )\r
+\r
+/* The base period used by the timer test tasks. */\r
+#define mainTIMER_TEST_PERIOD                  ( 50 )\r
+\r
+/* The frequency at which the check timer (described in the comments at the top\r
+of this file) will call its callback function. */\r
+#define mainCHECK_TIMER_PERIOD                 ( 5000UL / ( unsigned long ) portTICK_RATE_MS )\r
+\r
+/* Misc. */\r
+#define mainDONT_BLOCK                                 ( 0 )\r
+/*-----------------------------------------------------------*/\r
+\r
+/*\r
+ * The reg test tasks as described at the top of this file.\r
+ */\r
+extern void vRegTest1Task( void *pvParameters );\r
+extern void vRegTest2Task( void *pvParameters );\r
+\r
+/*\r
+ * Configures clocks, LCD, port pints, etc. necessary to execute this demo.\r
+ */\r
+static void prvSetupHardware( void );\r
+\r
+/*\r
+ * Definition of the LCD/controller task described in the comments at the top\r
+ * of this file.\r
+ */\r
+static void prvLCDTask( void *pvParameters );\r
+\r
+/*\r
+ * Definition of the button poll task described in the comments at the top of\r
+ * this file.\r
+ */\r
+static void prvButtonPollTask( void *pvParameters );\r
+\r
+/*\r
+ * Converts a status message value into an appropriate string for display on\r
+ * the LCD.  The string is written to pcBuffer.\r
+ */\r
+static void prvGenerateStatusMessage( char *pcBuffer, unsigned long ulStatusValue );\r
+\r
+/*\r
+ * Defines the 'check' functionality as described at the top of this file.  This\r
+ * function is the callback function for the 'check' timer. */\r
+static void vCheckTimerCallback( xTimerHandle xTimer );\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+/* Variables that are incremented on each iteration of the reg test tasks -\r
+provided the tasks have not reported any errors.  The check task inspects these\r
+variables to ensure they are still incrementing as expected.  If a variable\r
+stops incrementing then it is likely that its associate task has stalled. */\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 'check' timer, as described at the top of this file. */\r
+static xTimerHandle xCheckTimer = 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
+       unsigned long ulMessageValue;   /* << States the message value (can be an integer, string pointer, etc. depending on the value of cMessageID). */\r
+} xQueueMessage;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+void main( void )\r
+{\r
+       /* Configure the peripherals used by this demo application.  This includes\r
+       configuring the joystick input select button to generate interrupts. */\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 the queue could not be created then don't create any tasks that might\r
+       attempt to use the queue. */\r
+       if( xLCDQueue != NULL )\r
+       {\r
+               /* Create the standard demo tasks. */\r
+               vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED );\r
+               vStartDynamicPriorityTasks();\r
+               vStartGenericQueueTasks( mainGENERIC_QUEUE_TEST_PRIORITY );\r
+               vStartCountingSemaphoreTasks();\r
+               \r
+               /* Note that creating the timer test/demo tasks will fill the timer\r
+               command queue.  This is intentional, and forms part of the test the tasks\r
+               perform.  It does mean however that, after this function is called, no\r
+               more timer commands can be sent until after the scheduler has been\r
+               started (at which point the timer daemon will drained the timer command\r
+               queue, freeing up space for more commands to be received). */\r
+               vStartTimerDemoTask( mainTIMER_TEST_PERIOD );\r
+               \r
+               /* Create the LCD, button poll and register test tasks, as described at\r
+               the top of this file. */\r
+               xTaskCreate( prvLCDTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE * 2, mainTASK_PARAMETER_CHECK_VALUE, mainLCD_TASK_PRIORITY, NULL );\r
+               xTaskCreate( prvButtonPollTask, ( signed char * ) "BPoll", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
+               xTaskCreate( vRegTest1Task, ( signed char * ) "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
+               xTaskCreate( vRegTest2Task, ( signed char * ) "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
+\r
+               /* Create the 'check' timer - the timer that periodically calls the\r
+               check function as described at the top of this file.  Note that, for\r
+               the reasons stated in the comments above the call to \r
+               vStartTimerDemoTask(), that the check timer is not actually started \r
+               until after the scheduler has been started. */\r
+               xCheckTimer = xTimerCreate( ( const signed char * ) "Check timer", mainCHECK_TIMER_PERIOD, pdTRUE, ( void * ) 0, vCheckTimerCallback ); \r
+\r
+               /* Start the scheduler. */\r
+               vTaskStartScheduler();\r
+       }\r
+\r
+       /* If all is well then this line will never be reached.  If it is reached\r
+       then it is likely that there was insufficient (FreeRTOS) heap memory space\r
+       to create the idle task.  This may have been trapped by the malloc() failed\r
+       hook function, if one is configured. */ \r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvLCDTask( 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[ 50 ];\r
+unsigned char ucLine = 1;\r
+\r
+       /* Now the scheduler has been started (it must have been for this task to\r
+       be running), start the check timer too.  The call to xTimerStart() will\r
+       block until the command has been accepted. */\r
+       if( xCheckTimer != NULL )\r
+       {\r
+               xTimerStart( xCheckTimer, portMAX_DELAY );\r
+       }\r
+\r
+       /* This is 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
+       is done after a short delay to ensure all the demo tasks have created all\r
+       the objects they are going to use.  */\r
+       vTaskDelay( mainTIMER_TEST_PERIOD * 10 );\r
+       sprintf( cBuffer, "%d heap free", ( int ) xPortGetFreeHeapSize() );\r
+       halLcdPrintLine( cBuffer, ucLine, OVERWRITE_TEXT );\r
+       ucLine++;\r
+       \r
+       /* Just as a test of the port, and for no functional reason, check the task\r
+       parameter contains its expected value. */\r
+       if( pvParameters != mainTASK_PARAMETER_CHECK_VALUE )\r
+       {\r
+               halLcdPrintLine( "Invalid parameter", ucLine, OVERWRITE_TEXT );\r
+               ucLine++;               \r
+       }\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
+               /* Clear the LCD if no room remains for any more text output. */\r
+               if( ucLine > mainMAX_LCD_LINES )\r
+               {\r
+                       halLcdClearScreen();\r
+                       ucLine = 0;\r
+               }\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", ( int ) xReceivedMessage.ulMessageValue );\r
+                                                                                               break;\r
+\r
+                       case mainMESSAGE_BUTTON_SEL             :       /* The select button interrupt\r
+                                                                                               just informed this task that the\r
+                                                                                               select button has been pressed.\r
+                                                                                               In this case the pointer to the \r
+                                                                                               string to print is sent directly \r
+                                                                                               in the ulMessageValue member of \r
+                                                                                               the     message.  This just \r
+                                                                                               demonstrates a different \r
+                                                                                               communication technique. */\r
+                                                                                               sprintf( cBuffer, "%s", ( char * ) xReceivedMessage.ulMessageValue );\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.ulMessageValue );\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, then move onto the next line ready for the next\r
+               message to arrive on the queue. */\r
+               halLcdPrintLine( cBuffer, ucLine,  OVERWRITE_TEXT );\r
+               ucLine++;\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvGenerateStatusMessage( char *pcBuffer, unsigned long ulStatusValue )\r
+{\r
+       /* Just a utility function to convert a status value into a meaningful\r
+       string for output onto the LCD. */\r
+       switch( ulStatusValue )\r
+       {\r
+               case pdPASS                                             :       sprintf( pcBuffer, "Status = PASS" );\r
+                                                                                       break;\r
+               case mainERROR_DYNAMIC_TASKS    :       sprintf( pcBuffer, "Err: Dynamic tsks" );\r
+                                                                                       break;\r
+               case mainERROR_COM_TEST                 :       sprintf( pcBuffer, "Err: COM test" );\r
+                                                                                       break;\r
+               case mainERROR_GEN_QUEUE_TEST   :       sprintf( pcBuffer, "Error: Gen Q test" );\r
+                                                                                       break;\r
+               case mainERROR_REG_TEST                 :       sprintf( pcBuffer, "Error: Reg test" );\r
+                                                                                       break;\r
+               case mainERROR_TIMER_TEST               :       sprintf( pcBuffer, "Error: Tmr test" );\r
+                                                                                       break;\r
+               case mainERROR_COUNT_SEM_TEST   :       sprintf( pcBuffer, "Error: Count sem" );\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
+               \r
+               if( ucState != 0 )\r
+               {\r
+                       /* The button was pressed. */\r
+                       ucState = pdTRUE;\r
+               }\r
+               \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.ulMessageValue = ( unsigned long ) 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 vCheckTimerCallback( xTimerHandle xTimer )\r
+{\r
+static unsigned short usLastRegTest1Counter = 0, usLastRegTest2Counter = 0;\r
+\r
+/* Define the status message that is sent to the LCD task.  By default the\r
+status is PASS. */\r
+static xQueueMessage xStatusMessage = { mainMESSAGE_STATUS, pdPASS };\r
+\r
+       /* This is the callback function used by the 'check' timer, as described\r
+       at the top of this file. */\r
+\r
+       /* The parameter is not used. */\r
+       ( void ) xTimer;\r
+       \r
+       /* See if the standard demo tasks are executing as expected, changing\r
+       the message that is sent to the LCD task from PASS to an error code if\r
+       any tasks set reports an error. */\r
+       if( xAreComTestTasksStillRunning() != pdPASS )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_COM_TEST;\r
+       }\r
+\r
+       if( xAreDynamicPriorityTasksStillRunning() != pdPASS )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_DYNAMIC_TASKS;\r
+       }\r
+       \r
+       if( xAreGenericQueueTasksStillRunning() != pdPASS )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_GEN_QUEUE_TEST;\r
+       }                       \r
+       \r
+       if( xAreCountingSemaphoreTasksStillRunning() != pdPASS )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_COUNT_SEM_TEST;\r
+       }\r
+       \r
+       if( xAreTimerDemoTasksStillRunning( ( portTickType ) mainCHECK_TIMER_PERIOD ) != pdPASS )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_TIMER_TEST;\r
+       }\r
+\r
+       /* Check the reg test tasks are still cycling.  They will stop\r
+       incrementing their loop counters if they encounter an error. */\r
+       if( usRegTest1Counter == usLastRegTest1Counter )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_REG_TEST;\r
+       }\r
+\r
+       if( usRegTest2Counter == usLastRegTest2Counter )\r
+       {\r
+               xStatusMessage.ulMessageValue = mainERROR_REG_TEST;\r
+       }\r
+\r
+       usLastRegTest1Counter = usRegTest1Counter;\r
+       usLastRegTest2Counter = usRegTest2Counter;\r
+       \r
+       /* This is called from a timer callback so must not block! */\r
+       xQueueSendToBack( xLCDQueue, &xStatusMessage, mainDONT_BLOCK );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvSetupHardware( void )\r
+{\r
+       taskDISABLE_INTERRUPTS();\r
+       \r
+       /* Disable the watchdog. */\r
+       WDTCTL = WDTPW + WDTHOLD;\r
+  \r
+       halBoardInit();\r
+\r
+       LFXT_Start( XT1DRIVE_0 );\r
+       hal430SetSystemClock( configCPU_CLOCK_HZ, configLFXT_CLOCK_HZ );\r
+\r
+       halButtonsInit( BUTTON_ALL );\r
+       halButtonsInterruptEnable( BUTTON_SELECT );\r
+\r
+       /* Initialise the LCD, but note that the backlight is not used as the\r
+       library function uses timer A0 to modulate the backlight, and this file\r
+       defines vApplicationSetupTimerInterrupt() to also use timer A0 to generate\r
+       the tick interrupt.  If the backlight is required, then change either the\r
+       halLCD library or vApplicationSetupTimerInterrupt() to use a different\r
+       timer.  Timer A1 is used for the run time stats time base6. */\r
+       halLcdInit();\r
+       halLcdSetContrast( 100 );\r
+       halLcdClearScreen();\r
+       \r
+       halLcdPrintLine( " www.FreeRTOS.org", 0,  OVERWRITE_TEXT );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+\r
+void vApplicationTickHook( void )\r
+{\r
+static unsigned long ulCounter = 0;\r
+\r
+       /* Is it time to toggle the LED again? */\r
+       ulCounter++;\r
+\r
+       /* Just periodically toggle an LED to show that the tick interrupt is\r
+       running.  Note that this access LED_PORT_OUT in a non-atomic way, so tasks\r
+       that access the same port must do so from a critical section. */\r
+       if( ( ulCounter & 0xff ) == 0 )\r
+       {\r
+               if( ( LED_PORT_OUT & LED_1 ) == 0 )\r
+               {\r
+                       LED_PORT_OUT |= LED_1;\r
+               }\r
+               else\r
+               {\r
+                       LED_PORT_OUT &= ~LED_1;\r
+               }\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+#pragma vector=PORT2_VECTOR\r
+interrupt void prvSelectButtonInterrupt( void )\r
+{\r
+/* Define the message sent to the LCD task from this interrupt. */\r
+static const xQueueMessage xMessage = { mainMESSAGE_BUTTON_SEL, ( unsigned long ) "Select Interrupt" };\r
+portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
+\r
+       /* This is the interrupt handler for the joystick select button input.\r
+       The button has been pushed, write a message to the LCD via the LCD task. */\r
+       xQueueSendFromISR( xLCDQueue, &xMessage, &xHigherPriorityTaskWoken );\r
+\r
+       P2IFG = 0;\r
+       \r
+       /* If writing to xLCDQueue caused a task to unblock, and the unblocked task\r
+       has a priority equal to or above the task that this interrupt interrupted,\r
+       then lHigherPriorityTaskWoken will have been set to pdTRUE internally within\r
+       xQueuesendFromISR(), and portEND_SWITCHING_ISR() will ensure that this\r
+       interrupt returns directly to the higher priority unblocked task. */\r
+       portYIELD_FROM_ISR( xHigherPriorityTaskWoken );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+/* The MSP430X port uses this callback function to configure its tick interrupt.\r
+This allows the application to choose the tick interrupt source.\r
+configTICK_VECTOR must also be set in FreeRTOSConfig.h to the correct\r
+interrupt vector for the chosen tick interrupt source.  This implementation of\r
+vApplicationSetupTimerInterrupt() generates the tick from timer A0, so in this\r
+case configTICK_VECTOR is set to TIMER0_A0_VECTOR. */\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 from 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 vApplicationIdleHook( void )\r
+{\r
+       /* Called on each iteration of the idle task.  In this case the idle task\r
+       just enters a low(ish) power mode. */\r
+       __bis_SR_register( LPM1_bits + GIE );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationMallocFailedHook( void )\r
+{\r
+       /* Called if a call to pvPortMalloc() fails because there is insufficient\r
+       free memory available in the FreeRTOS heap.  pvPortMalloc() is called\r
+       internally by FreeRTOS API functions that create tasks, queues or\r
+       semaphores. */\r
+       taskDISABLE_INTERRUPTS();\r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName )\r
+{\r
+       ( void ) pxTask;\r
+       ( void ) pcTaskName;\r
+       \r
+       /* Run time stack overflow checking is performed if\r
+       configconfigCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook\r
+       function is called if a stack overflow is detected. */\r
+       taskDISABLE_INTERRUPTS();\r
+       for( ;; );\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/printf-stdarg.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/printf-stdarg.c
new file mode 100644 (file)
index 0000000..b5ac41b
--- /dev/null
@@ -0,0 +1,293 @@
+/*\r
+       Copyright 2001, 2002 Georges Menie (www.menie.org)\r
+       stdarg version contributed by Christian Ettinger\r
+\r
+    This program is free software; you can redistribute it and/or modify\r
+    it under the terms of the GNU Lesser General Public License as published by\r
+    the Free Software Foundation; either version 2 of the License, or\r
+    (at your option) any later version.\r
+\r
+    This program is distributed in the hope that it will be useful,\r
+    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+    GNU Lesser General Public License for more details.\r
+\r
+    You should have received a copy of the GNU Lesser General Public License\r
+    along with this program; if not, write to the Free Software\r
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+*/\r
+\r
+/*\r
+       putchar is the only external dependency for this file,\r
+       if you have a working putchar, leave it commented out.\r
+       If not, uncomment the define below and\r
+       replace outbyte(c) by your own function call.\r
+\r
+*/\r
+\r
+#define putchar(c) c\r
+\r
+#include <stdarg.h>\r
+\r
+static void printchar(char **str, int c)\r
+{\r
+       //extern int putchar(int c);\r
+       \r
+       if (str) {\r
+               **str = (char)c;\r
+               ++(*str);\r
+       }\r
+       else\r
+       { \r
+               (void)putchar(c);\r
+       }\r
+}\r
+\r
+#define PAD_RIGHT 1\r
+#define PAD_ZERO 2\r
+\r
+static int prints(char **out, const char *string, int width, int pad)\r
+{\r
+       register int pc = 0, padchar = ' ';\r
+\r
+       if (width > 0) {\r
+               register int len = 0;\r
+               register const char *ptr;\r
+               for (ptr = string; *ptr; ++ptr) ++len;\r
+               if (len >= width) width = 0;\r
+               else width -= len;\r
+               if (pad & PAD_ZERO) padchar = '0';\r
+       }\r
+       if (!(pad & PAD_RIGHT)) {\r
+               for ( ; width > 0; --width) {\r
+                       printchar (out, padchar);\r
+                       ++pc;\r
+               }\r
+       }\r
+       for ( ; *string ; ++string) {\r
+               printchar (out, *string);\r
+               ++pc;\r
+       }\r
+       for ( ; width > 0; --width) {\r
+               printchar (out, padchar);\r
+               ++pc;\r
+       }\r
+\r
+       return pc;\r
+}\r
+\r
+/* the following should be enough for 32 bit int */\r
+#define PRINT_BUF_LEN 12\r
+\r
+static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase)\r
+{\r
+       char print_buf[PRINT_BUF_LEN];\r
+       register char *s;\r
+       register int t, neg = 0, pc = 0;\r
+       register unsigned int u = (unsigned int)i;\r
+\r
+       if (i == 0) {\r
+               print_buf[0] = '0';\r
+               print_buf[1] = '\0';\r
+               return prints (out, print_buf, width, pad);\r
+       }\r
+\r
+       if (sg && b == 10 && i < 0) {\r
+               neg = 1;\r
+               u = (unsigned int)-i;\r
+       }\r
+\r
+       s = print_buf + PRINT_BUF_LEN-1;\r
+       *s = '\0';\r
+\r
+       while (u) {\r
+               t = (unsigned int)u % b;\r
+               if( t >= 10 )\r
+                       t += letbase - '0' - 10;\r
+               *--s = (char)(t + '0');\r
+               u /= b;\r
+       }\r
+\r
+       if (neg) {\r
+               if( width && (pad & PAD_ZERO) ) {\r
+                       printchar (out, '-');\r
+                       ++pc;\r
+                       --width;\r
+               }\r
+               else {\r
+                       *--s = '-';\r
+               }\r
+       }\r
+\r
+       return pc + prints (out, s, width, pad);\r
+}\r
+\r
+static int print( char **out, const char *format, va_list args )\r
+{\r
+       register int width, pad;\r
+       register int pc = 0;\r
+       char scr[2];\r
+\r
+       for (; *format != 0; ++format) {\r
+               if (*format == '%') {\r
+                       ++format;\r
+                       width = pad = 0;\r
+                       if (*format == '\0') break;\r
+                       if (*format == '%') goto out;\r
+                       if (*format == '-') {\r
+                               ++format;\r
+                               pad = PAD_RIGHT;\r
+                       }\r
+                       while (*format == '0') {\r
+                               ++format;\r
+                               pad |= PAD_ZERO;\r
+                       }\r
+                       for ( ; *format >= '0' && *format <= '9'; ++format) {\r
+                               width *= 10;\r
+                               width += *format - '0';\r
+                       }\r
+                       if( *format == 's' ) {\r
+                               register char *s = (char *)va_arg( args, int );\r
+                               pc += prints (out, s?s:"(null)", width, pad);\r
+                               continue;\r
+                       }\r
+                       if( *format == 'd' ) {\r
+                               pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'x' ) {\r
+                               pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'X' ) {\r
+                               pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'u' ) {\r
+                               pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a');\r
+                               continue;\r
+                       }\r
+                       if( *format == 'c' ) {\r
+                               /* char are converted to int then pushed on the stack */\r
+                               scr[0] = (char)va_arg( args, int );\r
+                               scr[1] = '\0';\r
+                               pc += prints (out, scr, width, pad);\r
+                               continue;\r
+                       }\r
+               }\r
+               else {\r
+               out:\r
+                       printchar (out, *format);\r
+                       ++pc;\r
+               }\r
+       }\r
+       if (out) **out = '\0';\r
+       va_end( args );\r
+       return pc;\r
+}\r
+\r
+int printf(const char *format, ...)\r
+{\r
+        va_list args;\r
+        \r
+        va_start( args, format );\r
+        return print( 0, format, args );\r
+}\r
+\r
+int sprintf(char *out, const char *format, ...)\r
+{\r
+        va_list args;\r
+        \r
+        va_start( args, format );\r
+        return print( &out, format, args );\r
+}\r
+\r
+\r
+int snprintf( char *buf, unsigned int count, const char *format, ... )\r
+{\r
+        va_list args;\r
+        \r
+        ( void ) count;\r
+        \r
+        va_start( args, format );\r
+        return print( &buf, format, args );\r
+}\r
+\r
+\r
+#ifdef TEST_PRINTF\r
+int main(void)\r
+{\r
+       char *ptr = "Hello world!";\r
+       char *np = 0;\r
+       int i = 5;\r
+       unsigned int bs = sizeof(int)*8;\r
+       int mi;\r
+       char buf[80];\r
+\r
+       mi = (1 << (bs-1)) + 1;\r
+       printf("%s\n", ptr);\r
+       printf("printf test\n");\r
+       printf("%s is null pointer\n", np);\r
+       printf("%d = 5\n", i);\r
+       printf("%d = - max int\n", mi);\r
+       printf("char %c = 'a'\n", 'a');\r
+       printf("hex %x = ff\n", 0xff);\r
+       printf("hex %02x = 00\n", 0);\r
+       printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3);\r
+       printf("%d %s(s)%", 0, "message");\r
+       printf("\n");\r
+       printf("%d %s(s) with %%\n", 0, "message");\r
+       sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf);\r
+       sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf);\r
+       sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf);\r
+       sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf);\r
+       sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf);\r
+       sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf);\r
+       sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf);\r
+       sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf);\r
+\r
+       return 0;\r
+}\r
+\r
+/*\r
+ * if you compile this file with\r
+ *   gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c\r
+ * you will get a normal warning:\r
+ *   printf.c:214: warning: spurious trailing `%' in format\r
+ * this line is testing an invalid % at the end of the format string.\r
+ *\r
+ * this should display (on 32bit int machine) :\r
+ *\r
+ * Hello world!\r
+ * printf test\r
+ * (null) is null pointer\r
+ * 5 = 5\r
+ * -2147483647 = - max int\r
+ * char a = 'a'\r
+ * hex ff = ff\r
+ * hex 00 = 00\r
+ * signed -3 = unsigned 4294967293 = hex fffffffd\r
+ * 0 message(s)\r
+ * 0 message(s) with %\r
+ * justif: "left      "\r
+ * justif: "     right"\r
+ *  3: 0003 zero padded\r
+ *  3: 3    left justif.\r
+ *  3:    3 right justif.\r
+ * -3: -003 zero padded\r
+ * -3: -3   left justif.\r
+ * -3:   -3 right justif.\r
+ */\r
+\r
+#endif\r
+\r
+\r
+/* To keep linker happy. */\r
+int    write( int i, char* c, int n)\r
+{\r
+       (void)i;\r
+       (void)n;\r
+       (void)c;\r
+       return 0;\r
+}\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/serial.c b/Demo/MSP430X_MSP430F5438_CCS/Demo_Source/serial.c
new file mode 100644 (file)
index 0000000..759e284
--- /dev/null
@@ -0,0 +1,208 @@
+/*\r
+    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
+       \r
+\r
+    ***************************************************************************\r
+     *                                                                       *\r
+     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
+     *    Complete, revised, and edited pdf reference manuals are also       *\r
+     *    available.                                                         *\r
+     *                                                                       *\r
+     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
+     *    ensuring you get running as quickly as possible and with an        *\r
+     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
+     *    the FreeRTOS project to continue with its mission of providing     *\r
+     *    professional grade, cross platform, de facto standard solutions    *\r
+     *    for microcontrollers - completely free of charge!                  *\r
+     *                                                                       *\r
+     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
+     *                                                                       *\r
+     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
+     *                                                                       *\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 modification to the GPL is included to allow you to\r
+    distribute a combined work that includes FreeRTOS without being obliged to\r
+    provide the source code for proprietary components outside of the FreeRTOS\r
+    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
+    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
+    or 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
+\r
+/* BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER.\r
+ *\r
+ * This is not a proper UART driver.  It only supports one port, uses loopback\r
+ * mode, and is used to test interrupts that use the FreeRTOS API as part of \r
+ * a wider test suite.  Nor is it intended to show an efficient implementation\r
+ * of a UART interrupt service routine as queues are used to pass individual\r
+ * characters one at a time!\r
+ */\r
+\r
+/* Standard includes. */\r
+#include <stdlib.h>\r
+\r
+/* Scheduler includes. */\r
+#include "FreeRTOS.h"\r
+#include "queue.h"\r
+#include "task.h"\r
+\r
+/* Demo application includes. */\r
+#include "serial.h"\r
+\r
+/* Misc. constants. */\r
+#define serNO_BLOCK                            ( ( portTickType ) 0 )\r
+\r
+/* The queue used to hold received characters. */\r
+static xQueueHandle xRxedChars;\r
+\r
+/* The queue used to hold characters waiting transmission. */\r
+static xQueueHandle xCharsForTx;\r
+\r
+/*-----------------------------------------------------------*/\r
+\r
+xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )\r
+{\r
+unsigned portLONG ulBaudRateCount;\r
+\r
+       /* Initialise the hardware. */\r
+\r
+       /* Generate the baud rate constants for the wanted baud rate. */\r
+       ulBaudRateCount = configCPU_CLOCK_HZ / ulWantedBaud;\r
+\r
+       portENTER_CRITICAL();\r
+       {\r
+               /* Create the queues used by the com test task. */\r
+               xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
+               xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
+\r
+               /* Reset UART. */\r
+               UCA1CTL1 |= UCSWRST;\r
+\r
+               /* Use SMCLK. */\r
+               UCA1CTL1 = UCSSEL0 | UCSSEL1;\r
+               \r
+               /* Setup baud rate low byte. */\r
+               UCA1BR0 = ( unsigned portCHAR ) ( ulBaudRateCount & ( unsigned long ) 0xff );\r
+\r
+               /* Setup baud rate high byte. */\r
+               ulBaudRateCount >>= 8UL;\r
+               UCA1BR1 = ( unsigned portCHAR ) ( ulBaudRateCount & ( unsigned long ) 0xff );\r
+\r
+               /* UCLISTEN sets loopback mode! */\r
+               UCA1STAT = UCLISTEN;\r
+\r
+               /* Enable interrupts. */\r
+               UCA1IE |= UCRXIE;\r
+               \r
+               /* Take out of reset. */\r
+               UCA1CTL1 &= ~UCSWRST;\r
+       }\r
+       portEXIT_CRITICAL();\r
+       \r
+       /* Note the comments at the top of this file about this not being a generic\r
+       UART driver. */\r
+       return NULL;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )\r
+{\r
+       /* Get the next character from the buffer.  Return false if no characters\r
+       are available, or arrive before xBlockTime expires. */\r
+       if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )\r
+       {\r
+               return pdTRUE;\r
+       }\r
+       else\r
+       {\r
+               return pdFALSE;\r
+       }\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )\r
+{\r
+signed portBASE_TYPE xReturn;\r
+\r
+       /* Send the next character to the queue of characters waiting transmission,\r
+       then enable the UART Tx interrupt, just in case UART transmission has already\r
+       completed and switched itself off. */\r
+       xReturn = xQueueSend( xCharsForTx, &cOutChar, xBlockTime );\r
+       UCA1IE |= UCTXIE;\r
+       \r
+       return xReturn;\r
+}\r
+/*-----------------------------------------------------------*/\r
+\r
+/* The implementation of this interrupt is provided to demonstrate the use\r
+of queues from inside an interrupt service routine.  It is *not* intended to\r
+be an efficient interrupt implementation.  A real application should make use\r
+of the DMA.  Or, as a minimum, transmission and reception could use a simple\r
+RAM ring buffer, and synchronise with a task using a semaphore when a complete\r
+message has been received or transmitted. */\r
+#pragma vector=USCI_A1_VECTOR\r
+interrupt void prvUSCI_A1_ISR( void )\r
+{\r
+signed char cChar;\r
+portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
+\r
+       if( ( UCA1IFG & UCRXIFG ) != 0 )\r
+       {\r
+               /* Get the character from the UART and post it on the queue of Rxed\r
+               characters. */\r
+               cChar = UCA1RXBUF;\r
+               xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );\r
+       }       \r
+       else if( ( UCA1IFG & UCTXIFG ) != 0 )\r
+       {\r
+               /* The previous character has been transmitted.  See if there are any\r
+               further characters waiting transmission. */\r
+               if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )\r
+               {\r
+                       /* There was another character queued - transmit it now. */\r
+                       UCA1TXBUF = cChar;\r
+               }\r
+               else\r
+               {\r
+                       /* There were no other characters to transmit - disable the Tx\r
+                       interrupt. */\r
+                       UCA1IE &= ~UCTXIE;\r
+               }\r
+       }\r
+       \r
+       __bic_SR_register_on_exit( SCG1 + SCG0 + OSCOFF + CPUOFF );\r
+       \r
+       /* If writing to a queue caused a task to unblock, and the unblocked task\r
+       has a priority equal to or above the task that this interrupt interrupted,\r
+       then lHigherPriorityTaskWoken will have been set to pdTRUE internally within\r
+       xQueuesendFromISR(), and portEND_SWITCHING_ISR() will ensure that this\r
+       interrupt returns directly to the higher priority unblocked task. \r
+       \r
+       THIS MUST BE THE LAST THING DONE IN THE ISR. */ \r
+       portYIELD_FROM_ISR( xHigherPriorityTaskWoken );\r
+}\r
+\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/MSP430F5438A.ccxml b/Demo/MSP430X_MSP430F5438_CCS/MSP430F5438A.ccxml
new file mode 100644 (file)
index 0000000..ab962b6
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<configurations XML_version="1.2" id="configurations_0">\r
+    <configuration XML_version="1.2" id="configuration_0">\r
+        <instance XML_version="1.2" desc="TI MSP430 USB1" href="connections\TIMSP430-USB.xml" id="TI MSP430 USB1" xml="TIMSP430-USB.xml" xmlpath="connections"/>\r
+        <connection XML_version="1.2" id="TI MSP430 USB1">\r
+            <instance XML_version="1.2" href="drivers\msp430_emu.xml" id="drivers" xml="msp430_emu.xml" xmlpath="drivers"/>\r
+            <platform XML_version="1.2" id="platform_0">\r
+                <instance XML_version="1.2" desc="MSP430F5438A" href="Devices\MSP430F5438A.xml" id="MSP430F5438A" xml="MSP430F5438A.xml" xmlpath="Devices"/>\r
+            </platform>\r
+        </connection>\r
+    </configuration>\r
+</configurations>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS/READ_ME_FIRST.txt b/Demo/MSP430X_MSP430F5438_CCS/READ_ME_FIRST.txt
new file mode 100644 (file)
index 0000000..2d6c226
--- /dev/null
@@ -0,0 +1,3 @@
+Import this project into code composer studio using File->Import->Code Composer Studio->Existing CCS/CCE Ecplise Projects.\r
+\r
+The project will *not* open correctly by selecting File->Import->Existing Projects into Workspace.
\ No newline at end of file
diff --git a/Demo/MSP430X_MSP430F5438_CCS/lnk_msp430f5438a.cmd b/Demo/MSP430X_MSP430F5438_CCS/lnk_msp430f5438a.cmd
new file mode 100644 (file)
index 0000000..439b21a
--- /dev/null
@@ -0,0 +1,202 @@
+/******************************************************************************/\r
+/* lnk_msp430f5438a.cmd - LINKER COMMAND FILE FOR LINKING MSP430F5438A PROGRAMS     */\r
+/*                                                                            */\r
+/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\r
+/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\r
+/*                                                                            */\r
+/*----------------------------------------------------------------------------*/\r
+/* These linker options are for command line linking only.  For IDE linking,  */\r
+/* you should set your linker options in Project Properties                   */\r
+/* -c                                               LINK USING C CONVENTIONS  */\r
+/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\r
+/* -heap   0x0100                                   HEAP AREA SIZE            */\r
+/*                                                                            */\r
+/*----------------------------------------------------------------------------*/\r
+\r
+\r
+/****************************************************************************/\r
+/* SPECIFY THE SYSTEM MEMORY MAP                                            */\r
+/****************************************************************************/\r
+\r
+MEMORY\r
+{\r
+    SFR                     : origin = 0x0000, length = 0x0010\r
+    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\r
+    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\r
+    RAM                     : origin = 0x1C00, length = 0x4000\r
+    INFOA                   : origin = 0x1980, length = 0x0080\r
+    INFOB                   : origin = 0x1900, length = 0x0080\r
+    INFOC                   : origin = 0x1880, length = 0x0080\r
+    INFOD                   : origin = 0x1800, length = 0x0080\r
+    FLASH                   : origin = 0x5C00, length = 0xA380\r
+    FLASH2                  : origin = 0x10000,length = 0x35C00\r
+    INT00                   : origin = 0xFF80, length = 0x0002\r
+    INT01                   : origin = 0xFF82, length = 0x0002\r
+    INT02                   : origin = 0xFF84, length = 0x0002\r
+    INT03                   : origin = 0xFF86, length = 0x0002\r
+    INT04                   : origin = 0xFF88, length = 0x0002\r
+    INT05                   : origin = 0xFF8A, length = 0x0002\r
+    INT06                   : origin = 0xFF8C, length = 0x0002\r
+    INT07                   : origin = 0xFF8E, length = 0x0002\r
+    INT08                   : origin = 0xFF90, length = 0x0002\r
+    INT09                   : origin = 0xFF92, length = 0x0002\r
+    INT10                   : origin = 0xFF94, length = 0x0002\r
+    INT11                   : origin = 0xFF96, length = 0x0002\r
+    INT12                   : origin = 0xFF98, length = 0x0002\r
+    INT13                   : origin = 0xFF9A, length = 0x0002\r
+    INT14                   : origin = 0xFF9C, length = 0x0002\r
+    INT15                   : origin = 0xFF9E, length = 0x0002\r
+    INT16                   : origin = 0xFFA0, length = 0x0002\r
+    INT17                   : origin = 0xFFA2, length = 0x0002\r
+    INT18                   : origin = 0xFFA4, length = 0x0002\r
+    INT19                   : origin = 0xFFA6, length = 0x0002\r
+    INT20                   : origin = 0xFFA8, length = 0x0002\r
+    INT21                   : origin = 0xFFAA, length = 0x0002\r
+    INT22                   : origin = 0xFFAC, length = 0x0002\r
+    INT23                   : origin = 0xFFAE, length = 0x0002\r
+    INT24                   : origin = 0xFFB0, length = 0x0002\r
+    INT25                   : origin = 0xFFB2, length = 0x0002\r
+    INT26                   : origin = 0xFFB4, length = 0x0002\r
+    INT27                   : origin = 0xFFB6, length = 0x0002\r
+    INT28                   : origin = 0xFFB8, length = 0x0002\r
+    INT29                   : origin = 0xFFBA, length = 0x0002\r
+    INT30                   : origin = 0xFFBC, length = 0x0002\r
+    INT31                   : origin = 0xFFBE, length = 0x0002\r
+    INT32                   : origin = 0xFFC0, length = 0x0002\r
+    INT33                   : origin = 0xFFC2, length = 0x0002\r
+    INT34                   : origin = 0xFFC4, length = 0x0002\r
+    INT35                   : origin = 0xFFC6, length = 0x0002\r
+    INT36                   : origin = 0xFFC8, length = 0x0002\r
+    INT37                   : origin = 0xFFCA, length = 0x0002\r
+    INT38                   : origin = 0xFFCC, length = 0x0002\r
+    INT39                   : origin = 0xFFCE, length = 0x0002\r
+    INT40                   : origin = 0xFFD0, length = 0x0002\r
+    INT41                   : origin = 0xFFD2, length = 0x0002\r
+    INT42                   : origin = 0xFFD4, length = 0x0002\r
+    INT43                   : origin = 0xFFD6, length = 0x0002\r
+    INT44                   : origin = 0xFFD8, length = 0x0002\r
+    INT45                   : origin = 0xFFDA, length = 0x0002\r
+    INT46                   : origin = 0xFFDC, length = 0x0002\r
+    INT47                   : origin = 0xFFDE, length = 0x0002\r
+    INT48                   : origin = 0xFFE0, length = 0x0002\r
+    INT49                   : origin = 0xFFE2, length = 0x0002\r
+    INT50                   : origin = 0xFFE4, length = 0x0002\r
+    INT51                   : origin = 0xFFE6, length = 0x0002\r
+    INT52                   : origin = 0xFFE8, length = 0x0002\r
+    INT53                   : origin = 0xFFEA, length = 0x0002\r
+    INT54                   : origin = 0xFFEC, length = 0x0002\r
+    INT55                   : origin = 0xFFEE, length = 0x0002\r
+    INT56                   : origin = 0xFFF0, length = 0x0002\r
+    INT57                   : origin = 0xFFF2, length = 0x0002\r
+    INT58                   : origin = 0xFFF4, length = 0x0002\r
+    INT59                   : origin = 0xFFF6, length = 0x0002\r
+    INT60                   : origin = 0xFFF8, length = 0x0002\r
+    INT61                   : origin = 0xFFFA, length = 0x0002\r
+    INT62                   : origin = 0xFFFC, length = 0x0002\r
+    RESET                   : origin = 0xFFFE, length = 0x0002\r
+}\r
+\r
+/****************************************************************************/\r
+/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY                              */\r
+/****************************************************************************/\r
+\r
+SECTIONS\r
+{\r
+    .bss       : {} > RAM                /* GLOBAL & STATIC VARS              */\r
+    .sysmem    : {} > RAM                /* DYNAMIC MEMORY ALLOCATION AREA    */\r
+    .stack     : {} > RAM (HIGH)         /* SOFTWARE SYSTEM STACK             */\r
+\r
+/* Can be modified to test the use of high memory. */\r
+/* Original line. */\r
+    .text      : {}>> FLASH | FLASH2  /* CODE                              */\r
+/* Modified line. */\r
+/*    .text      : {} >> FLASH2  */             /* CODE                              */\r
+       .main      : {} > FLASH\r
+    .text:_isr : {} > FLASH              /* ISR CODE SPACE                    */\r
+    .cinit     : {} > FLASH              /* INITIALIZATION TABLES             */\r
+//#ifdef (__LARGE_DATA_MODEL__)\r
+    .const     : {} > FLASH | FLASH2     /* CONSTANT DATA                     */\r
+//#else\r
+//    .const     : {} > FLASH              /* CONSTANT DATA                     */\r
+//#endif\r
+    .cio       : {} > RAM                /* C I/O BUFFER                      */\r
+\r
+    .pinit     : {} > FLASH              /* C++ CONSTRUCTOR TABLES            */\r
+\r
+    .infoA     : {} > INFOA              /* MSP430 INFO FLASH MEMORY SEGMENTS */\r
+    .infoB     : {} > INFOB\r
+    .infoC     : {} > INFOC\r
+    .infoD     : {} > INFOD\r
+\r
+    .int00   : {} > INT00                /* MSP430 INTERRUPT VECTORS          */\r
+    .int01   : {} > INT01\r
+    .int02   : {} > INT02\r
+    .int03   : {} > INT03\r
+    .int04   : {} > INT04\r
+    .int05   : {} > INT05\r
+    .int06   : {} > INT06\r
+    .int07   : {} > INT07\r
+    .int08   : {} > INT08\r
+    .int09   : {} > INT09\r
+    .int10   : {} > INT10\r
+    .int11   : {} > INT11\r
+    .int12   : {} > INT12\r
+    .int13   : {} > INT13\r
+    .int14   : {} > INT14\r
+    .int15   : {} > INT15\r
+    .int16   : {} > INT16\r
+    .int17   : {} > INT17\r
+    .int18   : {} > INT18\r
+    .int19   : {} > INT19\r
+    .int20   : {} > INT20\r
+    .int21   : {} > INT21\r
+    .int22   : {} > INT22\r
+    .int23   : {} > INT23\r
+    .int24   : {} > INT24\r
+    .int25   : {} > INT25\r
+    .int26   : {} > INT26\r
+    .int27   : {} > INT27\r
+    .int28   : {} > INT28\r
+    .int29   : {} > INT29\r
+    .int30   : {} > INT30\r
+    .int31   : {} > INT31\r
+    .int32   : {} > INT32\r
+    .int33   : {} > INT33\r
+    .int34   : {} > INT34\r
+    .int35   : {} > INT35\r
+    .int36   : {} > INT36\r
+    .int37   : {} > INT37\r
+    .int38   : {} > INT38\r
+    .int39   : {} > INT39\r
+    .int40   : {} > INT40\r
+    .int41   : {} > INT41\r
+    .int42   : {} > INT42\r
+    .int43   : {} > INT43\r
+    .int44   : {} > INT44\r
+    .int45   : {} > INT45\r
+    .int46   : {} > INT46\r
+    .int47   : {} > INT47\r
+    .int48   : {} > INT48\r
+    .int49   : {} > INT49\r
+    .int50   : {} > INT50\r
+    .int51   : {} > INT51\r
+    .int52   : {} > INT52\r
+    .int53   : {} > INT53\r
+    .int54   : {} > INT54\r
+    .int55   : {} > INT55\r
+    .int56   : {} > INT56\r
+    .int57   : {} > INT57\r
+    .int58   : {} > INT58\r
+    .int59   : {} > INT59\r
+    .int60   : {} > INT60\r
+    .int61   : {} > INT61\r
+    .int62   : {} > INT62\r
+    .reset   : {} > RESET              /* MSP430 RESET VECTOR               */ \r
+}\r
+\r
+/****************************************************************************/\r
+/* INCLUDE PERIPHERALS MEMORY MAP                                           */\r
+/****************************************************************************/\r
+\r
+-l msp430f5438a.cmd\r
+\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.ccsproject b/Demo/MSP430X_MSP430F5438_CCS4/.ccsproject
deleted file mode 100644 (file)
index 2b2a65d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<?ccsproject version="1.0"?>\r
-\r
-<projectOptions>\r
-<deviceVariant value="MSP430F5438A"/>\r
-<deviceEndianness value="little"/>\r
-<codegenToolVersion value="3.3.1"/>\r
-<isElfFormat value="false"/>\r
-<linkerCommandFile value="lnk_msp430f5438a.cmd"/>\r
-<rts value="libc.a"/>\r
-<connection value="common/targetdb/connections/TIMSP430-USB.xml"/>\r
-</projectOptions>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.cdtbuild b/Demo/MSP430X_MSP430F5438_CCS4/.cdtbuild
deleted file mode 100644 (file)
index 9095ac9..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?fileVersion 3.1.0?>\r
-\r
-<ManagedProjectBuildInfo>\r
-<project id="RTOSDemo.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.390526873" name="MSP430" projectType="com.ti.ccstudio.buildDefinitions.MSP430.ProjectType">\r
-<configuration artifactExtension="out" artifactName="RTOSDemo" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382" name="Debug_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain.1435545480" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1939561680" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2036195343" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.621480247" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-<listOptionValue builtIn="false" value="225"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.37183846" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1568785139" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.1497996645" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1362716564" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.844673927" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.2031322476" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1655029752" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2084743920" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.446616973" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1471292597" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1907940977" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.155131239" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1895647999" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.2049770982" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.572680980" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1698632584" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.302988553" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.757897994" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.2021374180" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RegTest.s43" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398"/>\r
-</resourceConfiguration>\r
-</configuration>\r
-<configuration artifactExtension="out" artifactName="RTOSDemo" description="As Debug equivalent, but with optimisation" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664" name="Release_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.1735571508" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.845441932" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1708073037" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.241703582" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-<listOptionValue builtIn="false" value="225"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1221025194" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.323247937" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.545874544" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.339441888" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.92276102" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.82625540" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.68404244" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.643200100" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.66260390" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1440431692" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.1555619682" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.3" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG.1863156180" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE.153283919" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE" value="true" valueType="boolean"/>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1554119117" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.884365605" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.1998221473" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1687098000" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.750680827" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1013281652" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1188464260" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.1046073815" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.815672174" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1965028960" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793"/>\r
-</resourceConfiguration>\r
-</configuration>\r
-<configuration artifactExtension="out" artifactName="RTOSDemo" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265" name="Debug_Small_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.2145243374" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.338864744" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.67554128" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.1302018091" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-<listOptionValue builtIn="false" value="225"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1956765338" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.minimal" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1373809772" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.566602389" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1857585518" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.614313056" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.978394614" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1169614842" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.1870922413" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.1139014825" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.820058243" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15.1202920097" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18.1795934125" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18" value="true" valueType="boolean"/>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1837962732" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.728234211" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.312215125" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.261762041" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.820149163" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1084155280" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1180248234" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.4260704" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.162464119" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.292220966" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398"/>\r
-</resourceConfiguration>\r
-</configuration>\r
-<configuration artifactExtension="out" artifactName="RTOSDemo" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325" name="Debug_Small_Data_Small_Code_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.380336448" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.932239256" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-<listOptionValue builtIn="false" value="CCS_MBS_VERSION=4.2.0"/>\r
-<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1799066504" name="Code Generation tools version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.653083494" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-<listOptionValue builtIn="false" value="225"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1251293454" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.932999402" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.920476184" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-<listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.97327763" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.163750782" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.1573588815" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1716081794" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2014194608" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS4/MSP430X}&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.360434361" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.small" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.102615768" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
-</tool>\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.400652052" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1589461908" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.761794468" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.847690853" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.1733576069" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.544555422" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1976314562" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.333671382" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-<listOptionValue builtIn="false" value="&quot;${CCS_INSTALL_ROOT}/msp430/include&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.1991915989" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-<listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-</option>\r
-<option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1849506187" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-</tool>\r
-<macros expandEnvironmentMacros="true"/>\r
-</toolChain>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-<resourceConfiguration exclude="false" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="/RTOSDemo/Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606">\r
-<tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823"/>\r
-</resourceConfiguration>\r
-</configuration>\r
-<macros/>\r
-</project>\r
-</ManagedProjectBuildInfo>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.cdtproject b/Demo/MSP430X_MSP430F5438_CCS4/.cdtproject
deleted file mode 100644 (file)
index fa82503..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse-cdt version="2.0"?>\r
-\r
-<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">\r
-<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>\r
-<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-<data>\r
-<item id="org.eclipse.cdt.core.pathentry">\r
-<pathentry kind="src" path=""/>\r
-<pathentry kind="out" path=""/>\r
-<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>\r
-<pathentry kind="con" path="com.ti.ccstudio.managedbuild.core.CCS_CONTAINER"/>\r
-</item>\r
-</data>\r
-</cdtproject>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.cproject b/Demo/MSP430X_MSP430F5438_CCS4/.cproject
deleted file mode 100644 (file)
index f694fa4..0000000
+++ /dev/null
@@ -1,678 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<?fileVersion 4.0.0?>\r
-\r
-<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">\r
-       <storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">\r
-               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382">\r
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382" moduleId="org.eclipse.cdt.core.settings" name="Debug_Large_Data_Model">\r
-                               <externalSettings/>\r
-                               <extensions>\r
-                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                               </extensions>\r
-                       </storageModule>\r
-                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382" name="Debug_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382.2078353183" name="/" resourcePath="">\r
-                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain.1435545480" name="TI Code Generation Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1939561680" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
-                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-                                                       </option>\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2036195343" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.658578181" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
-                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.1282910861" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.621480247" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="225"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.37183846" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1568785139" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.1497996645" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1362716564" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.844673927" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.2031322476" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1655029752" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2084743920" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.446616973" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1471292597" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1639737345" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.116599975" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1903944414" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1426088546" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.362924516" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                                       </tool>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1907940977" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.155131239" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1895647999" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.2049770982" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.572680980" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1698632584" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.302988553" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.757897994" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.2021374180" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-                                                       </tool>\r
-                                               </toolChain>\r
-                                       </folderInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/serial.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1801268896" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.824310387" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.727443583" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.247938297" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RegTest.s43" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RegTest.s43" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1193564947" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1949453671" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1539141431" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.2127695483" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/main.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1715155904" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1550281240" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1531458067" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.149438069" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1246356415" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.40709283" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.245524235" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1584570661" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_buttons.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1746181350" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.193865417" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1019022417" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.32914985" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2147438470" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1363016352" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1359081432" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.606145801" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/MSP-EXP430F5438_HAL/hal_board.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1918877692" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1564455827" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.450170396" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.988739673" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/F5XX_6XX_Core_Lib/hal_UCS.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1059084925" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.2133292069" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.67154926" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1151873929" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/ParTest.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1079732155" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1013679432" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.235033956" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.836892483" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382./RTOSDemo/source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398./RTOSDemo/source/RunTimeStatsConfig.c" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1613496922" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.978003389" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1189346205" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1722951503" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                               </configuration>\r
-                       </storageModule>\r
-                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
-               </cconfiguration>\r
-               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664">\r
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664" moduleId="org.eclipse.cdt.core.settings" name="Release_Large_Data_Model">\r
-                               <externalSettings/>\r
-                               <extensions>\r
-                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                               </extensions>\r
-                       </storageModule>\r
-                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="As Debug equivalent, but with optimisation" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664" name="Release_Large_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664.1400773385" name="/" resourcePath="">\r
-                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.1735571508" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.845441932" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
-                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-                                                       </option>\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1708073037" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.1118092461" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
-                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.394593071" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.241703582" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="225"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1221025194" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.323247937" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.545874544" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.339441888" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.92276102" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.82625540" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.68404244" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.643200100" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.66260390" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.1440431692" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.large" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.1555619682" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPT_LEVEL.3" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG.1863156180" name="Optimize fully in the presence of debug directives (--optimize_with_debug, -mn)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.OPTIMIZE_WITH_DEBUG" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE.153283919" name="Inline functions only called once. (--single_inline)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SINGLE_INLINE" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1735539414" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1451181883" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.456821142" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1799963091" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1852039917" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                                       </tool>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1554119117" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.884365605" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.1998221473" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.1687098000" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.750680827" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1013281652" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1188464260" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.1046073815" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.815672174" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1965028960" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-                                                       </tool>\r
-                                               </toolChain>\r
-                                       </folderInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1207973334" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.64425047" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1705743978" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.936990181" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1397860864" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1314047278" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.103284843" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.933798656" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.60128287" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.95793564" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1313982857" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1263159469" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.122552756" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1503685675" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1319148333" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1906966953" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1762852807" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.959419344" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.966349986" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1648566884" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1967650716" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1386772141" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1973871505" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1998307209" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1646895873" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.999071785" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2044756510" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1746964645" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1523382155" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.297922045" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1393781963" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.981417513" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.725782849" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1156130980" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.2140680157" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.130787765" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.673080048" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1608663621" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1138117131" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1972257727" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.803674566" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2142016331" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1180944309" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.341224060" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1777291074" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1691637802" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.994794793">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1126154601" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1899550444" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.189157846" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.694127909" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                               </configuration>\r
-                       </storageModule>\r
-                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
-               </cconfiguration>\r
-               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265">\r
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265" moduleId="org.eclipse.cdt.core.settings" name="Debug_Small_Data_Model">\r
-                               <externalSettings/>\r
-                               <extensions>\r
-                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                               </extensions>\r
-                       </storageModule>\r
-                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265" name="Debug_Small_Data_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265.1978803117" name="/" resourcePath="">\r
-                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.2145243374" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.338864744" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
-                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-                                                       </option>\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.67554128" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.522835549" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
-                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.1228915825" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.1302018091" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="225"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1956765338" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.minimal" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.1373809772" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.566602389" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.1857585518" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.614313056" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.978394614" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1169614842" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.1870922413" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.1139014825" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.large" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.820058243" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15.1202920097" name="Workaround specified silicon errata (--silicon_errata) [CPU15]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU15" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18.1795934125" name="Workaround specified silicon errata (--silicon_errata) [CPU18]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU18" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1135619237" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.260230635" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1156934373" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1297292878" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.630620669" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                                       </tool>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1837962732" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.728234211" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.312215125" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.261762041" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.820149163" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.1084155280" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1180248234" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.4260704" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.162464119" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.292220966" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-                                                       </tool>\r
-                                               </toolChain>\r
-                                       </folderInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152839419" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2045139382" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1389746510" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.287952815" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1946515262" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.363085010" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1940017918" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.924802719" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1016576665" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.500660940" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.258184824" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.952943123" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.299871159" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.822997684" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1696623645" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.152704098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.327229010" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1745803462" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.642196118" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1126121449" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1222065098" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1939737746" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.436208133" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1458990899" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.733420663" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1109500390" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.442725484" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1611965566" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1153196147" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1578549840" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.762094800" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2146954240" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1090032051" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.994310807" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.501851672" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.613398044" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1158986420" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1014999985" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1929211224" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.426249682" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.2048480880" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1298468640" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1557331808" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1585946659" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1876701703" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.2087986398.1172300482" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.627849548" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1100824459" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.55160456" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1586903777" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                               </configuration>\r
-                       </storageModule>\r
-                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
-               </cconfiguration>\r
-               <cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325">\r
-                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325" moduleId="org.eclipse.cdt.core.settings" name="Debug_Small_Data_Small_Code_Model">\r
-                               <externalSettings/>\r
-                               <extensions>\r
-                                       <extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                                       <extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>\r
-                               </extensions>\r
-                       </storageModule>\r
-                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-                               <configuration artifactExtension="out" artifactName="RTOSDemo" buildProperties="" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325" name="Debug_Small_Data_Small_Code_Model" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug">\r
-                                       <folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325.474931388" name="/" resourcePath="">\r
-                                               <toolChain id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.ToolchainPlaceholder.380336448" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.1882128094">\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.932239256" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5438A"/>\r
-                                                               <listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>\r
-                                                               <listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.1.0.01"/>\r
-                                                               <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5438a.cmd"/>\r
-                                                               <listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>\r
-                                                               <listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>\r
-                                                       </option>\r
-                                                       <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1799066504" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="3.3.1" valueType="string"/>\r
-                                                       <targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug.2104205651" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.targetPlatformDebug"/>\r
-                                                       <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug.1782059623" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.builderDebug"/>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING.653083494" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DIAG_WARNING" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="225"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.1251293454" name="Level of printf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.PRINTF_SUPPORT.nofloat" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.932999402" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE.920476184" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEFINE" valueType="definedSymbols">\r
-                                                                       <listOptionValue builtIn="false" value="__MSP430F5438A__"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21.97327763" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22.163750782" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23.1573588815" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40.1716081794" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH.2014194608" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.INCLUDE_PATH" valueType="includePath">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/Common_Demo_Files/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/Demo_Source}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/include}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/RTOSDemo/FreeRTOS_Source/portable/CCS/MSP430X}&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.360434361" name="Specify the code memory model. (--code_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.CODE_MODEL.small" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.102615768" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DATA_MODEL.small" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.1115212672" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1910244979" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.718335856" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.138679399" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                               <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.115962504" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                                       </tool>\r
-                                                       <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug.400652052" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.linkerDebug">\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE.1589461908" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.HEAP_SIZE" value="0" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE.761794468" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.STACK_SIZE" value="300" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.847690853" name="Link in hardware version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE.1733576069" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.OUTPUT_FILE" value="&quot;RTOSDemo.out&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE.544555422" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.MAP_FILE" value="&quot;RTOSDemo.map&quot;" valueType="string"/>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY.1976314562" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.LIBRARY" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH.333671382" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.SEARCH_PATH" valueType="stringList">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CCS_BASE_ROOT}/msp430/include&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>\r
-                                                                       <listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles.1991915989" name="Generated Linker Command files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.generatedLinkerCommandFiles" valueType="libs">\r
-                                                                       <listOptionValue builtIn="false" value="&quot;$(GEN_CMDS_QUOTED)&quot;"/>\r
-                                                               </option>\r
-                                                               <option id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.1849506187" name="Initialization model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_3.3.linkerID.INITIALIZATION_MODEL.ROM_MODEL" valueType="enumerated"/>\r
-                                                       </tool>\r
-                                               </toolChain>\r
-                                       </folderInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/serial.c" name="serial.c" rcbsApplicability="disable" resourcePath="Demo_Source/serial.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.2036541489" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1605686297" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.807655855" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1845658719" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.818937015" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RegTest.asm" name="RegTest.s43" rcbsApplicability="disable" resourcePath="Demo_Source/RegTest.asm" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.497697606" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1752920361" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.605228530" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.534939394" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.889379600" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" name="hal_UCS.c" rcbsApplicability="disable" resourcePath="Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1416453663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.925705634" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.574745189" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.555788417" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.614974339" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" name="hal_lcd.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1288989699" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.410913844" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1733354315" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.156474530" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.856403487" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" name="hal_buttons.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.994122420" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.2053761808" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1727985529" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.678642858" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.211385771" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" name="hal_board.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_board.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1190640125" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.50689137" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1964135417" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1318025406" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.2091071298" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" name="hal_lcd_fonts.c" rcbsApplicability="disable" resourcePath="Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.611029191" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.1588728483" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.721519742" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1241149205" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1454538431" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/main.c" name="main.c" rcbsApplicability="disable" resourcePath="Demo_Source/main.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.156508253" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.511171230" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.981714823" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.138464444" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.271922886" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/ParTest.c" name="ParTest.c" rcbsApplicability="disable" resourcePath="Demo_Source/ParTest.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.564197279" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.501714611" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.1031020953" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1463809176" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.192318869" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                                       <fileInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325./RTOSDemo/Demo_Source/RunTimeStatsConfig.c" name="RunTimeStatsConfig.c" rcbsApplicability="disable" resourcePath="Demo_Source/RunTimeStatsConfig.c" toolsToInvoke="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663">\r
-                                               <tool id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1938097398.1612564663" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.exe.compilerDebug.1569323823">\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS.597618239" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__C_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS.206559966" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__CPP_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS.1770519133" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM_SRCS"/>\r
-                                                       <inputType id="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS.1376555563" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_3.3.compiler.inputType__ASM2_SRCS"/>\r
-                                               </tool>\r
-                                       </fileInfo>\r
-                               </configuration>\r
-                       </storageModule>\r
-                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
-               </cconfiguration>\r
-       </storageModule>\r
-       <storageModule moduleId="cdtBuildSystem" version="4.0.0">\r
-               <project id="RTOSDemo.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.390526873" name="MSP430" projectType="com.ti.ccstudio.buildDefinitions.MSP430.ProjectType"/>\r
-       </storageModule>\r
-       <storageModule moduleId="org.eclipse.cdt.core.language.mapping">\r
-               <project-mappings>\r
-                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>\r
-                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
-                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>\r
-                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
-                       <content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>\r
-               </project-mappings>\r
-       </storageModule>\r
-       <storageModule moduleId="refreshScope"/>\r
-       <storageModule moduleId="scannerConfiguration"/>\r
-</cproject>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.project b/Demo/MSP430X_MSP430F5438_CCS4/.project
deleted file mode 100644 (file)
index 61d8cf8..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<projectDescription>\r
-       <name>RTOSDemo</name>\r
-       <comment></comment>\r
-       <projects>\r
-       </projects>\r
-       <buildSpec>\r
-               <buildCommand>\r
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>\r
-                       <arguments>\r
-                               <dictionary>\r
-                                       <key>?name?</key>\r
-                                       <value></value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.append_environment</key>\r
-                                       <value>true</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.autoBuildTarget</key>\r
-                                       <value>all</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.buildArguments</key>\r
-                                       <value>-k</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.buildCommand</key>\r
-                                       <value>${CCS_UTILS_DIR}/bin/gmake</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.buildLocation</key>\r
-                                       <value>${BuildDirectory}</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>\r
-                                       <value>clean</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.contents</key>\r
-                                       <value>org.eclipse.cdt.make.core.activeConfigSettings</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.enableAutoBuild</key>\r
-                                       <value>true</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.enableCleanBuild</key>\r
-                                       <value>true</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.enableFullBuild</key>\r
-                                       <value>true</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.fullBuildTarget</key>\r
-                                       <value>all</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.stopOnError</key>\r
-                                       <value>false</value>\r
-                               </dictionary>\r
-                               <dictionary>\r
-                                       <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>\r
-                                       <value>true</value>\r
-                               </dictionary>\r
-                       </arguments>\r
-               </buildCommand>\r
-               <buildCommand>\r
-                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>\r
-                       <triggers>full,incremental,</triggers>\r
-                       <arguments>\r
-                       </arguments>\r
-               </buildCommand>\r
-       </buildSpec>\r
-       <natures>\r
-               <nature>org.eclipse.cdt.core.cnature</nature>\r
-               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>\r
-               <nature>org.eclipse.cdt.core.ccnature</nature>\r
-               <nature>com.ti.ccstudio.core.ccsNature</nature>\r
-               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>\r
-       </natures>\r
-</projectDescription>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.settings/org.eclipse.cdt.managedbuilder.core.prefs b/Demo/MSP430X_MSP430F5438_CCS4/.settings/org.eclipse.cdt.managedbuilder.core.prefs
deleted file mode 100644 (file)
index 4659fbc..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#Mon Jan 03 16:19:20 GMT 2011\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325/internalBuilder/ignoreErr=true\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265/internalBuilder/enabled=false\r
-com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265/internalBuilder/ignoreErr=true\r
-eclipse.preferences.version=1\r
-environment/project=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1126147664=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1203657382=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1573386325=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
-environment/project/com.ti.ccstudio.buildDefinitions.MSP430.Debug.1945772265=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<environment/>\r\n\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/.settings/org.eclipse.ltk.core.refactoring.prefs b/Demo/MSP430X_MSP430F5438_CCS4/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644 (file)
index 9a8bc90..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sat Jan 01 16:11:34 GMT 2011\r
-eclipse.preferences.version=1\r
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/CreateProjectDirectoryStructure.bat b/Demo/MSP430X_MSP430F5438_CCS4/CreateProjectDirectoryStructure.bat
deleted file mode 100644 (file)
index 4033c21..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-REM This file should be executed from the command line prior to the first\r
-REM build.  It will be necessary to refresh the Eclipse project once the\r
-REM .bat file has been executed (normally just press F5 to refresh).\r
-\r
-REM Copies all the required files from their location within the standard\r
-REM FreeRTOS directory structure to under the Eclipse project directory.\r
-REM This permits the Eclipse project to be used in 'managed' mode and without\r
-REM having to setup any linked resources.\r
-\r
-REM Have the files already been copied?\r
-IF EXIST FreeRTOS_Source Goto END\r
-\r
-       REM Create the required directory structure.\r
-       MD FreeRTOS_Source\r
-       MD FreeRTOS_Source\include      \r
-       MD FreeRTOS_Source\portable\CCS\r
-       MD FreeRTOS_Source\portable\CCS\MSP430X\r
-       MD FreeRTOS_Source\portable\MemMang     \r
-       MD Demo_Source\Common_Demo_Files\r
-       MD Demo_Source\Common_Demo_Files\include\r
-       \r
-       REM Copy the core kernel files.\r
-       copy ..\..\Source\tasks.c FreeRTOS_Source\r
-       copy ..\..\Source\queue.c FreeRTOS_Source\r
-       copy ..\..\Source\list.c FreeRTOS_Source\r
-       copy ..\..\Source\timers.c FreeRTOS_Source\r
-       \r
-       REM Copy the common header files\r
-\r
-       copy ..\..\Source\include\*.* FreeRTOS_Source\include\r
-       \r
-       REM Copy the portable layer files\r
-       copy ..\..\Source\portable\CCS\MSP430X\*.* FreeRTOS_Source\portable\CCS\MSP430X\r
-       \r
-       REM Copy the basic memory allocation files\r
-       copy ..\..\Source\portable\MemMang\heap_1.c FreeRTOS_Source\portable\MemMang\r
-\r
-       REM Copy the files that define the common demo tasks.\r
-       copy ..\Common\minimal\dynamic.c Demo_Source\Common_Demo_Files\r
-       copy ..\Common\minimal\comtest.c Demo_Source\Common_Demo_Files\r
-       copy ..\Common\minimal\GenQTest.c Demo_Source\Common_Demo_Files\r
-       copy ..\Common\minimal\TimerDemo.c Demo_Source\Common_Demo_Files\r
-       copy ..\Common\minimal\countsem.c Demo_Source\Common_Demo_Files\r
-       \r
-       REM Copy the common demo file headers.\r
-       copy ..\Common\include\dynamic.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\comtest.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\comtest2.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\GenQTest.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\serial.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\partest.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\TimerDemo.h Demo_Source\Common_Demo_Files\include\r
-       copy ..\Common\include\countsem.h Demo_Source\Common_Demo_Files\include\r
-       \r
-: END\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.c
deleted file mode 100644 (file)
index 7e16eae..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************\r
- *\r
- * HAL_PMM.c\r
- * Power Management Module Library for MSP430F5xx/6xx family\r
- *\r
- *\r
- * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/\r
- *\r
- *\r
- *  Redistribution and use in source and binary forms, with or without\r
- *  modification, are permitted provided that the following conditions\r
- *  are met:\r
- *\r
- *    Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- *\r
- *    Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the\r
- *    distribution.\r
- *\r
- *    Neither the name of Texas Instruments Incorporated nor the names of\r
- *    its contributors may be used to endorse or promote products derived\r
- *    from this software without specific prior written permission.\r
- *\r
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
- *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
- *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
- *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
- *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
- *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
- *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
- *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- ******************************************************************************/\r
-\r
-#include "msp430.h"\r
-#include "HAL_PMM.h"\r
-\r
-/*******************************************************************************\r
- * \brief   Increase Vcore by one level\r
- *\r
- * \param level     Level to which Vcore needs to be increased\r
- * \return status   Success/failure\r
- ******************************************************************************/\r
-\r
-static uint16_t SetVCoreUp(uint8_t level)\r
-{\r
-    uint16_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;\r
-\r
-    // The code flow for increasing the Vcore has been altered to work around\r
-    // the erratum FLASH37.\r
-    // Please refer to the Errata sheet to know if a specific device is affected\r
-    // DO NOT ALTER THIS FUNCTION\r
-\r
-    // Open PMM registers for write access\r
-    PMMCTL0_H = 0xA5;\r
-\r
-    // Disable dedicated Interrupts\r
-    // Backup all registers\r
-    PMMRIE_backup = PMMRIE;\r
-    PMMRIE &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE | SVSLPE | SVMHVLRIE |\r
-                SVMHIE | SVSMHDLYIE | SVMLVLRIE | SVMLIE | SVSMLDLYIE);\r
-    SVSMHCTL_backup = SVSMHCTL;\r
-    SVSMLCTL_backup = SVSMLCTL;\r
-\r
-    // Clear flags\r
-    PMMIFG = 0;\r
-\r
-    // Set SVM highside to new level and check if a VCore increase is possible\r
-    SVSMHCTL = SVMHE | SVSHE | (SVSMHRRL0 * level);\r
-\r
-    // Wait until SVM highside is settled\r
-    while ((PMMIFG & SVSMHDLYIFG) == 0) ;\r
-\r
-    // Clear flag\r
-    PMMIFG &= ~SVSMHDLYIFG;\r
-\r
-    // Check if a VCore increase is possible\r
-    if ((PMMIFG & SVMHIFG) == SVMHIFG){     // -> Vcc is too low for a Vcore increase\r
-        // recover the previous settings\r
-        PMMIFG &= ~SVSMHDLYIFG;\r
-        SVSMHCTL = SVSMHCTL_backup;\r
-\r
-        // Wait until SVM highside is settled\r
-        while ((PMMIFG & SVSMHDLYIFG) == 0) ;\r
-\r
-        // Clear all Flags\r
-        PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);\r
-\r
-        PMMRIE = PMMRIE_backup;             // Restore PMM interrupt enable register\r
-        PMMCTL0_H = 0x00;                   // Lock PMM registers for write access\r
-        return PMM_STATUS_ERROR;            // return: voltage not set\r
-    }\r
-\r
-    // Set also SVS highside to new level\r
-    // Vcc is high enough for a Vcore increase\r
-    SVSMHCTL |= (SVSHRVL0 * level);\r
-\r
-    // Wait until SVM highside is settled\r
-    while ((PMMIFG & SVSMHDLYIFG) == 0) ;\r
-\r
-    // Clear flag\r
-    PMMIFG &= ~SVSMHDLYIFG;\r
-\r
-    // Set VCore to new level\r
-    PMMCTL0_L = PMMCOREV0 * level;\r
-\r
-    // Set SVM, SVS low side to new level\r
-    SVSMLCTL = SVMLE | (SVSMLRRL0 * level) | SVSLE | (SVSLRVL0 * level);\r
-\r
-    // Wait until SVM, SVS low side is settled\r
-    while ((PMMIFG & SVSMLDLYIFG) == 0) ;\r
-\r
-    // Clear flag\r
-    PMMIFG &= ~SVSMLDLYIFG;\r
-    // SVS, SVM core and high side are now set to protect for the new core level\r
-\r
-    // Restore Low side settings\r
-    // Clear all other bits _except_ level settings\r
-    SVSMLCTL &= (SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
-\r
-    // Clear level settings in the backup register,keep all other bits\r
-    SVSMLCTL_backup &= ~(SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
-\r
-    // Restore low-side SVS monitor settings\r
-    SVSMLCTL |= SVSMLCTL_backup;\r
-\r
-    // Restore High side settings\r
-    // Clear all other bits except level settings\r
-    SVSMHCTL &= (SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
-\r
-    // Clear level settings in the backup register,keep all other bits\r
-    SVSMHCTL_backup &= ~(SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
-\r
-    // Restore backup\r
-    SVSMHCTL |= SVSMHCTL_backup;\r
-\r
-    // Wait until high side, low side settled\r
-    while (((PMMIFG & SVSMLDLYIFG) == 0) && ((PMMIFG & SVSMHDLYIFG) == 0)) ;\r
-\r
-    // Clear all Flags\r
-    PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);\r
-\r
-    PMMRIE = PMMRIE_backup;                 // Restore PMM interrupt enable register\r
-    PMMCTL0_H = 0x00;                       // Lock PMM registers for write access\r
-\r
-    return PMM_STATUS_OK;\r
-}\r
-\r
-/*******************************************************************************\r
- * \brief  Decrease Vcore by one level\r
- *\r
- * \param  level    Level to which Vcore needs to be decreased\r
- * \return status   Success/failure\r
- ******************************************************************************/\r
-\r
-static uint16_t SetVCoreDown(uint8_t level)\r
-{\r
-    uint16_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;\r
-\r
-    // The code flow for decreasing the Vcore has been altered to work around\r
-    // the erratum FLASH37.\r
-    // Please refer to the Errata sheet to know if a specific device is affected\r
-    // DO NOT ALTER THIS FUNCTION\r
-\r
-    // Open PMM registers for write access\r
-    PMMCTL0_H = 0xA5;\r
-\r
-    // Disable dedicated Interrupts\r
-    // Backup all registers\r
-    PMMRIE_backup = PMMRIE;\r
-    PMMRIE &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE | SVSLPE | SVMHVLRIE |\r
-                SVMHIE | SVSMHDLYIE | SVMLVLRIE | SVMLIE | SVSMLDLYIE);\r
-    SVSMHCTL_backup = SVSMHCTL;\r
-    SVSMLCTL_backup = SVSMLCTL;\r
-\r
-    // Clear flags\r
-    PMMIFG &= ~(SVMHIFG | SVSMHDLYIFG | SVMLIFG | SVSMLDLYIFG);\r
-\r
-    // Set SVM, SVS high & low side to new settings in normal mode\r
-    SVSMHCTL = SVMHE | (SVSMHRRL0 * level) | SVSHE | (SVSHRVL0 * level);\r
-    SVSMLCTL = SVMLE | (SVSMLRRL0 * level) | SVSLE | (SVSLRVL0 * level);\r
-\r
-    // Wait until SVM high side and SVM low side is settled\r
-    while ((PMMIFG & SVSMHDLYIFG) == 0 || (PMMIFG & SVSMLDLYIFG) == 0) ;\r
-\r
-    // Clear flags\r
-    PMMIFG &= ~(SVSMHDLYIFG + SVSMLDLYIFG);\r
-    // SVS, SVM core and high side are now set to protect for the new core level\r
-\r
-    // Set VCore to new level\r
-    PMMCTL0_L = PMMCOREV0 * level;\r
-\r
-    // Restore Low side settings\r
-    // Clear all other bits _except_ level settings\r
-    SVSMLCTL &= (SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
-\r
-    // Clear level settings in the backup register,keep all other bits\r
-    SVSMLCTL_backup &= ~(SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);\r
-\r
-    // Restore low-side SVS monitor settings\r
-    SVSMLCTL |= SVSMLCTL_backup;\r
-\r
-    // Restore High side settings\r
-    // Clear all other bits except level settings\r
-    SVSMHCTL &= (SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
-\r
-    // Clear level settings in the backup register, keep all other bits\r
-    SVSMHCTL_backup &= ~(SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);\r
-\r
-    // Restore backup\r
-    SVSMHCTL |= SVSMHCTL_backup;\r
-\r
-    // Wait until high side, low side settled\r
-    while (((PMMIFG & SVSMLDLYIFG) == 0) && ((PMMIFG & SVSMHDLYIFG) == 0)) ;\r
-\r
-    // Clear all Flags\r
-    PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);\r
-\r
-    PMMRIE = PMMRIE_backup;                // Restore PMM interrupt enable register\r
-    PMMCTL0_H = 0x00;                      // Lock PMM registers for write access\r
-    return PMM_STATUS_OK;                  // Return: OK\r
-}\r
-\r
-uint16_t SetVCore(uint8_t level)\r
-{\r
-    uint16_t actlevel;\r
-    uint16_t status = 0;\r
-\r
-    level &= PMMCOREV_3;                   // Set Mask for Max. level\r
-    actlevel = (PMMCTL0 & PMMCOREV_3);     // Get actual VCore\r
-                                           // step by step increase or decrease\r
-    while ((level != actlevel) && (status == 0)) {\r
-        if (level > actlevel){\r
-            status = SetVCoreUp(++actlevel);\r
-        }\r
-        else {\r
-            status = SetVCoreDown(--actlevel);\r
-        }\r
-    }\r
-\r
-    return status;\r
-}\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/HAL_PMM.h
deleted file mode 100644 (file)
index ace1641..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************\r
- *\r
- * HAL_PMM.h\r
- * Power Management Module Library for MSP430F5xx/6xx family\r
- *\r
- *\r
- * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/\r
- *\r
- *\r
- *  Redistribution and use in source and binary forms, with or without\r
- *  modification, are permitted provided that the following conditions\r
- *  are met:\r
- *\r
- *    Redistributions of source code must retain the above copyright\r
- *    notice, this list of conditions and the following disclaimer.\r
- *\r
- *    Redistributions in binary form must reproduce the above copyright\r
- *    notice, this list of conditions and the following disclaimer in the\r
- *    documentation and/or other materials provided with the\r
- *    distribution.\r
- *\r
- *    Neither the name of Texas Instruments Incorporated nor the names of\r
- *    its contributors may be used to endorse or promote products derived\r
- *    from this software without specific prior written permission.\r
- *\r
- *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
- *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
- *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
- *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\r
- *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
- *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
- *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
- *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
- *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\r
- *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
- *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- ******************************************************************************/\r
-\r
-#ifndef HAL_PMM_H\r
-#define HAL_PMM_H\r
-\r
-#include <stdint.h>\r
-#include "HAL_MACROS.h"\r
-\r
-/*******************************************************************************\r
- * Macros\r
- ******************************************************************************/\r
-#define ENABLE_SVSL()        st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVSL()       st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~SVSLE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVML()        st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVMLE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVML()       st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~SVMLE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVSH()        st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVSH()       st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~SVSHE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVMH()        st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVMHE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVMH()       st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~SVMHE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVSL_SVML()   st(PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLE + SVMLE); PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVSL_SVML()  st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~(SVSLE + SVMLE); PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVSH_SVMH()   st(PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHE + SVMHE); PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVSH_SVMH()  st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~(SVSHE + SVMHE); PMMCTL0_H = 0x00; )\r
-\r
-#define ENABLE_SVSL_RESET()       st(PMMCTL0_H = 0xA5; PMMRIE |= SVSLPE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVSL_RESET()      st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVSLPE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVML_INTERRUPT()   st(PMMCTL0_H = 0xA5; PMMRIE |= SVMLIE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVML_INTERRUPT()  st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVMLIE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVSH_RESET()       st(PMMCTL0_H = 0xA5; PMMRIE |= SVSHPE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVSH_RESET()      st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVSHPE; PMMCTL0_H = 0x00; )\r
-#define ENABLE_SVMH_INTERRUPT()   st(PMMCTL0_H = 0xA5; PMMRIE |= SVMHIE; PMMCTL0_H = 0x00; )\r
-#define DISABLE_SVMH_INTERRUPT()  st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVMHIE; PMMCTL0_H = 0x00; )\r
-#define CLEAR_PMM_IFGS()          st(PMMCTL0_H = 0xA5; PMMIFG = 0; PMMCTL0_H = 0x00; )\r
-\r
-// These settings use SVSH/LACE = 0\r
-#define SVSL_ENABLED_IN_LPM_FAST_WAKE()  st( \\r
-        PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLFP + SVSLMD); SVSMLCTL &= ~SVSMLACE; PMMCTL0_H = 0x00; )\r
-#define SVSL_ENABLED_IN_LPM_SLOW_WAKE()  st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLMD; SVSMLCTL &= \\r
-                                                ~(SVSLFP + SVSMLACE); PMMCTL0_H = 0x00; )\r
-\r
-#define SVSL_DISABLED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLFP; SVSMLCTL &= \\r
-                                                ~(SVSLMD + SVSMLACE); PMMCTL0_H = 0x00; )\r
-#define SVSL_DISABLED_IN_LPM_SLOW_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL &= \\r
-                                                ~(SVSLFP + SVSMLACE + SVSLMD); PMMCTL0_H = 0x00; )\r
-\r
-#define SVSH_ENABLED_IN_LPM_NORM_PERF()  st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHMD; SVSMHCTL &= \\r
-                                                ~(SVSMHACE + SVSHFP); PMMCTL0_H = 0x00; )\r
-#define SVSH_ENABLED_IN_LPM_FULL_PERF()  st( \\r
-        PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHMD + SVSHFP); SVSMHCTL &= ~SVSMHACE; PMMCTL0_H = 0x00; )\r
-\r
-#define SVSH_DISABLED_IN_LPM_NORM_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL &= \\r
-                                                ~(SVSMHACE + SVSHFP + SVSHMD); PMMCTL0_H = 0x00; )\r
-#define SVSH_DISABLED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHFP; SVSMHCTL &= \\r
-                                                ~(SVSMHACE + SVSHMD); PMMCTL0_H = 0x00; )\r
-\r
-// These setting use SVSH/LACE = 1\r
-#define SVSL_OPTIMIZED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= \\r
-                                                 (SVSLFP + SVSLMD + SVSMLACE); PMMCTL0_H = 0x00; )\r
-#define SVSH_OPTIMIZED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= \\r
-                                                 (SVSHMD + SVSHFP + SVSMHACE); PMMCTL0_H = 0x00; )\r
-\r
-/*******************************************************************************\r
- * Defines\r
- ******************************************************************************/\r
-#define PMM_STATUS_OK     0\r
-#define PMM_STATUS_ERROR  1\r
-\r
-/*******************************************************************************\r
- * \brief   Set Vcore to expected level\r
- *\r
- * \param level     Level to which Vcore needs to be increased/decreased\r
- * \return status   Success/failure\r
- ******************************************************************************/\r
-extern uint16_t SetVCore(uint8_t level);\r
-\r
-#endif /* HAL_PMM_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.c
deleted file mode 100644 (file)
index 0b67ec7..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-//*******************************************************************************\r
-//  Provides Functions to Initialize the UCS/FLL and clock sources\r
-//    File: hal_ucs.c\r
-//\r
-//    Texas Instruments\r
-//\r
-//    Version 1.2\r
-//    11/24/09\r
-//\r
-//    V1.0  Initial Version\r
-//    V1.1  Added timeout function\r
-//    V1.1  Added parameter for XTDrive\r
-//*******************************************************************************\r
-\r
-#include "msp430.h"\r
-#include "hal_UCS.h"\r
-\r
-//************************************************************************\r
-// Check and define required Defines\r
-//************************************************************************\r
-\r
-#ifndef XT1LFOFFG               // Defines if not available in header file\r
-#define XT1LFOFFG 0\r
-#endif\r
-#ifndef XT1HFOFFG               // Defines if not available in header file\r
-#define XT1HFOFFG 0\r
-#endif\r
-#ifndef XT2OFFG                 // Defines if not available in header file\r
-#define XT2OFFG 0\r
-#endif\r
-#ifndef XTS                    // Defines if not available in header file\r
-#define XTS 0\r
-#endif\r
-#ifndef XT2DRIVE_3             // Defines if not available in header file\r
-#define XT2DRIVE_3  0\r
-#endif\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for 32kHz Cristal on LFXT1\r
- *\r
-*/\r
-void LFXT_Start(uint16_t xtdrive)\r
-{\r
-  UCSCTL6_L |= XT1DRIVE1_L+XT1DRIVE0_L; // Highest drive setting for XT1 startup\r
-\r
-  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags fault flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-  UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(xtdrive); // set Drive mode\r
-}\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for 32kHz Cristal on LFXT1 with timeout counter\r
- *\r
-*/\r
-uint16_t LFXT_Start_Timeout(uint16_t xtdrive, uint16_t timeout)\r
-{\r
-  UCSCTL6_L |= XT1DRIVE1_L+XT1DRIVE0_L; // Highest drive setting for XT1 startup\r
-\r
-  while ((SFRIFG1 & OFIFG) && timeout--){   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags fault flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-  UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(xtdrive); // set Drive mode\r
-  if (timeout)\r
-    return (UCS_STATUS_OK);\r
-  else\r
-    return (UCS_STATUS_ERROR);\r
-}\r
-\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for  XT1\r
- *\r
-*/\r
-void XT1_Start(uint16_t xtdrive)\r
-{\r
-  UCSCTL6 &= ~(XT1OFF | XT1DRIVE_3);  // enable XT1\r
-  UCSCTL6 |= (XTS | xtdrive);         // enable XT1 and set XT1Drive\r
-\r
-  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-}\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for XT1 with timeout counter\r
- *\r
-*/\r
-uint16_t XT1_Start_Timeout(uint16_t xtdrive, uint16_t timeout)\r
-{\r
-  UCSCTL6 &= ~(XT1OFF | XT1DRIVE_3);  // enable XT1\r
-  UCSCTL6 |= (XTS | xtdrive);         // enable XT1 and set XT1Drive\r
-\r
-  while ((SFRIFG1 & OFIFG) && timeout--) {   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-  if (timeout)\r
-    return (UCS_STATUS_OK);\r
-  else\r
-    return (UCS_STATUS_ERROR);\r
-}\r
-\r
-//====================================================================\r
-/**\r
- * Use  XT1 in Bypasss mode\r
- *\r
-*/\r
-void XT1_Bypass(void)\r
-{\r
-  UCSCTL6 |= XT1BYPASS;\r
-\r
-  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-}\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for  XT2\r
- *\r
-*/\r
-void XT2_Start(uint16_t xtdrive)\r
-{\r
-  UCSCTL6 &= ~(XT2OFF | XT2DRIVE_3);  // enable XT2\r
-  UCSCTL6 |= (xtdrive);               // Set XT2Drive\r
-\r
-  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-\r
-}\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for XT2 with timeout counter\r
- *\r
-*/\r
-uint16_t XT2_Start_Timeout(uint16_t xtdrive, uint16_t timeout)\r
-{\r
-  UCSCTL6 &= ~XT2OFF;                       // Set XT2 On\r
-  UCSCTL6 &= ~XT2DRIVE_3;                   // enable XT2\r
-  UCSCTL6 |= (xtdrive);                     // Set XT2Drive\r
-\r
-  while ((SFRIFG1 & OFIFG) && timeout--){   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-  if (timeout)\r
-    return (UCS_STATUS_OK);\r
-  else\r
-    return (UCS_STATUS_ERROR);\r
-}\r
-\r
-//====================================================================\r
-/**\r
- * Use XT2 in Bypasss mode\r
- *\r
-*/\r
-void XT2_Bypass(void)\r
-{\r
-#ifdef XT2BYPASS              // on devices without XT2 this function will be empty\r
-  UCSCTL6 |= XT2BYPASS;\r
-\r
-  while (SFRIFG1 & OFIFG) {   // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;        // Clear OFIFG fault flag\r
-  }\r
-#endif\r
-}\r
-\r
-//====================================================================\r
-/**\r
-  * Initializes FLL of the UCS and wait till settled\r
-  *\r
-  * \param fsystem  required system frequency (MCLK) in kHz\r
-  * \param ratio    ratio between MCLK and FLLREFCLK\r
-  */\r
-void Init_FLL_Settle(uint16_t fsystem, uint16_t ratio)\r
-{\r
-  volatile uint16_t x = ratio * 32;       \r
-  // save actual state of FLL loop control\r
-  uint16_t globalInterruptState = __get_SR_register() & SCG0;\r
-                                                               \r
-  __bic_SR_register(SCG0);      // Enable FLL loop control\r
-\r
-  Init_FLL(fsystem, ratio);\r
-  \r
-  while(x--)\r
-  {\r
-   __delay_cycles(30); \r
-  }\r
-  \r
-  __bis_SR_register(globalInterruptState);     // restore previous state\r
-\r
-}\r
-\r
-//====================================================================\r
-/**\r
-  * Initializes FLL of the UCS\r
-  *\r
-  * \param fsystem  required system frequency (MCLK) in kHz\r
-  * \param ratio    ratio between fsystem and FLLREFCLK\r
-  */\r
-static void Init_FLL(uint16_t fsystem, uint16_t ratio)\r
-{\r
-  uint16_t d, dco_div_bits;\r
-  uint16_t mode = 0;\r
-\r
-  d = ratio;\r
-  dco_div_bits = FLLD__2;        // Have at least a divider of 2\r
-  if (fsystem > 16000){\r
-    d >>= 1 ;\r
-    mode = 1;\r
-  }\r
-  else\r
-    fsystem <<= 1;               // fsystem = fsystem * 2\r
-\r
-  while (d > 512)\r
-  {\r
-    dco_div_bits = dco_div_bits + FLLD0;  // set next higher div level\r
-    d >>= 1;\r
-  }\r
-\r
-  UCSCTL0 = 0x000;               // Set DCO to lowest Tap\r
-\r
-  UCSCTL2 &= ~(0x3FF);           // Reset FN bits\r
-  UCSCTL2 = dco_div_bits | (d - 1);\r
-\r
-  if (fsystem <= 630)            //           fsystem < 0.63MHz\r
-       UCSCTL1= DCORSEL_0 ;\r
-  else if (fsystem <  1250)      // 0.63MHz < fsystem < 1.25MHz\r
-       UCSCTL1= DCORSEL_1 ;\r
-  else if (fsystem <  2500)      // 1.25MHz < fsystem <  2.5MHz\r
-       UCSCTL1= DCORSEL_2 ;\r
-  else if (fsystem <  5000)      // 2.5MHz  < fsystem <    5MHz\r
-       UCSCTL1= DCORSEL_3 ;\r
-  else if (fsystem <  10000)     // 5MHz    < fsystem <   10MHz\r
-       UCSCTL1= DCORSEL_4 ;\r
-  else if (fsystem <  20000)     // 10MHz   < fsystem <   20MHz\r
-       UCSCTL1= DCORSEL_5 ;\r
-  else if (fsystem <  40000)     // 20MHz   < fsystem <   40MHz\r
-       UCSCTL1= DCORSEL_6 ;\r
-  else\r
-       UCSCTL1= DCORSEL_7 ;\r
-\r
-  while (SFRIFG1 & OFIFG) {                               // check OFIFG fault flag\r
-    UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG);     // Clear OSC flaut Flags\r
-    SFRIFG1 &= ~OFIFG;                                    // Clear OFIFG fault flag\r
-  }\r
-\r
-  if (mode == 1)                                         // fsystem > 16000\r
-    SELECT_MCLK_SMCLK(SELM__DCOCLK + SELS__DCOCLK);       // select DCOCLK\r
-  else\r
-   SELECT_MCLK_SMCLK(SELM__DCOCLKDIV + SELS__DCOCLKDIV); // selcet DCODIVCLK\r
-\r
-  \r
-} // End of fll_init()\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_UCS.h
deleted file mode 100644 (file)
index d78aa5d..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-//*******************************************************************************\r
-//  Provides Functions to Initialize the UCS/FLL and clock sources\r
-//    File: hal_ucs.c\r
-//\r
-//    Texas Instruments\r
-//\r
-//    Version 1.2\r
-//    11/24/09\r
-//\r
-//    V1.0  Initial Version\r
-//    V1.1  Added timeout function\r
-//    V1.1  Added parameter for XTDrive\r
-//*******************************************************************************\r
-\r
-\r
-#ifndef __hal_UCS\r
-#define __hal_UCS\r
-\r
-#include <stdint.h>\r
-#include "hal_macros.h"\r
-\r
-/*************************************************************************\r
-* MACROS\r
-**************************************************************************/\r
-\r
-/* Select source for FLLREF  e.g. SELECT_FLLREF(SELREF__XT1CLK) */\r
-#define SELECT_FLLREF(source) st(UCSCTL3 = (UCSCTL3 & ~(SELREF_7)) | (source);) \r
-/* Select source for ACLK    e.g. SELECT_ACLK(SELA__XT1CLK) */\r
-#define SELECT_ACLK(source)   st(UCSCTL4 = (UCSCTL4 & ~(SELA_7))   | (source);) \r
-/* Select source for MCLK    e.g. SELECT_MCLK(SELM__XT2CLK) */\r
-#define SELECT_MCLK(source)   st(UCSCTL4 = (UCSCTL4 & ~(SELM_7))   | (source);) \r
-/* Select source for SMCLK   e.g. SELECT_SMCLK(SELS__XT2CLK) */\r
-#define SELECT_SMCLK(source)  st(UCSCTL4 = (UCSCTL4 & ~(SELS_7))   | (source);) \r
-/* Select source for MCLK and SMCLK e.g. SELECT_MCLK_SMCLK(SELM__DCOCLK + SELS__DCOCLK) */\r
-#define SELECT_MCLK_SMCLK(sources) st(UCSCTL4 = (UCSCTL4 & ~(SELM_7 + SELS_7)) | (sources);)\r
-\r
-/* set ACLK/x */\r
-#define ACLK_DIV(x)         st(UCSCTL5 = (UCSCTL5 & ~(DIVA_7)) | (DIVA__##x);)     \r
-/* set MCLK/x */\r
-#define MCLK_DIV(x)         st(UCSCTL5 = (UCSCTL5 & ~(DIVM_7)) | (DIVM__##x);)     \r
-/* set SMCLK/x */\r
-#define SMCLK_DIV(x)        st(UCSCTL5 = (UCSCTL5 & ~(DIVS_7)) | (DIVS__##x);)     \r
-/* Select divider for FLLREF  e.g. SELECT_FLLREFDIV(2) */\r
-#define SELECT_FLLREFDIV(x) st(UCSCTL3 = (UCSCTL3 & ~(FLLREFDIV_7))|(FLLREFDIV__##x);) \r
-\r
-//************************************************************************\r
-// Defines\r
-//************************************************************************\r
-\r
-#define UCS_STATUS_OK     0\r
-#define UCS_STATUS_ERROR  1\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for 32kHz Cristal on LFXT1\r
- *\r
- * \param xtdrive: Bits defining the LFXT drive mode after startup\r
- *\r
-*/\r
-extern void LFXT_Start(uint16_t xtdrive);\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for 32kHz Cristal on LFXT1 with timeout counter\r
- *\r
- * \param xtdrive: Bits defining the LFXT drive mode after startup\r
- * \param timeout: value for the timeout counter\r
- *\r
-*/\r
-extern uint16_t LFXT_Start_Timeout(uint16_t xtdrive, uint16_t timeout);\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for XT1\r
- *\r
- * \param xtdrive: Bits defining the XT drive mode\r
- *\r
-*/\r
-extern void XT1_Start(uint16_t xtdrive);\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for XT1 with timeout counter\r
- *\r
- * \param xtdrive: Bits defining the XT drive mode\r
- * \param timeout: value for the timeout counter\r
- *\r
-*/\r
-extern uint16_t XT1_Start_Timeout(uint16_t xtdrive, uint16_t timeout);\r
-\r
-//====================================================================\r
-/**\r
- * Use XT1 in Bypasss mode\r
- *\r
-*/\r
-extern void XT1_Bypass(void);\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for XT2\r
- *\r
- * \param xtdrive: Bits defining the XT drive mode\r
- *\r
-*/\r
-extern void XT2_Start(uint16_t xtdrive);\r
-\r
-//====================================================================\r
-/**\r
- * Startup routine for XT2 with timeout counter\r
- *\r
- * \param xtdrive: Bits defining the XT drive mode\r
- * \param timeout: value for the timeout counter\r
- *\r
-*/\r
-extern uint16_t XT2_Start_Timeout(uint16_t xtdrive, uint16_t timeout);\r
-\r
-//====================================================================\r
-/**\r
- * Use XT2 in Bypasss mode for MCLK\r
- *\r
-*/\r
-extern void XT2_Bypass(void);\r
-\r
-//====================================================================\r
-/**\r
-  * Initializes FLL of the UCS and wait till settled\r
-  *\r
-  * \param fsystem  required system frequency (MCLK) in kHz\r
-  * \param ratio    ratio between fsystem and FLLREFCLK\r
-  */\r
-extern void Init_FLL_Settle(uint16_t fsystem, uint16_t ratio);\r
-\r
-\r
-//====================================================================\r
-/**\r
-  * Initializes FLL of the UCS\r
-  *\r
-  * \param fsystem  required system frequency (MCLK) in kHz\r
-  * \param ratio    ratio between fsystem and FLLREFCLK\r
-  */\r
-static void Init_FLL(uint16_t fsystem, uint16_t ratio);\r
-\r
-#endif /* __hal_UCS */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_macros.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/F5XX_6XX_Core_Lib/hal_macros.h
deleted file mode 100644 (file)
index 4eec43a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-/*\r
- *  This macro is for use by other macros to form a fully valid C statement.\r
- */\r
-#define st(x)      do { x } while (__LINE__ == -1)\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/FreeRTOSConfig.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/FreeRTOSConfig.h
deleted file mode 100644 (file)
index e320f75..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or 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
-\r
-/* The following #error directive is to remind users that a batch file must be\r
- * executed prior to this project being built.  The batch file *cannot* be\r
- * executed from within CCS4!  Once it has been executed, re-open or refresh\r
- * the CCS4 project and remove the #error line below.\r
- */\r
-//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\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                            1\r
-#define configCPU_CLOCK_HZ                             ( 25000000UL )\r
-#define configLFXT_CLOCK_HZ                    ( 32768L )\r
-#define configTICK_RATE_HZ                             ( ( portTickType ) 1000 )\r
-#define configMAX_PRIORITIES                   ( ( unsigned portBASE_TYPE ) 5 )\r
-#define configTOTAL_HEAP_SIZE                  ( ( size_t ) ( 10 * 1024 ) )\r
-#define configMAX_TASK_NAME_LEN                        ( 10 )\r
-#define configUSE_TRACE_FACILITY               0\r
-#define configUSE_16_BIT_TICKS                 1\r
-#define configIDLE_SHOULD_YIELD                        1\r
-#define configUSE_MUTEXES                              1\r
-#define configQUEUE_REGISTRY_SIZE              0\r
-#define configGENERATE_RUN_TIME_STATS  0\r
-#define configCHECK_FOR_STACK_OVERFLOW 2\r
-#define configUSE_RECURSIVE_MUTEXES            1\r
-#define configUSE_MALLOC_FAILED_HOOK   1\r
-#define configUSE_APPLICATION_TASK_TAG 0\r
-#define configUSE_COUNTING_SEMAPHORES  1\r
-\r
-#ifdef __LARGE_DATA_MODEL__\r
-       #define configMINIMAL_STACK_SIZE                ( ( unsigned short ) 80 )\r
-#else\r
-       #define configMINIMAL_STACK_SIZE                ( ( unsigned short ) 120 )\r
-#endif\r
-\r
-/* Co-routine definitions. */\r
-#define configUSE_CO_ROUTINES          0\r
-#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
-\r
-/* Software timer definitions. */\r
-#define configUSE_TIMERS                               1\r
-#define configTIMER_TASK_PRIORITY              ( 3 )\r
-#define configTIMER_QUEUE_LENGTH               10\r
-#define configTIMER_TASK_STACK_DEPTH   ( configMINIMAL_STACK_SIZE )\r
-\r
-/* Set the following definitions to 1 to include the API function, or zero\r
-to exclude the API function. */\r
-#define INCLUDE_vTaskPrioritySet               1\r
-#define INCLUDE_uxTaskPriorityGet              1\r
-#define INCLUDE_vTaskDelete                            0\r
-#define INCLUDE_vTaskCleanUpResources  0\r
-#define INCLUDE_vTaskSuspend                   1\r
-#define INCLUDE_vTaskDelayUntil                        1\r
-#define INCLUDE_vTaskDelay                             1\r
-\r
-/* The MSP430X port uses a callback function to configure its tick interrupt.\r
-This allows the application to choose the tick interrupt source.\r
-configTICK_VECTOR must also be set in FreeRTOSConfig.h to the correct interrupt\r
-vector for the chosen tick interrupt source.  This implementation of\r
-vApplicationSetupTimerInterrupt() generates the tick from timer A0, so in this\r
-case configTICK_VECTOR is set to TIMER0_A0_VECTOR. */\r
-#define configTICK_VECTOR                              TIMER0_A0_VECTOR\r
-\r
-#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }\r
-\r
-#endif /* FREERTOS_CONFIG_H */\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_MSP-EXP430F5438.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_MSP-EXP430F5438.h
deleted file mode 100644 (file)
index 6d97eda..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************\r
-    Filename: hal_MSP-EXP430F5438.h\r
-\r
-    Copyright 2010 Texas Instruments, Inc.\r
-\r
-This is the master header file and also the only necessary file to be included\r
-in order to use MSP-EXP430F5438 HAL.\r
-***************************************************************************/\r
-#ifndef HAL_MSP_EXP430F5438_H\r
-#define HAL_MSP_EXP430F5438_H\r
-\r
-#include "msp430.h"\r
-\r
-//#include "hal_PMM.h"\r
-#include "hal_UCS.h"\r
-\r
-#include "hal_lcd.h"\r
-#include "hal_buttons.h"\r
-//#include "hal_adc.h"\r
-#include "hal_board.h"\r
-//#include "hal_usb.h"\r
-#include "hal_buttons.h"\r
-//#include "hal_rf.h"\r
-//#include "hal_rtc.h"\r
-//#include "hal_tlv.h"\r
-#include "hal_pmm.h"\r
-\r
-#endif /* HAL_MSP_EXP430F5438_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_board.c
deleted file mode 100644 (file)
index 444741a..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/**\r
- * @file  hal_board.c\r
- *\r
- * Copyright 2010 Texas Instruments, Inc.\r
-******************************************************************************/\r
-#include "msp430.h"\r
-#include "hal_MSP-EXP430F5438.h"\r
-\r
-/**********************************************************************//**\r
- * @brief  Initializes ACLK, MCLK, SMCLK outputs on P11.0, P11.1,\r
- *         and P11.2, respectively.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halBoardOutputSystemClock(void) //outputs clock to testpoints\r
-{\r
-  CLK_PORT_DIR |= 0x07;\r
-  CLK_PORT_SEL |= 0x07;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Stops the output of ACLK, MCLK, SMCLK on P11.0, P11.1, and P11.2.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halBoardStopOutputSystemClock(void)\r
-{\r
-  CLK_PORT_OUT &= ~0x07;\r
-  CLK_PORT_DIR |= 0x07;        \r
-  CLK_PORT_SEL &= ~0x07;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Initializes all GPIO configurations.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halBoardInit(void)\r
-{\r
-  //Tie unused ports\r
-  PAOUT  = 0;\r
-  PADIR  = 0xFFFF;\r
-  PASEL  = 0;\r
-  PBOUT  = 0;\r
-  PBDIR  = 0xFFFF;\r
-  PBSEL  = 0;\r
-  PCOUT  = 0;\r
-  PCDIR  = 0xFFFF;\r
-  PCSEL  = 0;\r
-  PDOUT  = 0;\r
-  PDDIR  = 0xFFFF;\r
-  PDSEL  = 0x0003;\r
-  PEOUT  = 0;\r
-  PEDIR  = 0xFEFF;                          // P10.0 to USB RST pin,\r
-                                            // ...if enabled with J5\r
-  PESEL  = 0;\r
-  P11OUT = 0;\r
-  P11DIR = 0xFF;\r
-  PJOUT  = 0;\r
-  PJDIR  = 0xFF;\r
-  P11SEL = 0;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Set function for MCLK frequency.\r
- *\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void hal430SetSystemClock(unsigned long req_clock_rate, unsigned long ref_clock_rate)\r
-{\r
-  /* Convert a Hz value to a KHz value, as required\r
-   *  by the Init_FLL_Settle() function. */\r
-  unsigned long ulCPU_Clock_KHz = req_clock_rate / 1000UL;\r
-\r
-  //Make sure we aren't overclocking\r
-  if(ulCPU_Clock_KHz > 25000L)\r
-  {\r
-    ulCPU_Clock_KHz = 25000L;\r
-  }\r
-\r
-  //Set VCore to a level sufficient for the requested clock speed.\r
-  if(ulCPU_Clock_KHz <= 8000L)\r
-  {\r
-    SetVCore(PMMCOREV_0);\r
-  }\r
-  else if(ulCPU_Clock_KHz <= 12000L)\r
-  {\r
-    SetVCore(PMMCOREV_1);\r
-  }\r
-  else if(ulCPU_Clock_KHz <= 20000L)\r
-  {\r
-    SetVCore(PMMCOREV_2);\r
-  }\r
-  else\r
-  {\r
-    SetVCore(PMMCOREV_3);\r
-  }\r
-\r
-  //Set the DCO\r
-  Init_FLL_Settle( ( unsigned short )ulCPU_Clock_KHz, req_clock_rate / ref_clock_rate );\r
-}\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_board.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_board.h
deleted file mode 100644 (file)
index c4fe631..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/**********************************************************************//**\r
-    Filename: hal_board.h\r
-\r
-    Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-#ifndef HAL_BOARD_H\r
-#define HAL_BOARD_H\r
-\r
-#define LED_PORT_DIR      P1DIR\r
-#define LED_PORT_OUT      P1OUT\r
-#define LED_1             BIT0\r
-#define LED_2             BIT1\r
-\r
-#define CLK_PORT_DIR      P11DIR //outputs clocks to testpoints\r
-#define CLK_PORT_OUT      P11OUT\r
-#define CLK_PORT_SEL      P11SEL\r
-\r
-/*----------------------------------------------------------------\r
- *                  Function Prototypes\r
- *----------------------------------------------------------------\r
- */\r
-static void halBoardGetSystemClockSettings(unsigned char systemClockSpeed, \r
-                                           unsigned char *setDcoRange,\r
-                                           unsigned char *setVCore,\r
-                                           unsigned int  *setMultiplier);\r
-\r
-extern void halBoardOutputSystemClock(void);\r
-extern void halBoardStopOutputSystemClock(void);\r
-extern void halBoardInit(void);\r
-void hal430SetSystemClock(unsigned long req_clock_rate, unsigned long ref_clock_rate);\r
-\r
-#endif /* HAL_BOARD_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.c
deleted file mode 100644 (file)
index 42c8f0e..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/** \r
- * @file  hal_buttons.c\r
- * \r
- * Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-#include "msp430.h"\r
-#include "hal_MSP-EXP430F5438.h"\r
-\r
-/**********************************************************************//**\r
- * @brief  Initializes the GPIO ports to act as buttons.\r
- * \r
- * @param  buttonsMask The mask that specifies the button pins.\r
- * \r
- * @return none\r
- *************************************************************************/   \r
-void halButtonsInit(unsigned char buttonsMask)\r
-{  \r
-  BUTTON_PORT_OUT |= buttonsMask;\r
-  BUTTON_PORT_DIR &= ~buttonsMask;\r
-  BUTTON_PORT_REN |= buttonsMask; \r
-  BUTTON_PORT_SEL &= ~buttonsMask;       \r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Returns LOW for the buttons pressed.\r
- * \r
- * @param  none\r
- * \r
- * @return The buttons that have been pressed, identified by a bit = 0. \r
- *************************************************************************/\r
-unsigned char halButtonsPressed(void)\r
-{\r
-  unsigned char value;\r
-  value = BUTTON_PORT_IN;\r
-  return (0xFF - value);                    //Low==ButtonPressed\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Enables button interrupt(s) with low to high transitions.\r
- * \r
- * @param  buttonIntEnableMask The button pin(s) for which the interrupt(s) \r
- *                             should be enabled.\r
- * \r
- * @return none\r
- *************************************************************************/\r
-void halButtonsInterruptEnable(unsigned char buttonIntEnableMask)\r
-{\r
-  BUTTON_PORT_IES &= ~buttonIntEnableMask;\r
-  BUTTON_PORT_IFG &= ~buttonIntEnableMask;\r
-  BUTTON_PORT_IE |= buttonIntEnableMask;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Disables button interrupts \r
- * \r
- * @param  buttonIntEnableMask The button pin(s) for which the interrupt(s)\r
- *                             should be disabled. \r
- * \r
- * @return none\r
- *************************************************************************/\r
-void halButtonsInterruptDisable(unsigned char buttonIntEnableMask)\r
-{\r
-  BUTTON_PORT_IE &= ~buttonIntEnableMask;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Clears the button GPIO settings, disables the buttons. \r
- * \r
- * @param  none\r
- *************************************************************************/\r
-void halButtonsShutDown()\r
-{\r
-  //All output, outputting 0s\r
-  BUTTON_PORT_OUT &= ~(BUTTON_ALL);\r
-  BUTTON_PORT_DIR |= BUTTON_ALL;             \r
-}\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_buttons.h
deleted file mode 100644 (file)
index ffe691a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************\r
-    Filename: hal_buttons.h\r
-\r
-    Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-#ifndef HAL_BUTTONS_H\r
-#define HAL_BUTTONS_H\r
-\r
-#define BUTTON_PORT_DIR   P2DIR\r
-#define BUTTON_PORT_SEL   P2SEL\r
-#define BUTTON_PORT_OUT   P2OUT\r
-#define BUTTON_PORT_REN   P2REN\r
-#define BUTTON_PORT_IE    P2IE\r
-#define BUTTON_PORT_IES   P2IES\r
-#define BUTTON_PORT_IFG   P2IFG\r
-#define BUTTON_PORT_IN    P2IN\r
-\r
-#define BUTTON_SELECT     BIT3\r
-#define BUTTON_DOWN       BIT5\r
-#define BUTTON_UP         BIT4\r
-#define BUTTON_RIGHT      BIT2\r
-#define BUTTON_LEFT       BIT1 \r
-#define BUTTON_S1         BIT6 \r
-#define BUTTON_S2         BIT7 \r
-#define BUTTON_ALL        0xFE\r
-\r
-extern volatile unsigned char buttonsPressed;\r
-\r
-/*-------------------------------------------------------------\r
- *                  Function Prototypes \r
- * ------------------------------------------------------------*/ \r
-extern void halButtonsInit(unsigned char buttonsMask);\r
-extern unsigned char halButtonsPressed(void);\r
-extern void halButtonsInterruptEnable(unsigned char buttonIntEnableMask);\r
-extern void halButtonsInterruptDisable(unsigned char buttonIntEnableMask);\r
-extern void halButtonsShutDown();\r
-\r
-#endif /* HAL_BUTTONS_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.c
deleted file mode 100644 (file)
index f589c23..0000000
+++ /dev/null
@@ -1,1122 +0,0 @@
-/**\r
- * @file  hal_lcd.c\r
- *\r
- * Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-\r
-#include "msp430.h"\r
-#include "hal_MSP-EXP430F5438.h"\r
-#include "hal_lcd_fonts.h"\r
-\r
-unsigned char LcdInitMacro[]={\r
-            0x74,0x00,0x00,0x76,0x00,0x01,  // R00 start oscillation\r
-            0x74,0x00,0x01,0x76,0x00,0x0D,  // R01 driver output control\r
-            0x74,0x00,0x02,0x76,0x00,0x4C,  // R02 LCD - driving waveform control\r
-            0x74,0x00,0x03,0x76,0x12,0x14,  // R03 Power control\r
-            0x74,0x00,0x04,0x76,0x04,0x66,  // R04 Contrast control\r
-            0x74,0x00,0x05,0x76,0x00,0x10,  // R05 Entry mode\r
-            0x74,0x00,0x06,0x76,0x00,0x00,  // R06 RAM data write mask\r
-            0x74,0x00,0x07,0x76,0x00,0x15,  // R07 Display control\r
-            0x74,0x00,0x08,0x76,0x00,0x03,  // R08 Cursor Control\r
-            0x74,0x00,0x09,0x76,0x00,0x00,  // R09 RAM data write mask\r
-            0x74,0x00,0x0A,0x76,0x00,0x15,  // R0A\r
-            0x74,0x00,0x0B,0x76,0x00,0x03,  // R0B Horizontal Cursor Position\r
-            0x74,0x00,0x0C,0x76,0x00,0x03,  // R0C Vertical Cursor Position\r
-            0x74,0x00,0x0D,0x76,0x00,0x00,  // R0D\r
-            0x74,0x00,0x0E,0x76,0x00,0x15,  // R0E\r
-            0x74,0x00,0x0F,0x76,0x00,0x03,  // R0F\r
-            0x74,0x00,0x10,0x76,0x00,0x15,  // R0E\r
-            0x74,0x00,0x11,0x76,0x00,0x03,  // R0F\r
-};\r
-\r
-unsigned char Read_Block_Address_Macro[]= {0x74,0x00,0x12,0x77,0x00,0x00};\r
-unsigned char Draw_Block_Value_Macro[]={0x74,0x00,0x12,0x76,0xFF,0xFF};\r
-unsigned char Draw_Block_Address_Macro[]={0x74,0x00,0x11,0x76,0x00,0x00};\r
-\r
-unsigned int  LcdAddress = 0, LcdTableAddress = 0;\r
-unsigned char contrast   = 0x66;\r
-unsigned char backlight  = 8;\r
-int LCD_MEM[110*17];           //This array stores a copy of all data on the LCD\r
-                                                       //screen. If memory is an issue though, this array\r
-                                                       //can be eliminated and the halLcdReadBlock()\r
-                                                       //command can be used instead whenever you are\r
-                                                       //manipulating the currently displayed data.\r
-\r
-/**********************************************************************//**\r
- * @brief  Sends 3+3 bytes of data to the LCD using the format specified\r
- *         by the LCD Guide.\r
- *\r
- * @param  Data[] Data array for transmission\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdSendCommand(unsigned char Data[])\r
-{\r
-  unsigned char i;\r
-\r
-  LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
-  for ( i = 0; i < 6; i++ )\r
-  {\r
-    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-    UCB2TXBUF = Data[i];                    // Load data\r
-\r
-    if (i == 2)                             //Pull CS up after 3 bytes\r
-    {\r
-      while (UCB2STAT & UCBUSY);       \r
-      LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
-      LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer        \r
-    }\r
-  }\r
-  while (UCB2STAT & UCBUSY);           \r
-  LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Initializes the USCI module, LCD device for communication.\r
- *\r
- * - Sets up the SPI2C Communication Module\r
- * - Performs Hitachi LCD Initialization Procedure\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdInit(void)\r
-{\r
-  volatile unsigned int i=0;\r
-\r
-  LCD_CS_RST_OUT |= LCD_CS_PIN | LCD_RESET_PIN ;\r
-  LCD_CS_RST_DIR |= LCD_CS_PIN | LCD_RESET_PIN ;\r
-\r
-  LCD_BACKLT_SEL |= LCD_BACKLIGHT_PIN;\r
-\r
-  LCD_CS_RST_OUT &= ~LCD_RESET_PIN;         // Reset LCD\r
-  __delay_cycles(0x47FF);                   //Reset Pulse\r
-  LCD_CS_RST_OUT |= LCD_RESET_PIN;\r
-\r
-  // UCLK,MOSI setup, SOMI cleared\r
-  LCD_SPI_SEL |= LCD_MOSI_PIN + LCD_CLK_PIN;\r
-  LCD_SPI_SEL &= ~LCD_MISO_PIN;\r
-  LCD_SPI_DIR &= ~(LCD_MISO_PIN + LCD_MOSI_PIN);            // Pin direction controlled by module,\r
-                                                            // Set both pins to input as default\r
-\r
-  // Initialize the USCI_B2 module for SPI operation\r
-  UCB2CTL1 = UCSWRST;                       // Hold USCI in SW reset mode while configuring it\r
-  UCB2CTL0 = UCMST+UCSYNC+UCCKPL+UCMSB;     // 3-pin, 8-bit SPI master\r
-  UCB2CTL1 |= UCSSEL_2;                     // SMCLK\r
-  UCB2BR0 = 4;                              // Note: Do not exceed D/S spec for UCLK!\r
-  UCB2BR1 = 0;\r
-  UCB2CTL1 &= ~UCSWRST;                     // Release USCI state machine\r
-  UCB2IFG &= ~UCRXIFG;\r
-\r
-  // Wake-up the LCD as per datasheet specifications\r
-  halLcdActive();\r
-\r
-  // LCD Initialization Routine Using Predefined Macros\r
-  halLcdSendCommand(&LcdInitMacro[ 1 * 6 ]);\r
-  halLcdSendCommand(&LcdInitMacro[ 2 * 6 ]);\r
-  halLcdSendCommand(&LcdInitMacro[ 4 * 6 ]);\r
-  halLcdSendCommand(&LcdInitMacro[ 5 * 6 ]);\r
-  halLcdSendCommand(&LcdInitMacro[ 6 * 6 ]);\r
-  halLcdSendCommand(&LcdInitMacro[ 7 * 6 ]);\r
-\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Shuts down the LCD display and hdisables the USCI communication.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdShutDown(void)\r
-{\r
-  halLcdStandby();\r
-\r
-  LCD_CS_RST_DIR |= LCD_CS_PIN | LCD_RESET_PIN ;\r
-  LCD_CS_RST_OUT &= ~(LCD_CS_PIN | LCD_RESET_PIN );\r
-  LCD_CS_RST_OUT &= ~LCD_RESET_PIN;\r
-\r
-  LCD_SPI_SEL &= ~(LCD_MOSI_PIN + LCD_CLK_PIN + LCD_MISO_PIN);\r
-  LCD_CS_RST_DIR |= LCD_MOSI_PIN + LCD_CLK_PIN + LCD_MISO_PIN;\r
-  LCD_CS_RST_OUT &= ~(LCD_MOSI_PIN + LCD_CLK_PIN + LCD_MISO_PIN);\r
-\r
-  UCB2CTL0 = UCSWRST;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Initializes the LCD backlight PWM signal.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *\r
- *************************************************************************/\r
-void halLcdBackLightInit(void)\r
-{\r
-  LCD_BACKLT_DIR |= LCD_BACKLIGHT_PIN;\r
-  LCD_BACKLT_OUT |= LCD_BACKLIGHT_PIN;\r
-  LCD_BACKLT_SEL |= LCD_BACKLIGHT_PIN;\r
-\r
-  TA0CCTL3 = OUTMOD_7;\r
-  TA0CCR3 = TA0CCR0 >> 1 ;\r
-  backlight = 8;\r
-\r
-  TA0CCR0 = 400;\r
-  TA0CTL = TASSEL_2+MC_1;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Get function for the backlight PWM's duty cycle.\r
- *\r
- * @param  none\r
- *\r
- * @return backlight One of the the 17 possible settings - valued 0 to 16.\r
- *\r
- *************************************************************************/\r
-unsigned int halLcdGetBackLight(void)\r
-{\r
-  return backlight;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Set function for the backlight PWM's duty cycle\r
- *\r
- * @param  BackLightLevel The target backlight duty cycle - valued 0 to 16.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdSetBackLight(unsigned char BackLightLevel)\r
-{\r
-  unsigned int dutyCycle = 0, i, dummy;\r
-\r
-  if (BackLightLevel > 0)\r
-  {\r
-    TA0CCTL3 = OUTMOD_7;\r
-    dummy = (TA0CCR0 >> 4);\r
-\r
-    for (i = 0; i < BackLightLevel; i++)\r
-      dutyCycle += dummy;\r
-\r
-    TA0CCR3 = dutyCycle;\r
-\r
-    // If the backlight was previously turned off, turn it on.\r
-    if (!backlight)\r
-      TA0CTL |= MC0;\r
-  }\r
-  else\r
-  {    \r
-    TA0CCTL3 = 0;\r
-    TA0CTL &= ~MC0;\r
-  }\r
-  backlight = BackLightLevel;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Turns off the backlight.\r
- *\r
- * Clears the respective GPIO and timer settings.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdShutDownBackLight(void)\r
-{\r
-  LCD_BACKLT_DIR |= LCD_BACKLIGHT_PIN;\r
-  LCD_BACKLT_OUT &= ~(LCD_BACKLIGHT_PIN);\r
-  LCD_BACKLT_SEL &= ~LCD_BACKLIGHT_PIN;\r
-\r
-  TA0CCTL3 = 0;\r
-  TA0CTL = 0;\r
-\r
-  backlight = 0;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Set function for the contrast level of the LCD.\r
- *\r
- * @param  ContrastLevel The target contrast level\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdSetContrast(unsigned char ContrastLevel)\r
-{\r
-  if (ContrastLevel > 127) ContrastLevel = 127;\r
-  if (ContrastLevel < 70) ContrastLevel = 70;\r
-  LcdInitMacro[ 0x04 * 6 + 5 ] = ContrastLevel;\r
-  halLcdSendCommand(&LcdInitMacro[ 0x04 * 6 ]);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Get function for the contrast level of the LCD.\r
- *\r
- * @param  none\r
- *\r
- * @return ContrastLevel The LCD constrast level\r
- *************************************************************************/\r
-unsigned char halLcdGetContrast(void)\r
-{\r
-  return LcdInitMacro[ 0x04 * 6 + 5 ] ;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Turns the LCD cursor on at the current text position.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdCursor(void)\r
-{\r
-  LcdInitMacro[  8 * 6 + 5 ] ^= BIT2;\r
-  halLcdSendCommand(&LcdInitMacro[ 8 * 6 ]);\r
-\r
-  LcdInitMacro[ 0x0B * 6 + 5 ] = ((LcdAddress & 0x1F) << 3) ;\r
-  LcdInitMacro[ 0x0B * 6 + 4 ] = ( (LcdAddress & 0x1F) << 3 ) + 3;\r
-  LcdInitMacro[ 0x0C * 6 + 5 ] = (LcdAddress >> 5);\r
-  LcdInitMacro[ 0x0C * 6 + 4 ] = (LcdAddress >> 5) + 7;\r
-  halLcdSendCommand(&LcdInitMacro[ 0x0B * 6 ]);\r
-  halLcdSendCommand(&LcdInitMacro[ 0x0C * 6 ]);\r
-\r
-  halLcdSetAddress(LcdAddress);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Turns off the LCD cursor.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdCursorOff(void)\r
-{\r
-  LcdInitMacro[  8 * 6 + 5 ] &= ~BIT2;\r
-  halLcdSendCommand(&LcdInitMacro[ 8 * 6 ]);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Inverts the grayscale values of the LCD display (Black <> white).\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdReverse(void)\r
-{\r
-  LcdInitMacro[  7 * 6 + 5 ] ^= BIT1;\r
-  halLcdSendCommand(&LcdInitMacro[ 7 * 6 ]);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Sets the LCD in standby mode to reduce power consumption.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdStandby(void)\r
-{\r
-  LcdInitMacro[ 3 * 6 + 5 ] &= (~BIT3) & (~BIT2);\r
-  LcdInitMacro[ 3 * 6 + 5 ] |= BIT0;\r
-  halLcdSendCommand(&LcdInitMacro[ 3 * 6 ]);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Puts the LCD into active mode.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdActive(void)\r
-{\r
-  halLcdSendCommand(LcdInitMacro);                  // R00 start oscillation\r
-\r
-  // Wait a minimum of 25ms after issuing "start oscillation"\r
-  // command (to accomodate for MCLK up to 25MHz)\r
-  __delay_cycles(250000);\r
-\r
-  LcdInitMacro[ 3 * 6 + 5 ] |= BIT3;\r
-  LcdInitMacro[ 3 * 6 + 5 ] &= ~BIT0;\r
-  halLcdSendCommand(&LcdInitMacro[ 3 * 6 ]);        // R03 Power control\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Sets the pointer location in the LCD.\r
- *\r
- * - LcdAddress      = Address                                         \r
- * - LcdTableAddress = Correct Address Row + Column\r
- *                   = (Address / 0x20)* 17 + Column\r
- *\r
- * @param  Address The target pointer location in the LCD.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdSetAddress(int Address)\r
-{\r
-  int temp;\r
-\r
-  Draw_Block_Address_Macro[4] = Address >> 8;\r
-  Draw_Block_Address_Macro[5] = Address & 0xFF;\r
-  halLcdSendCommand(Draw_Block_Address_Macro);\r
-  LcdAddress = Address;\r
-  temp = Address >> 5;                      // Divided by 0x20\r
-  temp = temp + (temp << 4);\r
-  //Multiplied by (1+16) and added by the offset\r
-  LcdTableAddress = temp + (Address & 0x1F);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Draws a block at the specified LCD address.\r
- *\r
- * A block is the smallest addressable memory on the LCD and is\r
- * equivalent to 8 pixels, each of which is represented by 2 bits\r
- * that represent a grayscale value between 00b and 11b.\r
- *\r
- * @param  Address The address at which to draw the block.\r
- *\r
- * @param  Value   The value of the block\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdDrawBlock(unsigned int Address, unsigned int Value)\r
-{\r
-  halLcdSetAddress(Address);\r
-  halLcdDrawCurrentBlock(Value);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Writes Value to LCD CGram and MSP430 internal LCD table.\r
- *\r
- * Also updates the LcdAddress and LcdTableAddress to the correct values.\r
- *\r
- * @param  Value The value of the block to be written to the LCD.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdDrawCurrentBlock(unsigned int Value)\r
-{\r
-  int temp;\r
-\r
-  Draw_Block_Value_Macro[4] = Value >> 8;\r
-  Draw_Block_Value_Macro[5] = Value & 0xFF;\r
-  LCD_MEM[ LcdTableAddress ] = Value;\r
-\r
-  halLcdSendCommand(Draw_Block_Value_Macro);\r
-\r
-  LcdAddress++;\r
-  temp = LcdAddress >> 5;                   // Divided by 0x20\r
-  temp = temp + (temp << 4);\r
-  // Multiplied by (1+16) and added by the offset\r
-  LcdTableAddress = temp + (LcdAddress & 0x1F);\r
-\r
-  // If LcdAddress gets off the right edge, move to next line\r
-  if ((LcdAddress & 0x1F) > 0x11)\r
-    halLcdSetAddress( (LcdAddress & 0xFFE0) + 0x20 );\r
-  if (LcdAddress == LCD_Size)\r
-    halLcdSetAddress( 0 );\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Returns the LCD CGRAM value at location Address.\r
- *\r
- * @param  Address The address of the block to be read from the LCD.\r
- *\r
- * @return Value   The value held at the specified address.\r
- *************************************************************************/\r
-int halLcdReadBlock(unsigned int Address)\r
-{\r
-  int i = 0, Value = 0, ReadData[7];\r
-\r
-  halLcdSetAddress( Address );\r
-  halLcdSendCommand(Read_Block_Address_Macro);\r
-\r
-  LCD_CS_RST_OUT &= ~LCD_CS_PIN;              // start transfer CS=0\r
-  UCB2TXBUF = 0x77;                         // Transmit first character 0x77\r
-\r
-  while (!(UCB2IFG & UCTXIFG));\r
-  while (UCB2STAT & UCBUSY);\r
-\r
-  //Read 5 dummies values and 2 valid address data\r
-  LCD_SPI_SEL &= ~LCD_MOSI_PIN;             //Change SPI2C Dir\r
-  LCD_SPI_SEL |= LCD_MISO_PIN;\r
-\r
-  for (i = 0; i < 7; i ++ )\r
-  {\r
-    UCB2IFG &= ~UCRXIFG;\r
-    UCB2TXBUF = 1;                          // load dummy byte 1 for clk\r
-    while (!(UCB2IFG & UCRXIFG));\r
-    ReadData[i] = UCB2RXBUF;\r
-  }\r
-  LCD_CS_RST_OUT |= LCD_CS_PIN;              // Stop Transfer CS = 1\r
-\r
-  LCD_SPI_SEL |= LCD_MOSI_PIN;               //Change SPI2C Dir\r
-  LCD_SPI_SEL &= ~LCD_MISO_PIN;\r
-  LCD_CS_RST_DIR |= LCD_MOSI_PIN + LCD_CLK_PIN;\r
-  LCD_CS_RST_DIR &= ~LCD_MISO_PIN;\r
-\r
-  Value = (ReadData[5] << 8) + ReadData[6];\r
-  return Value;\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Draw a Pixel of grayscale at coordinate (x,y) to LCD\r
- *\r
- * @param  x         x-coordinate for grayscale value\r
- *\r
- * @param  y         y-coordinate for grayscale value\r
- *\r
- * @param  GrayScale The intended grayscale value of the pixel - one of\r
- *                   four possible settings.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdPixel( int x, int y, unsigned char GrayScale)\r
-{\r
-  int  Address, Value;\r
-  unsigned char offset;\r
-\r
-  //Each line increments by 0x20\r
-  if ( (x>=0 ) && (x<LCD_COL) && (y>=0) && (y<LCD_ROW))\r
-  {\r
-    Address = (y << 5) + (x >> 3) ;         //Narrow down to 8 possible pixels\r
-\r
-    Value = LCD_MEM[(y << 4)+ y + (x>>3)];  //y * 17 --> row. x>>3 --> column\r
-\r
-    offset = (x & 0x07) << 1;      //3 LSBs = pos. within the 8 columns\r
-    Value &= ~  (3 << offset);     //clear out the corresponding bits\r
-    Value |= GrayScale << offset;  //set pixel to GrayScale level\r
-\r
-    halLcdDrawBlock( Address, Value );\r
-  }\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Clears entire LCD CGRAM as well as LCD_MEM.\r
- *\r
- * @param  none\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdClearScreen(void)\r
-{\r
-  int i, j, k, Current_Location = 0;\r
-  halLcdSetAddress(0);\r
-\r
-  for (i=0; i < 110; i++)\r
-  {\r
-    //prepare to send image\r
-    LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
-    for ( k = 0; k < 3; k++ )\r
-    {\r
-      while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-      UCB2TXBUF = Draw_Block_Value_Macro[k];     // Load data\r
-    }\r
-    while (UCB2STAT & UCBUSY);         \r
-    LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
-    LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer  \r
-    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-    UCB2TXBUF = Draw_Block_Value_Macro[3];     // Load data\r
-\r
-    //send blank line\r
-    for (j=0; j < 17; j++)\r
-    {\r
-         LCD_MEM[ LcdTableAddress++ ] = 0x00;\r
-      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
-      UCB2TXBUF = 0x00;                   // Load data\r
-      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
-      UCB2TXBUF = 0x00;                   // Load data\r
-    }\r
-    //Clear the partially visible block at the edge of the screen\r
-    while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
-      UCB2TXBUF = 0x00;                   // Load data\r
-    while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
-      UCB2TXBUF = 0x00;                   // Load data\r
-    while (UCB2STAT & UCBUSY);         \r
-    LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
-\r
-    Current_Location += 0x20;\r
-    halLcdSetAddress(Current_Location );\r
-  }\r
-\r
-  halLcdSetAddress(0);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Loads an image of size = rows * columns, starting at the\r
- *         coordinate (x,y).\r
- *\r
- * @param  Image[] The image to be loaded\r
- *\r
- * @param  Rows    The number of rows in the image. Size = Rows * Columns.\r
- *\r
- * @param  Columns The number of columns in the image. Size = Rows * Columns.\r
- *\r
- * @param  x       x-coordinate of the image's starting location\r
- *\r
- * @param  y       y-coordinate of the image's starting location\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y)\r
-{\r
-  int i, CurrentLocation;\r
-\r
-  CurrentLocation = (y << 5) + (x >> 3);\r
-  halLcdSetAddress(CurrentLocation);\r
-  for (i=0; i < Rows; i++)\r
-  {\r
-    halLcdDrawCurrentLine(Image, Columns);\r
-    Image += Columns;\r
-    CurrentLocation += 0x20;\r
-    halLcdSetAddress(CurrentLocation);\r
-  }\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Writes Value to LCD CGram and MSP430 internal LCD table.\r
- *\r
- * Also updates the LcdAddress and LcdTableAddress to the correct values.\r
- *\r
- * @param  *value Pointer to the line to be written to the LCD.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdDrawCurrentLine(const unsigned int *value, int Columns)\r
-{\r
-  unsigned char i;\r
-\r
-  //prepare to send image\r
-  LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
-  for ( i = 0; i < 3; i++ )\r
-  {\r
-      while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-      UCB2TXBUF = Draw_Block_Value_Macro[i];     // Load data\r
-  }\r
-  while (UCB2STAT & UCBUSY);           \r
-  LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
-  LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer    \r
-  while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-  UCB2TXBUF = Draw_Block_Value_Macro[3];     // Load data\r
-\r
-  //send the image\r
-  for ( i = 0; i < Columns; i++ )\r
-  {    \r
-    // Make sure we are not writing outside LCD_MEM[]\r
-    if (LcdTableAddress >= sizeof(LCD_MEM)) {\r
-       break;\r
-    }\r
-       LCD_MEM[ LcdTableAddress++ ] = *value;\r
-       while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-    UCB2TXBUF = (*value) >> 8;                   // Load data\r
-    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-    UCB2TXBUF = (*value++) & 0xFF;                   // Load data\r
-  }\r
-\r
-  while (UCB2STAT & UCBUSY);           \r
-  LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Clears an image of size rows x columns starting at (x, y).\r
- *\r
- * @param  Columns The size, in columns, of the image to be cleared.\r
- *\r
- * @param  Rows    The size, in rows, of the image to be cleared.\r
- *\r
- * @param  x       x-coordinate of the image to be cleared\r
- *\r
- * @param  y       y-coordinate of the image to be cleared\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdClearImage(int Columns, int Rows, int x, int y)\r
-{\r
-  int i,j,k, Current_Location;\r
-  Current_Location = (y << 5) + (x >> 3);\r
-  halLcdSetAddress( Current_Location );\r
-\r
-  for (i=0; i < Rows; i++)\r
-  {\r
-    //prepare to send image\r
-    LCD_CS_RST_OUT &= ~LCD_CS_PIN;            //CS = 0 --> Start Transfer\r
-    for ( k = 0; k < 3; k++ )\r
-    {\r
-      while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-      UCB2TXBUF = Draw_Block_Value_Macro[k];     // Load data\r
-    }\r
-    while (UCB2STAT & UCBUSY);         \r
-    LCD_CS_RST_OUT |= LCD_CS_PIN;         //CS = 1 --> Stop Transfer\r
-    LCD_CS_RST_OUT &= ~LCD_CS_PIN;        //CS = 0 --> Start Transfer  \r
-    while (!(UCB2IFG & UCTXIFG));           // Wait for TXIFG\r
-    UCB2TXBUF = Draw_Block_Value_Macro[3];     // Load data\r
-\r
-    //send blank line\r
-    for (j=0; j < Columns; j++)\r
-    {\r
-         LCD_MEM[ LcdTableAddress++ ] = 0x00;\r
-      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
-      UCB2TXBUF = 0x00;                   // Load data\r
-      while (!(UCB2IFG & UCTXIFG));       // Wait for TXIFG\r
-      UCB2TXBUF = 0x00;                   // Load data\r
-    }\r
-    while (UCB2STAT & UCBUSY);         \r
-    LCD_CS_RST_OUT |= LCD_CS_PIN;             //CS = 1 --> Stop Transfer\r
-\r
-    Current_Location += 0x20;\r
-    halLcdSetAddress(Current_Location );\r
-  }\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Writes Value to LCD CGRAM. Pointers internal to the LCD\r
- *         are also updated.\r
- *\r
- * @param  Value The value to be written to the current LCD pointer\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdDrawTextBlock(unsigned int Value)\r
-{\r
-  int temp;\r
-\r
-  Draw_Block_Value_Macro[4] = Value >> 8;\r
-  Draw_Block_Value_Macro[5] = Value & 0xFF;\r
-  LCD_MEM[ LcdTableAddress ] = Value;\r
-\r
-  halLcdSendCommand(Draw_Block_Value_Macro);\r
-\r
-  LcdAddress++;\r
-  temp = LcdAddress >> 5;                   // Divided by 0x20\r
-  temp = temp + (temp << 4);\r
-  //Multiplied by (1+16) and added by the offset\r
-  LcdTableAddress = temp + (LcdAddress & 0x1F);\r
-\r
-  // If LcdAddress gets off the right edge, move to next line\r
-  if ((LcdAddress & 0x1F) > 0x10)\r
-    halLcdSetAddress( (LcdAddress & 0xFFE0) + 0x20 );\r
-\r
-  if (LcdAddress >= LCD_Size)\r
-    halLcdSetAddress( 0 );\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Displays the string to the LCD starting at current location.\r
- *\r
- * Writes all the data to LCD_MEM first, then updates all corresponding\r
- * LCD CGRAM locations at once, in a continuous fashion.\r
- *\r
- * @param  String[]  The string to be displayed on LCD.\r
- *\r
- * @param  TextStyle Value that specifies whether the string is to be\r
- *                   inverted or overwritten.\r
- *                   - Invert    = 0x01\r
- *                   - Overwrite = 0x04\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdPrint( char String[], unsigned char TextStyle)\r
-{\r
-  int i, j, Counter=0, BlockValue;\r
-  int Address, LCD_MEM_Add, ActualAddress;\r
-  int temp;\r
-  char LookUpChar;\r
-\r
-  ActualAddress = LcdAddress;\r
-  Counter =  LcdAddress & 0x1F;\r
-  i=0;\r
-\r
-  while (String[i]!=0)                      // Stop on null character\r
-  {\r
-    LookUpChar = fonts_lookup[String[i]];\r
-\r
-    for (j=0;j < FONT_HEIGHT ;j++)\r
-    {\r
-      Address = ActualAddress + j*0x20;\r
-      temp = Address >> 5;\r
-      temp += (temp <<4);\r
-\r
-      LCD_MEM_Add = temp + (Address & 0x1F);\r
-\r
-      BlockValue = LCD_MEM[ LCD_MEM_Add ];\r
-\r
-      if(TextStyle & GRAYSCALE_TEXT)\r
-      {\r
-       if (TextStyle & INVERT_TEXT)\r
-         if (TextStyle & OVERWRITE_TEXT)\r
-           BlockValue = 0xAAAA - GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
-         else\r
-           BlockValue |= 0xAAAA - GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
-       else\r
-         if (TextStyle & OVERWRITE_TEXT)\r
-            BlockValue = GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
-          else\r
-            BlockValue |= GrayScale_fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
-      }\r
-      else\r
-      {\r
-        if (TextStyle & INVERT_TEXT)\r
-          if (TextStyle & OVERWRITE_TEXT)\r
-            BlockValue = 0xFFFF - fonts[LookUpChar*13+j];\r
-          else\r
-            BlockValue |= 0xFFFF - fonts[LookUpChar*13+j];\r
-\r
-        else\r
-          if (TextStyle & OVERWRITE_TEXT)\r
-            BlockValue = fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
-          else\r
-            BlockValue |= fonts[LookUpChar*(FONT_HEIGHT+1) +j];\r
-      }\r
-      halLcdDrawBlock( Address, BlockValue);\r
-    }\r
-\r
-    Counter++;\r
-    if (Counter == 17)\r
-    {\r
-      Counter = 0;\r
-      ActualAddress += 0x20*FONT_HEIGHT  - 16;\r
-      if (ActualAddress > LCD_Last_Pixel-0x20*FONT_HEIGHT )\r
-        ActualAddress = 0;\r
-    }\r
-    else\r
-      ActualAddress++;\r
-    i++;\r
-  }\r
-  halLcdSetAddress(ActualAddress);\r
-\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Displays the string to the LCD starting at (x,y) location.\r
- *\r
- * Writes all the data to LCD_MEM first, then updates all corresponding\r
- * LCD CGRAM locations at once, in a continuous fashion.\r
- *\r
- * @param  String[]  String to be displayed on LCD\r
- *\r
- * @param  x         x-coordinate of the write location on the LCD\r
- *\r
- * @param  y         y-coordinate of the write location on the LCD\r
- *\r
- * @param  TextStyle Value that specifies whether the string is to be\r
- *                   inverted or overwritten.\r
- *                   - Invert    = 0x01\r
- *                   - Overwrite = 0x04\r
- *************************************************************************/\r
-void halLcdPrintXY( char String[], int x, int y, unsigned char TextStyle)\r
-{\r
-  //Each line increments by 0x20\r
-  halLcdSetAddress( (y << 5) + (x >> 3)) ;  //Narrow down to 8 possible pixels\r
-  halLcdPrint(String,  TextStyle);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Displays a string on the LCD on the specified line.\r
- *\r
- * @param  String[]  The string to be displayed on LCD.\r
- *\r
- * @param  Line      The line on the LCD on which to print the string.\r
- *\r
- * @param  TextStyle Value that specifies whether the string is to be\r
- *                   inverted or overwritten.\r
- *                   - Invert    = 0x01\r
- *                   - Overwrite = 0x04\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle)\r
-{\r
-  int temp;\r
-  temp = Line * FONT_HEIGHT ;\r
-  halLcdSetAddress( temp << 5 ) ;           // 0x20 = 2^5\r
-  halLcdPrint(String, TextStyle);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Prints a string beginning on a given line and column.\r
- *\r
- * @param  String[]  The string to be displayed on LCD.\r
- *\r
- * @param  Line      The line on which to print the string of text\r
- *\r
- * @param  Col       The column on which to print the string of text\r
- *\r
- * @param  TextStyle Value that specifies whether the string is to be\r
- *                   inverted or overwritten.\r
- *                   - Invert    = 0x01\r
- *                   - Overwrite = 0x04\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col,\r
-                        unsigned char TextStyle)\r
-{\r
-  int temp;\r
-\r
-  temp = Line * FONT_HEIGHT;\r
-  temp <<= 5;\r
-  temp += Col;\r
-\r
-  halLcdSetAddress( temp ) ;                // 0x20 = 2^5\r
-  halLcdPrint(String, TextStyle);\r
-}\r
-\r
-\r
-/**********************************************************************//**\r
- * @brief  Draws a horizontral line from (x1,y) to (x2,y) of GrayScale level\r
- *\r
- * @param  x1        x-coordinate of the first point\r
- *\r
- * @param  x2        x-coordinate of the second point\r
- *\r
- * @param  y         y-coordinate of both points\r
- *\r
- * @param  GrayScale Grayscale level of the horizontal line\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdHLine( int x1, int x2, int y, unsigned char GrayScale)\r
-{\r
-  int x_dir, x;\r
-  if ( x1 < x2 )\r
-    x_dir = 1;\r
-  else\r
-    x_dir = -1;\r
-  x = x1;\r
-  while (x != x2)\r
-  {\r
-    halLcdPixel( x,y, GrayScale);\r
-    x += x_dir;\r
-  }\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Draws a vertical line from (x,y1) to (x,y2) of GrayScale level\r
- *\r
- * @param  x         x-coordinate of both points\r
- *\r
- * @param  y1        y-coordinate of the first point\r
- *\r
- * @param  y2        y-coordinate of the second point\r
- *\r
- * @param  GrayScale GrayScale level of the vertical line\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdVLine( int x, int y1, int y2, unsigned char GrayScale)\r
-{\r
-  int y_dir, y;\r
-  if ( y1 < y2 )\r
-    y_dir = 1;\r
-  else\r
-    y_dir = -1;\r
-  y = y1;\r
-  while (y != y2)\r
-  {\r
-    halLcdPixel( x,y, GrayScale);\r
-    y += y_dir;\r
-  }\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Draws a line from (x1,y1) to (x2,y2) of GrayScale level.\r
- *\r
- * Uses Bresenham's line algorithm.\r
- *\r
- * @param  x1         x-coordinate of the first point\r
- *\r
- * @param  y1         y-coordinate of the first point\r
- *\r
- * @param  x2         x-coordinate of the second point\r
- *\r
- * @param  y2         y-coordinate of the second point\r
- *\r
- * @param  GrayScale  Grayscale level of the line\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdLine( int x1, int y1, int x2, int y2, unsigned char GrayScale)\r
-{\r
-  int x, y, deltay, deltax, d;\r
-  int x_dir, y_dir;\r
-\r
-  if ( x1 == x2 )\r
-    halLcdVLine( x1, y1, y2, GrayScale );\r
-  else\r
-  {\r
-    if ( y1 == y2 )\r
-      halLcdHLine( x1, x2, y1, GrayScale );\r
-    else                                    // a diagonal line\r
-    {\r
-      if (x1 > x2)\r
-        x_dir = -1;\r
-      else x_dir = 1;\r
-      if (y1 > y2)\r
-        y_dir = -1;\r
-      else y_dir = 1;\r
-\r
-      x = x1;\r
-      y = y1;\r
-      deltay = ABS(y2 - y1);\r
-      deltax = ABS(x2 - x1);\r
-\r
-      if (deltax >= deltay)\r
-      {\r
-        d = (deltay << 1) - deltax;\r
-        while (x != x2)\r
-        {\r
-          halLcdPixel(x, y,  GrayScale);\r
-          if ( d < 0 )\r
-            d += (deltay << 1);\r
-          else\r
-          {\r
-            d += ((deltay - deltax) << 1);\r
-            y += y_dir;\r
-          }\r
-          x += x_dir;\r
-        }\r
-      }\r
-      else\r
-      {\r
-        d = (deltax << 1) - deltay;\r
-        while (y != y2)\r
-        {\r
-          halLcdPixel(x, y, GrayScale);\r
-          if ( d < 0 )\r
-            d += (deltax << 1);\r
-          else\r
-          {\r
-            d += ((deltax - deltay) << 1);\r
-            x += x_dir;\r
-          }\r
-          y += y_dir;\r
-        }\r
-      }\r
-    }\r
-  }\r
-}\r
-\r
-\r
-/**********************************************************************//**\r
- * @brief  Draw a circle of Radius with center at (x,y) of GrayScale level.\r
- *\r
- * Uses Bresenham's circle algorithm\r
- *\r
- * @param  x         x-coordinate of the circle's center point\r
- *\r
- * @param  y         y-coordinate of the circle's center point\r
- *\r
- * @param  Radius    Radius of the circle\r
- *\r
- * @param  GrayScale Grayscale level of the circle\r
- *************************************************************************/\r
-void halLcdCircle(int x, int y, int Radius, int GrayScale)\r
-{\r
-  int xx, yy, ddF_x, ddF_y, f;\r
-\r
-  ddF_x = 0;\r
-  ddF_y = -(2 * Radius);\r
-  f = 1 - Radius;\r
-\r
-  xx = 0;\r
-  yy = Radius;\r
-  halLcdPixel(x + xx, y + yy, GrayScale);\r
-  halLcdPixel(x + xx, y - yy, GrayScale);\r
-  halLcdPixel(x - xx, y + yy, GrayScale);\r
-  halLcdPixel(x - xx, y - yy, GrayScale);\r
-  halLcdPixel(x + yy, y + xx, GrayScale);\r
-  halLcdPixel(x + yy, y - xx, GrayScale);\r
-  halLcdPixel(x - yy, y + xx, GrayScale);\r
-  halLcdPixel(x - yy, y - xx, GrayScale);\r
-  while (xx < yy)\r
-  {\r
-    if (f >= 0)\r
-    {\r
-      yy--;\r
-      ddF_y += 2;\r
-      f += ddF_y;\r
-    }\r
-    xx++;\r
-    ddF_x += 2;\r
-    f += ddF_x + 1;\r
-    halLcdPixel(x + xx, y + yy, GrayScale);\r
-    halLcdPixel(x + xx, y - yy, GrayScale);\r
-    halLcdPixel(x - xx, y + yy, GrayScale);\r
-    halLcdPixel(x - xx, y - yy, GrayScale);\r
-    halLcdPixel(x + yy, y + xx, GrayScale);\r
-    halLcdPixel(x + yy, y - xx, GrayScale);\r
-    halLcdPixel(x - yy, y + xx, GrayScale);\r
-    halLcdPixel(x - yy, y - xx, GrayScale);\r
-  }\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Scrolls a single row of pixels one column to the left.\r
- *\r
- * The column that is scrolled out of the left side of the LCD will be\r
- * displayed the right side of the LCD.\r
- *\r
- * @param  y    The row of pixels to scroll. y = 0 is at the top-left\r
- *              corner of the LCD.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdScrollRow(int y)\r
-{\r
-  int i, Address, LcdTableAddressTemp;\r
-  unsigned int temp;\r
-\r
-  Address = y << 5;\r
-\r
-  halLcdSetAddress( Address );\r
-\r
-  //Multiplied by (1+16) and added by the offset\r
-  LcdTableAddressTemp = y + (y << 4);\r
-  temp = ((LCD_MEM[LcdTableAddressTemp] & 0x0003) <<14);\r
-\r
-  for (i = 0; i < 0x10; i++)\r
-    halLcdDrawCurrentBlock( ( (LCD_MEM[LcdTableAddressTemp+i] & 0xFFFC ) >> 2 ) \\r
-    + ((LCD_MEM[LcdTableAddressTemp+i+1] & 0x0003) << 14 ));\r
-\r
-  halLcdDrawCurrentBlock( (( LCD_MEM[LcdTableAddressTemp + 0x10] & 0xFFFC ) >> 2) + temp);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Scrolls multiple rows of pixels, yStart to yEnd,\r
- *         one column to the left.\r
- *\r
- * The column that is scrolled out of the left side of the LCD will be\r
- * displayed the right side of the LCD. y = 0 is at the top-left of the\r
- * LCD screen.\r
- *\r
- * @param  yStart The beginning row to be scrolled\r
- *\r
- * @param  yEnd   The last row to be scrolled\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdHScroll(int yStart, int yEnd)\r
-{\r
-  int i ;\r
-\r
-  for (i = yStart; i < yEnd+1; i++)\r
-    halLcdScrollRow(i);\r
-}\r
-\r
-/**********************************************************************//**\r
- * @brief  Scrolls a line of text one column to the left.\r
- *\r
- * @param  Line The line of text to be scrolled.\r
- *\r
- * @return none\r
- *************************************************************************/\r
-void halLcdScrollLine(int Line)\r
-{\r
-  int i, Row ;\r
-\r
-  Row = Line * FONT_HEIGHT;\r
-\r
-  for (i = Row; i < Row + FONT_HEIGHT ; i++)\r
-    halLcdScrollRow(i);\r
-}\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd.h
deleted file mode 100644 (file)
index ab047b0..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************\r
-    Filename: hal_lcd.h\r
-\r
-    Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-#ifndef HAL_LCD_H\r
-#define HAL_LCD_H\r
-\r
-#ifndef MIN\r
-#define MIN(n,m)   (((n) < (m)) ? (n) : (m))\r
-#endif\r
-\r
-#ifndef MAX\r
-#define MAX(n,m)   (((n) < (m)) ? (m) : (n))\r
-#endif\r
-\r
-#ifndef ABS\r
-#define ABS(n)     (((n) < 0) ? -(n) : (n))\r
-#endif\r
-\r
-#define LCD_BACKLT_OUT      P8OUT\r
-#define LCD_BACKLT_DIR      P8DIR\r
-#define LCD_BACKLT_SEL      P8SEL\r
-#define LCD_BACKLIGHT_PIN   BIT3\r
-#define LCD_CS_RST_DIR      P9DIR\r
-#define LCD_CS_RST_OUT      P9OUT  \r
-#define LCD_CS_PIN          BIT6 \r
-#define LCD_RESET_PIN       BIT7\r
-#define LCD_SPI_SEL                    P9SEL\r
-#define LCD_SPI_DIR                    P9DIR\r
-#define LCD_MOSI_PIN           BIT1\r
-#define        LCD_MISO_PIN            BIT2\r
-#define LCD_CLK_PIN            BIT3\r
-\r
-#define LCD_ROW                 110\r
-#define LCD_COL                 138\r
-#define LCD_Size                3505\r
-#define LCD_MEM_Size            110*17\r
-#define LCD_Max_Column_Offset   0x10  \r
\r
-#define LCD_Last_Pixel          3505\r
-\r
-#define LCD_MEM_Row             0x11\r
-#define LCD_Row                 0x20\r
-\r
-// Grayscale level definitions\r
-#define PIXEL_OFF               0\r
-#define PIXEL_LIGHT             1\r
-#define PIXEL_DARK              2\r
-#define PIXEL_ON                3\r
-\r
-#define INVERT_TEXT             BIT0\r
-#define OVERWRITE_TEXT          BIT2\r
-#define GRAYSCALE_TEXT                 BIT1\r
-\r
-/*-------------------------------------------------------------\r
- *                  Function Prototypes \r
- * ------------------------------------------------------------*/ \r
-extern void halLcdInit(void);                   \r
-extern void halLcdShutDown(void);\r
-extern void halLcdBackLightInit(void);\r
-extern void halLcdSetBackLight(unsigned char BackLightLevel);\r
-extern unsigned int halLcdGetBackLight(void);\r
-extern void halLcdShutDownBackLight(void);\r
-extern void halLcdSendCommand(unsigned char Data[]) ;\r
-extern void halLcdSetContrast(unsigned char ContrastLevel);\r
-extern unsigned char halLcdGetContrast(void);\r
-extern void halLcdStandby(void);\r
-extern void halLcdActive(void);\r
-\r
-//Move to specified LCD address\r
-extern void halLcdSetAddress(int Address);          \r
-\r
-//Draw at current segment location\r
-extern void halLcdDrawCurrentBlock(unsigned int Value);  \r
-extern void halLcdDrawCurrentLine(const unsigned int *value, int length);         \r
-\r
-//Draw at specified location by calling\r
-//LCD_Set_Address(Address) & LCD_Draw_Current_Block( value )\r
-extern void halLcdDrawBlock(unsigned int Address, unsigned int Value); \r
-\r
-//Read value from LCD CGRAM\r
-extern int halLcdReadBlock(unsigned int Address);\r
-\r
-//Clear LCD Screen  \r
-extern void halLcdClearScreen(void);                    \r
-\r
-//Invert black to white and vice versa\r
-extern void halLcdReverse(void);\r
-\r
-// Draw a Pixel @ (x,y) with GrayScale level\r
-extern void halLcdPixel(  int x,  int y, unsigned char GrayScale);\r
-//Draw Line from (x1,y1) to (x2,y2) with GrayScale level\r
-extern void halLcdLine(  int x1,  int y1,  int x2,  int y2, unsigned char GrayScale); \r
-extern void halLcdHLine( int x1, int x2, int y, unsigned char GrayScale);\r
-extern void halLcdVLine( int x1, int x2, int y, unsigned char GrayScale);\r
-\r
-extern void halLcdCircle(int x, int y, int Radius, int GrayScale);\r
-\r
-extern void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y);\r
-extern void halLcdClearImage(int Columns, int Rows,  int x, int y);\r
-\r
-//Print String of Length starting at current LCD location\r
-extern void halLcdPrint(char String[], unsigned char TextStyle) ;\r
-\r
-//Print String of Length starting at (x,y)\r
-extern void halLcdPrintXY(char String[], int x, int y, unsigned char TextStyle);  \r
-\r
-//Print String of Length starting at (x,y)\r
-extern void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle);  \r
-extern void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col, unsigned char TextStyle);  \r
-\r
-extern void halLcdCursor(void);\r
-extern void halLcdCursorOff(void);\r
-//Scroll a single row of pixels\r
-extern void halLcdScrollRow(int y);\r
-//Scroll a number of consecutive rows from yStart to yEnd\r
-extern void halLcdHScroll(int yStart, int yEnd);\r
-//Scroll a line of text\r
-extern void halLcdScrollLine(int Line);\r
-\r
-#endif /* HAL_LCD_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.c
deleted file mode 100644 (file)
index 06002ac..0000000
+++ /dev/null
@@ -1,323 +0,0 @@
-/**********************************************************************//**\r
- * @file UserExperienceGraphics.c\r
- * \r
- * Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-\r
-const unsigned char fonts_lookup[]={\r
-          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
-          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
-          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
-          0x00,0x00,63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,              \r
-          64,65,0,69,0,68,67,0,0,1,         //'0' = 48 = 0x30\r
-          2,3,4,5,6,7,8,9,66,0,             //'9' = 57 = 0x39\r
-          0,70,0,62,0,10,11,12,13,14,       //'A' --> 'Z'\r
-          15,16,17,18,19,20,21,22,23,24,\r
-          25,26,27,28,29,30,31,32,33,34, \r
-          35,0,0,0,71,0,0,36,37,38,         //'a' = 97 \r
-          39,40,41,42,43,44,45,46,47,48,\r
-          49,50,51,52,53,54,55,56,57,58,\r
-          59,60,61,62,0 ,0, 0, 72,73,74,\r
-          75,76,77,78,79,80,81              //'z' = 122\r
-          };            \r
-\r
-const unsigned int fonts[]= {\r
-          0x0000, 0x0ffc, 0x3c0f, 0x3f0f, 0x3fcf, 0x3ccf, 0x3cff, 0x3c3f, \r
-                 0x3c0f, 0x0ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x00c0, 0x00f0,        \r
-          0x00ff, 0x00f0, 0x00f0, 0x00f0, 0x00f0, 0x00f0, 0x0fff, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f00, 0x03c0, \r
-          0x00f0, 0x003c, 0x0f0f, 0x0fff, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x03fc, 0x0f0f, 0x0f00, 0x0f00, 0x03f0, 0x0f00, 0x0f00, 0x0f0f, \r
-          0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f00, 0x0fc0, 0x0ff0, \r
-          0x0f3c, 0x0f0f, 0x3fff, 0x0f00, 0x0f00, 0x3fc0, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0fff, 0x000f, 0x000f, 0x000f, 0x03ff, 0x0f00, \r
-          0x0f00, 0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, \r
-          0x003c, 0x000f, 0x000f, 0x03ff, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, 0x3c0f, 0x3c0f, 0x3c00, \r
-          0x0f00, 0x03c0, 0x00f0, 0x00f0, 0x00f0, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f3f, 0x03fc, 0x0fcf, 0x0f0f, \r
-          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, \r
-          0x0f0f, 0x0f0f, 0x0ffc, 0x03c0, 0x03c0, 0x00f0, 0x00fc, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x00f0, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, \r
-          0x0fff, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0fff, 0x3c3c, 0x3c3c, 0x3c3c, 0x0ffc, 0x3c3c, 0x3c3c, 0x3c3c, \r
-          0x0fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0ff0, 0x3c3c, 0x3c0f, \r
-          0x000f, 0x000f, 0x000f, 0x3c0f, 0x3c3c, 0x0ff0, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x03ff, 0x0f3c, 0x3c3c, 0x3c3c, 0x3c3c, 0x3c3c, \r
-          0x3c3c, 0x0f3c, 0x03ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, \r
-          0x303c, 0x003c, 0x0c3c, 0x0ffc, 0x0c3c, 0x003c, 0x303c, 0x3fff, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x3fff, 0x3c3c, 0x303c, 0x0c3c, \r
-          0x0ffc, 0x0c3c, 0x003c, 0x003c, 0x00ff, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0ff0, 0x3c3c, 0x3c0f, 0x000f, 0x000f, 0x3f0f, 0x3c0f, \r
-          0x3c3c, 0x3ff0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, \r
-          0x0f0f, 0x0f0f, 0x0fff, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x03fc, 0x00f0, 0x00f0, 0x00f0, 0x00f0, \r
-          0x00f0, 0x00f0, 0x00f0, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x3fc0, 0x0f00, 0x0f00, 0x0f00, 0x0f00, 0x0f0f, 0x0f0f, 0x0f0f, \r
-          0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c3f, 0x3c3c, 0x0f3c, \r
-          0x0f3c, 0x03fc, 0x0f3c, 0x0f3c, 0x3c3c, 0x3c3f, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x00ff, 0x003c, 0x003c, 0x003c, 0x003c, 0x303c, \r
-          0x3c3c, 0x3c3c, 0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c0f, \r
-          0x3f3f, 0x3fff, 0x3fff, 0x3ccf, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x3c0f, 0x3c0f, 0x3c3f, 0x3cff, \r
-          0x3fff, 0x3fcf, 0x3f0f, 0x3c0f, 0x3c0f, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x03f0, 0x0f3c, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, \r
-          0x0f3c, 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fff, 0x3c3c, \r
-          0x3c3c, 0x3c3c, 0x0ffc, 0x003c, 0x003c, 0x003c, 0x00ff, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x03f0, 0x0f3c, 0x3c0f, 0x3c0f, 0x3c0f, \r
-          0x3f0f, 0x3fcf, 0x0ffc, 0x0f00, 0x3fc0, 0x0000, 0x0000, 0x0000, \r
-          0x0fff, 0x3c3c, 0x3c3c, 0x3c3c, 0x0ffc, 0x0f3c, 0x3c3c, 0x3c3c, \r
-          0x3c3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0f0f, \r
-          0x000f, 0x00fc, 0x03c0, 0x0f0f, 0x0f0f, 0x03fc, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0fff, 0x0cf3, 0x00f0, 0x00f0, 0x00f0, 0x00f0, \r
-          0x00f0, 0x00f0, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, \r
-          0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, \r
-          0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, 0x00f0, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x3c0f, 0x3c0f, 0x3c0f, 0x3c0f, 0x3ccf, 0x3ccf, 0x0f3c, \r
-          0x0f3c, 0x0f3c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, \r
-          0x0f0f, 0x03fc, 0x00f0, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, \r
-          0x00f0, 0x00f0, 0x00f0, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x3fff, 0x3f0f, 0x03c3, 0x03c0, 0x00f0, 0x003c, 0x303c, 0x3c0f, \r
-          0x3fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x03fc, 0x0f00, 0x0ffc, 0x0f0f, 0x0f0f, 0x3cfc, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x003f, 0x003c, 0x003c, 0x0ffc, 0x3c3c, 0x3c3c, \r
-          0x3c3c, 0x3c3c, 0x0fcf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x03fc, 0x0f0f, 0x000f, 0x000f, 0x0f0f, 0x03fc, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0fc0, 0x0f00, 0x0f00, 0x0ffc, \r
-          0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x3cfc, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0fff, 0x000f, \r
-          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, 0x0f3c, \r
-          0x003c, 0x003c, 0x03ff, 0x003c, 0x003c, 0x003c, 0x00ff, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3cfc, 0x0f0f, \r
-          0x0f0f, 0x0f0f, 0x0ffc, 0x0f00, 0x0f0f, 0x03fc, 0x0000, 0x0000, \r
-          0x003f, 0x003c, 0x003c, 0x0f3c, 0x3cfc, 0x3c3c, 0x3c3c, 0x3c3c, \r
-          0x3c3f, 0x0000, 0x0000, 0x0000, 0x0000, 0x03c0, 0x03c0, 0x0000, \r
-          0x03fc, 0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x3ffc, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0f00, 0x0f00, 0x0000, 0x0ff0, 0x0f00, 0x0f00, \r
-          0x0f00, 0x0f00, 0x0f0f, 0x0f0f, 0x03fc, 0x0000, 0x0000, 0x003f, \r
-          0x003c, 0x003c, 0x3c3c, 0x0f3c, 0x03fc, 0x0f3c, 0x3c3c, 0x3c3f, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x03c0, 0x03c0, 0x03c0, \r
-          0x03c0, 0x03c0, 0x03c0, 0x03c0, 0x3ffc, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0fff, 0x3ccf, 0x3ccf, 0x3ccf, \r
-          0x3ccf, 0x3c0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x03ff, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, \r
-          0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0fcf, 0x3c3c, 0x3c3c, 0x3c3c, 0x3c3c, \r
-          0x0ffc, 0x003c, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x3cfc, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x0ffc, 0x0f00, 0x3fc0, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f3f, 0x3f3c, 0x3cfc, \r
-          0x003c, 0x003c, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x03fc, 0x0f0f, 0x003c, 0x03c0, 0x0f0f, 0x03fc, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x003c, 0x0fff, \r
-          0x003c, 0x003c, 0x003c, 0x0f3c, 0x03f0, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, \r
-          0x0f0f, 0x3cfc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0f0f, 0x0f0f, 0x0f0f, 0x0f0f, 0x03fc, 0x00f0, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3c0f, 0x3c0f, \r
-          0x3ccf, 0x3ccf, 0x0f3c, 0x0f3c, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x3c0f, 0x0f3c, 0x03f0, 0x03f0, 0x0f3c, \r
-          0x3c0f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x3c3c, 0x3c3c, 0x3c3c, 0x3c3c, 0x0ff0, 0x0f00, 0x03c0, 0x00ff, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fff, 0x0f03, 0x03c0, \r
-          0x003c, 0x0c0f, 0x0fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, \r
-          0x0f0f, 0x0f00, 0x03c0, 0x00f0, 0x00f0, 0x0000, 0x00f0, 0x00f0, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0f00, 0x03c0, 0x00f0, 0x003c, 0x003c, 0x003c, 0x00f0, \r
-          0x03c0, 0x0f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x003c, 0x00f0, \r
-          0x03c0, 0x0f00, 0x0f00, 0x0f00, 0x03c0, 0x00f0, 0x003c, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, 0x03f0, 0x0000, \r
-          0x0000, 0x03f0, 0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03f0, \r
-          0x03f0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x3ffc, 0x3ffc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x03c0, 0x03c0, 0x3ffc, 0x3ffc, \r
-          0x03c0, 0x03c0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x3ffc, 0x0000, 0x0000, 0x3ffc, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, \r
-          0x03fc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
-//0---------------------------\r
-          0x0000, 0x0ffc, 0x3c0f, 0x3f0f, 0x3fcf, 0x3ccf, 0x3cff, 0x3c3f, \r
-          0x3c0f, 0x0ffc, 0x0000, 0x0000, 0x0000, \r
-//1---------------------------        \r
-          0x0000, 0x00c0, 0x00f0, 0x00ff, 0x00f0, 0x00f0, 0x00f0, 0x00f0, \r
-          0x00f0, 0x0fff, 0x0000, 0x0000, 0x0000, \r
-//2---------------------------          \r
-          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f00, 0x03c0, 0x00f0, 0x003c, \r
-          0x0f0f, 0x0fff, 0x0000, 0x0000, 0x0000, \r
-//3---------------------------        \r
-          0x0000, 0x03fc, 0x0f0f, 0x0f00, 0x0f00, 0x03f0, 0x0f00, 0x0f00, \r
-          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, \r
-//4---------------------------\r
-          0x0000, 0x0f00, 0x0fc0, 0x0ff0, 0x0f3c, 0x0f0f, 0x3fff, 0x0f00, \r
-          0x0f00, 0x3fc0, 0x0000, 0x0000, 0x0000, \r
-//5---------------------------          \r
-          0x0000, 0x0fff, 0x000f, 0x000f, 0x000f, 0x03ff, 0x0f00, 0x0f00, \r
-          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, \r
-//6---------------------------          \r
-          0x0000, 0x03f0, 0x003c, 0x000f, 0x000f, 0x03ff, 0x0f0f, 0x0f0f, \r
-          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000,           \r
-//7---------------------------          \r
-          0x0000, 0x3fff, 0x3c0f, 0x3c0f, 0x3c00, 0x0f00, 0x03c0, 0x00f0, \r
-          0x00f0, 0x00f0, 0x0000, 0x0000, 0x0000, \r
-//8---------------------------          \r
-          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f3f, 0x03fc, 0x0fcf, 0x0f0f, \r
-          0x0f0f, 0x03fc, 0x0000, 0x0000, 0x0000, \r
-//9---------------------------          \r
-          0x0000, 0x03fc, 0x0f0f, 0x0f0f, 0x0f0f, 0x0ffc, 0x03c0, 0x03c0, \r
-          0x00f0, 0x00fc, 0x0000, 0x0000, 0x0000,          \r
-} ;\r
-\r
-        \r
-const unsigned int GrayScale_fonts[]= {\r
-          0x0000, 0x0aa8, 0x280a, 0x2a0a, 0x2a8a, 0x288a, 0x28aa, 0x282a, \r
-                 0x280a, 0x0aa8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x00a0,        \r
-          0x00aa, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x00a0, 0x0aaa, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a00, 0x0280, \r
-          0x00a0, 0x0028, 0x0a0a, 0x0aaa, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x02a8, 0x0a0a, 0x0a00, 0x0a00, 0x02a0, 0x0a00, 0x0a00, 0x0a0a, \r
-          0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a00, 0x0a80, 0x0aa0, \r
-          0x0a28, 0x0a0a, 0x2aaa, 0x0a00, 0x0a00, 0x2a80, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0aaa, 0x000a, 0x000a, 0x000a, 0x02aa, 0x0a00, \r
-          0x0a00, 0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, \r
-          0x0028, 0x000a, 0x000a, 0x02aa, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x2aaa, 0x280a, 0x280a, 0x2800, \r
-          0x0a00, 0x0280, 0x00a0, 0x00a0, 0x00a0, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a2a, 0x02a8, 0x0a8a, 0x0a0a, \r
-          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, \r
-          0x0a0a, 0x0a0a, 0x0aa8, 0x0280, 0x0280, 0x00a0, 0x00a8, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x00a0, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, \r
-          0x0aaa, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0aaa, 0x2828, 0x2828, 0x2828, 0x0aa8, 0x2828, 0x2828, 0x2828, \r
-          0x0aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aa0, 0x2828, 0x280a, \r
-          0x000a, 0x000a, 0x000a, 0x280a, 0x2828, 0x0aa0, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x02aa, 0x0a28, 0x2828, 0x2828, 0x2828, 0x2828, \r
-          0x2828, 0x0a28, 0x02aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x2aaa, \r
-          0x2028, 0x0028, 0x0828, 0x0aa8, 0x0828, 0x0028, 0x2028, 0x2aaa, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x2aaa, 0x2828, 0x2028, 0x0828, \r
-          0x0aa8, 0x0828, 0x0028, 0x0028, 0x00aa, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0aa0, 0x2828, 0x280a, 0x000a, 0x000a, 0x2a0a, 0x280a, \r
-          0x2828, 0x2aa0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, \r
-          0x0a0a, 0x0a0a, 0x0aaa, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x02a8, 0x00a0, 0x00a0, 0x00a0, 0x00a0, \r
-          0x00a0, 0x00a0, 0x00a0, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x2a80, 0x0a00, 0x0a00, 0x0a00, 0x0a00, 0x0a0a, 0x0a0a, 0x0a0a, \r
-          0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x282a, 0x2828, 0x0a28, \r
-          0x0a28, 0x02a8, 0x0a28, 0x0a28, 0x2828, 0x282a, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x00aa, 0x0028, 0x0028, 0x0028, 0x0028, 0x2028, \r
-          0x2828, 0x2828, 0x2aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x280a, \r
-          0x2a2a, 0x2aaa, 0x2aaa, 0x288a, 0x280a, 0x280a, 0x280a, 0x280a, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x280a, 0x280a, 0x282a, 0x28aa, \r
-          0x2aaa, 0x2a8a, 0x2a0a, 0x280a, 0x280a, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x02a0, 0x0a28, 0x280a, 0x280a, 0x280a, 0x280a, 0x280a, \r
-          0x0a28, 0x02a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aaa, 0x2828, \r
-          0x2828, 0x2828, 0x0aa8, 0x0028, 0x0028, 0x0028, 0x00aa, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x02a0, 0x0a28, 0x280a, 0x280a, 0x280a, \r
-          0x2a0a, 0x2a8a, 0x0aa8, 0x0a00, 0x2a80, 0x0000, 0x0000, 0x0000, \r
-          0x0aaa, 0x2828, 0x2828, 0x2828, 0x0aa8, 0x0a28, 0x2828, 0x2828, \r
-          0x282a, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0a0a, \r
-          0x000a, 0x00a8, 0x0280, 0x0a0a, 0x0a0a, 0x02a8, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0aaa, 0x08a2, 0x00a0, 0x00a0, 0x00a0, 0x00a0, \r
-          0x00a0, 0x00a0, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, \r
-          0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, \r
-          0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, 0x00a0, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x280a, 0x280a, 0x280a, 0x280a, 0x288a, 0x288a, 0x0a28, \r
-          0x0a28, 0x0a28, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, \r
-          0x0a0a, 0x02a8, 0x00a0, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, \r
-          0x00a0, 0x00a0, 0x00a0, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x2aaa, 0x2a0a, 0x0282, 0x0280, 0x00a0, 0x0028, 0x2028, 0x280a, \r
-          0x2aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x02a8, 0x0a00, 0x0aa8, 0x0a0a, 0x0a0a, 0x28a8, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x002a, 0x0028, 0x0028, 0x0aa8, 0x2828, 0x2828, \r
-          0x2828, 0x2828, 0x0a8a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x02a8, 0x0a0a, 0x000a, 0x000a, 0x0a0a, 0x02a8, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0a80, 0x0a00, 0x0a00, 0x0aa8, \r
-          0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x28a8, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0aaa, 0x000a, \r
-          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, 0x0a28, \r
-          0x0028, 0x0028, 0x02aa, 0x0028, 0x0028, 0x0028, 0x00aa, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x28a8, 0x0a0a, \r
-          0x0a0a, 0x0a0a, 0x0aa8, 0x0a00, 0x0a0a, 0x02a8, 0x0000, 0x0000, \r
-          0x002a, 0x0028, 0x0028, 0x0a28, 0x28a8, 0x2828, 0x2828, 0x2828, \r
-          0x282a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0280, 0x0280, 0x0000, \r
-          0x02a8, 0x0280, 0x0280, 0x0280, 0x0280, 0x2aa8, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0a00, 0x0a00, 0x0000, 0x0aa0, 0x0a00, 0x0a00, \r
-          0x0a00, 0x0a00, 0x0a0a, 0x0a0a, 0x02a8, 0x0000, 0x0000, 0x002a, \r
-          0x0028, 0x0028, 0x2828, 0x0a28, 0x02a8, 0x0a28, 0x2828, 0x282a, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0280, 0x0280, 0x0280, \r
-          0x0280, 0x0280, 0x0280, 0x0280, 0x2aa8, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0aaa, 0x288a, 0x288a, 0x288a, \r
-          0x288a, 0x280a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x02aa, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, \r
-          0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0a8a, 0x2828, 0x2828, 0x2828, 0x2828, \r
-          0x0aa8, 0x0028, 0x00aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x28a8, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x0aa8, 0x0a00, 0x2a80, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a2a, 0x2a28, 0x28a8, \r
-          0x0028, 0x0028, 0x00aa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0028, 0x0280, 0x0a0a, 0x02a8, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0028, 0x0aaa, \r
-          0x0028, 0x0028, 0x0028, 0x0a28, 0x02a0, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, \r
-          0x0a0a, 0x28a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0a0a, 0x0a0a, 0x0a0a, 0x0a0a, 0x02a8, 0x00a0, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x280a, 0x280a, \r
-          0x288a, 0x288a, 0x0a28, 0x0a28, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x280a, 0x0a28, 0x02a0, 0x02a0, 0x0a28, \r
-          0x280a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x2828, 0x2828, 0x2828, 0x2828, 0x0aa0, 0x0a00, 0x0280, 0x00aa, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0aaa, 0x0a02, 0x0280, \r
-          0x0028, 0x080a, 0x0aaa, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, \r
-          0x0a0a, 0x0a00, 0x0280, 0x00a0, 0x00a0, 0x0000, 0x00a0, 0x00a0, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0a00, 0x0280, 0x00a0, 0x0028, 0x0028, 0x0028, 0x00a0, \r
-          0x0280, 0x0a00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x00a0, \r
-          0x0280, 0x0a00, 0x0a00, 0x0a00, 0x0280, 0x00a0, 0x0028, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, 0x02a0, 0x0000, \r
-          0x0000, 0x02a0, 0x02a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02a0, \r
-          0x02a0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x2aa8, 0x2aa8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x0280, 0x0280, 0x2aa8, 0x2aa8, \r
-          0x0280, 0x0280, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x2aa8, 0x0000, 0x0000, 0x2aa8, 0x0000, 0x0000, \r
-          0x0000, 0x0000, 0x0000, 0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, \r
-          0x02a8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\r
-//0---------------------------\r
-          0x0000, 0x0aa8, 0x280a, 0x2a0a, 0x2a8a, 0x288a, 0x28aa, 0x282a, \r
-          0x280a, 0x0aa8, 0x0000, 0x0000, 0x0000, \r
-//1---------------------------        \r
-          0x0000, 0x0080, 0x00a0, 0x00aa, 0x00a0, 0x00a0, 0x00a0, 0x00a0, \r
-          0x00a0, 0x0aaa, 0x0000, 0x0000, 0x0000, \r
-//2---------------------------          \r
-          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a00, 0x0280, 0x00a0, 0x0028, \r
-          0x0a0a, 0x0aaa, 0x0000, 0x0000, 0x0000, \r
-//2---------------------------        \r
-          0x0000, 0x02a8, 0x0a0a, 0x0a00, 0x0a00, 0x02a0, 0x0a00, 0x0a00, \r
-          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, \r
-//4---------------------------\r
-          0x0000, 0x0a00, 0x0a80, 0x0aa0, 0x0a28, 0x0a0a, 0x2aaa, 0x0a00, \r
-          0x0a00, 0x2a80, 0x0000, 0x0000, 0x0000, \r
-//5---------------------------          \r
-          0x0000, 0x0aaa, 0x000a, 0x000a, 0x000a, 0x02aa, 0x0a00, 0x0a00, \r
-          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, \r
-//6---------------------------          \r
-          0x0000, 0x02a0, 0x0028, 0x000a, 0x000a, 0x02aa, 0x0a0a, 0x0a0a, \r
-          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000,           \r
-//7---------------------------          \r
-          0x0000, 0x2aaa, 0x280a, 0x280a, 0x2800, 0x0a00, 0x0280, 0x00a0, \r
-          0x00a0, 0x00a0, 0x0000, 0x0000, 0x0000, \r
-//8---------------------------          \r
-          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a2a, 0x02a8, 0x0a8a, 0x0a0a, \r
-          0x0a0a, 0x02a8, 0x0000, 0x0000, 0x0000, \r
-//9---------------------------          \r
-          0x0000, 0x02a8, 0x0a0a, 0x0a0a, 0x0a0a, 0x0aa8, 0x0280, 0x0280, \r
-          0x00a0, 0x00a8, 0x0000, 0x0000, 0x0000,          \r
-} ;\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.h b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/MSP-EXP430F5438_HAL/hal_lcd_fonts.h
deleted file mode 100644 (file)
index 48239c9..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************\r
-    Filename: hal_lcd_fonts.h\r
-\r
-    Copyright 2010 Texas Instruments, Inc.\r
-***************************************************************************/\r
-#ifndef FONTS_H\r
-#define FONTS_H\r
-\r
-#define FONT_HEIGHT            12                    // Each character has 13 lines \r
-\r
-extern const unsigned char fonts_lookup[];\r
-extern const unsigned int fonts[];\r
-extern const unsigned int GrayScale_fonts[];\r
-\r
-#endif /* FONTS_H */\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/ParTest.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/ParTest.c
deleted file mode 100644 (file)
index 3df92e8..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-       \r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or 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
-/*-----------------------------------------------------------\r
- * Simple parallel port IO routines to flash LEDs.\r
- *-----------------------------------------------------------*/\r
-\r
-/* Kernel includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Hardware includes. */\r
-#include "msp430.h"\r
-#include "hal_MSP-EXP430F5438.h"\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestInitialise( void )\r
-{\r
-       /* The port used by the two LEDs is configured from halBoardInit() so\r
-       nothing needs to be done here. */\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )\r
-{\r
-       /* Only two LEDs are provided on the hardware. */\r
-       taskENTER_CRITICAL();\r
-       {\r
-               if( xValue != pdFALSE )\r
-               {\r
-                       switch( uxLED )\r
-                       {\r
-                               case 0: LED_PORT_OUT |= LED_1;\r
-                                               break;\r
-       \r
-                               case 1: LED_PORT_OUT |= LED_2;\r
-                                               break;\r
-                                               \r
-                               default: /* Nothing to do here, there are only two LEDs. */\r
-                                               break;\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       switch( uxLED )\r
-                       {\r
-                               case 0: LED_PORT_OUT &= ~LED_1;\r
-                                               break;\r
-       \r
-                               case 1: LED_PORT_OUT &= ~LED_2;\r
-                                               break;\r
-                               default: /* Nothing to do here, there are only two LEDs. */\r
-                                               break;\r
-                       }\r
-               }\r
-       }\r
-       taskEXIT_CRITICAL();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vParTestToggleLED( unsigned portBASE_TYPE uxLED )\r
-{\r
-       taskENTER_CRITICAL();\r
-       {\r
-               switch( uxLED )\r
-               {\r
-                       case 0: if( ( LED_PORT_OUT & LED_1 ) == 0 )\r
-                                       {\r
-                                               LED_PORT_OUT |= LED_1;\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               LED_PORT_OUT &= ~LED_1;\r
-                                       }\r
-                                       break;\r
-\r
-                       case 1: if( ( LED_PORT_OUT & LED_2 ) == 0 )\r
-                                       {\r
-                                               LED_PORT_OUT |= LED_2;\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               LED_PORT_OUT &= ~LED_2;\r
-                                       }\r
-                                       break;\r
-                       default: /* Nothing to do here, there are only two LEDs. */\r
-                                       break;\r
-               }\r
-       }\r
-       taskEXIT_CRITICAL();\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/RegTest.asm b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/RegTest.asm
deleted file mode 100644 (file)
index e72d83e..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-;\r
-;/*\r
-;    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-;      \r
-;\r
-;    ***************************************************************************\r
-;     *                                                                       *\r
-;     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-;     *    Complete, revised, and edited pdf reference manuals are also       *\r
-;     *    available.                                                         *\r
-;     *                                                                       *\r
-;     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-;     *    ensuring you get running as quickly as possible and with an        *\r
-;     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-;     *    the FreeRTOS project to continue with its mission of providing     *\r
-;     *    professional grade, cross platform, de facto standard solutions    *\r
-;     *    for microcontrollers - completely free of charge!                  *\r
-;     *                                                                       *\r
-;     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-;     *                                                                       *\r
-;     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-;     *                                                                       *\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 modification to the GPL is included to allow you to\r
-;    distribute a combined work that includes FreeRTOS without being obliged to\r
-;    provide the source code for proprietary components outside of the FreeRTOS\r
-;    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-;    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-;    or 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
-; * The definition of the "register test" tasks, as described at the top of\r
-; * main.c\r
-\r
-       .include data_model.h\r
-\r
-       .if $DEFINED( __LARGE_DATA_MODEL__ )\r
-               .define "cmp.a", cmp_x\r
-               .define "incx.w", inc_x\r
-       .else\r
-               .define "cmp.w", cmp_x\r
-               .define "inc.w", inc_x\r
-       .endif\r
-\r
-\r
-       .global usRegTest1Counter\r
-       .global usRegTest2Counter\r
-       .global vPortYield\r
-       \r
-       .def vRegTest1Task\r
-       .def vRegTest2Task\r
-\r
-       .text\r
-       \r
-       .align 2\r
-vRegTest1Task: .asmfunc\r
-\r
-       ; Fill each general purpose register with a known value.\r
-       mov_x   #0x4444, r4\r
-       mov_x   #0x5555, r5\r
-       mov_x   #0x6666, r6\r
-       mov_x   #0x7777, r7\r
-       mov_x   #0x8888, r8\r
-       mov_x   #0x9999, r9\r
-       mov_x   #0xaaaa, r10\r
-       mov_x   #0xbbbb, r11\r
-       mov_x   #0xcccc, r12\r
-       mov_x   #0xdddd, r13\r
-       mov_x   #0xeeee, r14\r
-       mov_x   #0xffff, r15\r
-       \r
-prvRegTest1Loop:\r
-\r
-       ; Test each general purpose register to check that it still contains the\r
-       ; expected known value, jumping to vRegTest1Error if any register contains\r
-       ; an unexpected value.\r
-       cmp_x   #0x4444, r4\r
-       jne             vRegTest1Error\r
-       cmp_x   #0x5555, r5\r
-       jne             vRegTest1Error\r
-       cmp_x   #0x6666, r6\r
-       jne             vRegTest1Error\r
-       cmp_x   #0x7777, r7\r
-       jne             vRegTest1Error\r
-       cmp_x   #0x8888, r8\r
-       jne             vRegTest1Error\r
-       cmp_x   #0x9999, r9\r
-       jne             vRegTest1Error\r
-       cmp_x   #0xaaaa, r10\r
-       jne             vRegTest1Error\r
-       cmp_x   #0xbbbb, r11\r
-       jne             vRegTest1Error\r
-       cmp_x   #0xcccc, r12\r
-       jne             vRegTest1Error\r
-       cmp_x   #0xdddd, r13\r
-       jne             vRegTest1Error\r
-       cmp_x   #0xeeee, r14\r
-       jne             vRegTest1Error\r
-       cmp_x   #0xffff, r15\r
-       jne             vRegTest1Error\r
-       \r
-       ; This task is still running without jumping to vRegTest1Error, so increment\r
-       ; the loop counter so the check task knows the task is running error free.\r
-       inc_x   &usRegTest1Counter\r
-       \r
-       ; Loop again, performing the same tests.\r
-       jmp             prvRegTest1Loop\r
-       nop\r
-       \r
-vRegTest1Error:\r
-       jmp vRegTest1Error\r
-       nop\r
-       .endasmfunc     \r
-; -----------------------------------------------------------\r
-\r
-; See the comments in vRegTest1Task.  This task is the same, it just uses\r
-; different values in its registers.\r
-       .align 2\r
-vRegTest2Task: .asmfunc\r
-\r
-       mov_x   #0x4441, r4\r
-       mov_x   #0x5551, r5\r
-       mov_x   #0x6661, r6\r
-       mov_x   #0x7771, r7\r
-       mov_x   #0x8881, r8\r
-       mov_x   #0x9991, r9\r
-       mov_x   #0xaaa1, r10\r
-       mov_x   #0xbbb1, r11\r
-       mov_x   #0xccc1, r12\r
-       mov_x   #0xddd1, r13\r
-       mov_x   #0xeee1, r14\r
-       mov_x   #0xfff1, r15\r
-       \r
-prvRegTest2Loop:\r
-\r
-       cmp_x   #0x4441, r4\r
-       jne             vRegTest2Error\r
-       cmp_x   #0x5551, r5\r
-       jne             vRegTest2Error\r
-       cmp_x   #0x6661, r6\r
-       jne             vRegTest2Error\r
-       cmp_x   #0x7771, r7\r
-       jne             vRegTest2Error\r
-       cmp_x   #0x8881, r8\r
-       jne             vRegTest2Error\r
-       cmp_x   #0x9991, r9\r
-       jne             vRegTest2Error\r
-       cmp_x   #0xaaa1, r10\r
-       jne             vRegTest2Error\r
-       cmp_x   #0xbbb1, r11\r
-       jne             vRegTest2Error\r
-       cmp_x   #0xccc1, r12\r
-       jne             vRegTest2Error\r
-       cmp_x   #0xddd1, r13\r
-       jne             vRegTest2Error\r
-       cmp_x   #0xeee1, r14\r
-       jne             vRegTest2Error\r
-       cmp_x   #0xfff1, r15\r
-       jne             vRegTest2Error\r
-       \r
-       ; Also perform a manual yield, just to increase the scope of the test.\r
-       call_x  #vPortYield\r
-       \r
-       inc_x   &usRegTest2Counter\r
-       jmp             prvRegTest2Loop\r
-       nop\r
-\r
-       \r
-vRegTest2Error:\r
-       jmp vRegTest2Error\r
-       nop\r
-       .endasmfunc\r
-; /*-----------------------------------------------------------\r
-\r
-               \r
-       .end\r
-               \r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/RunTimeStatsConfig.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/RunTimeStatsConfig.c
deleted file mode 100644 (file)
index 2bffe24..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-       \r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or 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
-/* FreeRTOS includes. */\r
-#include "FreeRTOS.h"\r
-\r
-/* Hardware includes. */\r
-#include "msp430.h"\r
-#include "hal_MSP-EXP430F5438.h"\r
-\r
-/* This demo uses Timer A1 to generate the time base for gathering run time\r
-statistics information.  Run time statistics show much processing time has\r
-been allocated to each task since the application booted. */\r
-\r
-/* The time base for the run time stats is generated by a 16 bit timer.  Each\r
-time the timer overflows ulStatsOverflowCount is incremented.  Therefore,\r
-when converting the total run time to a 32 bit number, the most significant two\r
-bytes are given by ulStatsOverflowCount and the least significant two bytes are\r
-given by the current timer counter value.  Care must be taken with data\r
-consistency when combining the two in case a timer overflow occurs as the\r
-value is being read. */\r
-volatile unsigned long ulStatsOverflowCount = 0;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void vConfigureTimerForRunTimeStats( void )\r
-{\r
-       /* Ensure the timer is stopped. */\r
-       TA1CTL = 0;\r
-\r
-       /* Run the timer from the ACLK/2. */\r
-       TA1CTL = TASSEL_1 | ID__2;\r
-\r
-       /* Clear everything to start with. */\r
-       TA1CTL |= TACLR;\r
-\r
-       /* Enable the interrupts. */\r
-       TA1CCTL0 = CCIE;\r
-\r
-       /* Start up clean. */\r
-       TA1CTL |= TACLR;\r
-\r
-       /* Continuous mode. */\r
-       TA1CTL |= MC__CONTINOUS;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-#pragma vector=TIMER1_A0_VECTOR\r
-interrupt void prvRunTimeStatsOverflowISR( void )\r
-{\r
-       ulStatsOverflowCount++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/main.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/main.c
deleted file mode 100644 (file)
index 90f1733..0000000
+++ /dev/null
@@ -1,670 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-       \r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or 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
-/*\r
- * The documentation page for this demo available on http://www.FreeRTOS.org\r
- * documents the hardware configuration required to run this demo.  It also\r
- * provides more information on the expected demo application behaviour.\r
- *\r
- * main() creates all the demo application tasks, then starts the scheduler.\r
- * A lot of the created tasks are from the pool of "standard demo" tasks.  The\r
- * web documentation provides more details of the standard demo tasks, which\r
- * provide no particular functionality but do provide good examples of how to\r
- * use the FreeRTOS API.\r
- *\r
- * In addition to the standard demo tasks, the following tasks, interrupts tests\r
- * and timers are defined and/or created within this file:\r
- *\r
- * "LCD" task - The LCD task is a 'gatekeeper' task.  It is the only task that\r
- * is permitted to access the LCD and therefore ensures access to the LCD is\r
- * always serialised and there are no mutual exclusion issues.  When a task or\r
- * an interrupt wants to write to the LCD, it does not access the LCD directly\r
- * but instead sends the message to the LCD task.  The LCD task then performs\r
- * the actual LCD output.  This mechanism also allows interrupts to, in effect,\r
- * write to the LCD by sending messages to the LCD task.\r
- *\r
- * The LCD task is also a demonstration of a 'controller' task design pattern.\r
- * Some tasks do not actually send a string to the LCD task directly, but\r
- * instead send a command that is interpreted by the LCD task.  In a normal\r
- * application these commands can be control values or set points, in this\r
- * simple example the commands just result in messages being displayed on the\r
- * LCD.\r
- *\r
- * "Button Poll" task - This task polls the state of the 'up' key on the\r
- * joystick input device.  It uses the vTaskDelay() API function to control\r
- * the poll rate to ensure debouncing is not necessary and that the task does\r
- * not use all the available CPU processing time.\r
- *\r
- * Button Interrupt - The select button on the joystick input device is \r
- * configured to generate an external interrupt.  The handler for this interrupt \r
- * sends a message to LCD task, which then prints out a string to say the \r
- * joystick select button was pressed.\r
- *\r
- * Idle Hook - The idle hook is a function that is called on each iteration of\r
- * the idle task.  In this case it is used to place the processor into a low\r
- * power mode.  Note however that this application is implemented using standard\r
- * components, and is therefore not optimised for low power operation.  Lower\r
- * power consumption would be achieved by converting polling tasks into event\r
- * driven tasks, and slowing the tick interrupt frequency, etc.\r
- *\r
- * "Check" callback function - Called each time the 'check' timer expires.  The\r
- * check timer executes every five seconds.  Its main function is to check that \r
- * all the standard demo tasks are still operational.  Each time it executes it \r
- * sends a status code to the LCD task.  The LCD task interprets the code and \r
- * displays an appropriate message - which will be PASS if no tasks have \r
- * reported any errors, or a message stating which task has reported an error.\r
- *\r
- * "Reg test" tasks - These fill the registers with known values, then check\r
- * that each register still contains its expected value.  Each task uses\r
- * different values.  The tasks run with very low priority so get preempted\r
- * very frequently.  A check variable is incremented on each iteration of the\r
- * test loop.  A register containing an unexpected value is indicative of an\r
- * error in the context switching mechanism and will result in a branch to a\r
- * null loop - which in turn will prevent the check variable from incrementing\r
- * any further and allow the check timer callback (described a above) to \r
- * determine that an error has occurred.  The nature of the reg test tasks \r
- * necessitates that they are written in assembly code.\r
- *\r
- * Tick hook function - called inside the RTOS tick function, this simple \r
- * example does nothing but toggle an LED.\r
- *\r
- * *NOTE 1* vApplicationSetupTimerInterrupt() is called by the kernel to let\r
- * the application set up a timer to generate the tick interrupt.  In this\r
- * example a timer A0 is used for this purpose.\r
- *\r
-*/\r
-\r
-/* Standard includes. */\r
-#include <stdio.h>\r
-\r
-/* FreeRTOS includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-#include "timers.h"\r
-#include "queue.h"\r
-\r
-/* Hardware includes. */\r
-#include "msp430.h"\r
-#include "hal_MSP-EXP430F5438.h"\r
-\r
-/* Standard demo includes. */\r
-#include "ParTest.h"\r
-#include "dynamic.h"\r
-#include "comtest2.h"\r
-#include "GenQTest.h"\r
-#include "TimerDemo.h"\r
-#include "countsem.h"\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 ulMessageValue 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
-#define mainERROR_REG_TEST                             ( pdPASS + 4 )\r
-#define mainERROR_TIMER_TEST                   ( pdPASS + 5 )\r
-#define mainERROR_COUNT_SEM_TEST               ( pdPASS + 6 )\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
-/* Priorities used by the test and demo tasks. */\r
-#define mainLCD_TASK_PRIORITY                  ( tskIDLE_PRIORITY + 1 )\r
-#define mainCOM_TEST_PRIORITY                  ( tskIDLE_PRIORITY + 2 )\r
-#define mainGENERIC_QUEUE_TEST_PRIORITY        ( tskIDLE_PRIORITY )\r
-\r
-/* The LED used by the comtest tasks. See the comtest.c file for more\r
-information.  */\r
-#define mainCOM_TEST_LED                               ( 1 )\r
-\r
-/* The baud rate used by the comtest tasks. */\r
-#define mainCOM_TEST_BAUD_RATE                 ( 38400 )\r
-\r
-/* The maximum number of lines of text that can be displayed on the LCD. */\r
-#define mainMAX_LCD_LINES                              ( 8 )\r
-\r
-/* Just used to ensure parameters are passed into tasks correctly. */\r
-#define mainTASK_PARAMETER_CHECK_VALUE ( ( void * ) 0xDEAD )\r
-\r
-/* The base period used by the timer test tasks. */\r
-#define mainTIMER_TEST_PERIOD                  ( 50 )\r
-\r
-/* The frequency at which the check timer (described in the comments at the top\r
-of this file) will call its callback function. */\r
-#define mainCHECK_TIMER_PERIOD                 ( 5000UL / ( unsigned long ) portTICK_RATE_MS )\r
-\r
-/* Misc. */\r
-#define mainDONT_BLOCK                                 ( 0 )\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * The reg test tasks as described at the top of this file.\r
- */\r
-extern void vRegTest1Task( void *pvParameters );\r
-extern void vRegTest2Task( void *pvParameters );\r
-\r
-/*\r
- * Configures clocks, LCD, port pints, etc. necessary to execute this demo.\r
- */\r
-static void prvSetupHardware( void );\r
-\r
-/*\r
- * Definition of the LCD/controller task described in the comments at the top\r
- * of this file.\r
- */\r
-static void prvLCDTask( void *pvParameters );\r
-\r
-/*\r
- * Definition of the button poll task described in the comments at the top of\r
- * this file.\r
- */\r
-static void prvButtonPollTask( void *pvParameters );\r
-\r
-/*\r
- * Converts a status message value into an appropriate string for display on\r
- * the LCD.  The string is written to pcBuffer.\r
- */\r
-static void prvGenerateStatusMessage( char *pcBuffer, unsigned long ulStatusValue );\r
-\r
-/*\r
- * Defines the 'check' functionality as described at the top of this file.  This\r
- * function is the callback function for the 'check' timer. */\r
-static void vCheckTimerCallback( xTimerHandle xTimer );\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Variables that are incremented on each iteration of the reg test tasks -\r
-provided the tasks have not reported any errors.  The check task inspects these\r
-variables to ensure they are still incrementing as expected.  If a variable\r
-stops incrementing then it is likely that its associate task has stalled. */\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 'check' timer, as described at the top of this file. */\r
-static xTimerHandle xCheckTimer = 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
-       unsigned long ulMessageValue;   /* << States the message value (can be an integer, string pointer, etc. depending on the value of cMessageID). */\r
-} xQueueMessage;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-void main( void )\r
-{\r
-       /* Configure the peripherals used by this demo application.  This includes\r
-       configuring the joystick input select button to generate interrupts. */\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 the queue could not be created then don't create any tasks that might\r
-       attempt to use the queue. */\r
-       if( xLCDQueue != NULL )\r
-       {\r
-               /* Create the standard demo tasks. */\r
-               vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED );\r
-               vStartDynamicPriorityTasks();\r
-               vStartGenericQueueTasks( mainGENERIC_QUEUE_TEST_PRIORITY );\r
-               vStartCountingSemaphoreTasks();\r
-               \r
-               /* Note that creating the timer test/demo tasks will fill the timer\r
-               command queue.  This is intentional, and forms part of the test the tasks\r
-               perform.  It does mean however that, after this function is called, no\r
-               more timer commands can be sent until after the scheduler has been\r
-               started (at which point the timer daemon will drained the timer command\r
-               queue, freeing up space for more commands to be received). */\r
-               vStartTimerDemoTask( mainTIMER_TEST_PERIOD );\r
-               \r
-               /* Create the LCD, button poll and register test tasks, as described at\r
-               the top of this file. */\r
-               xTaskCreate( prvLCDTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE * 2, mainTASK_PARAMETER_CHECK_VALUE, mainLCD_TASK_PRIORITY, NULL );\r
-               xTaskCreate( prvButtonPollTask, ( signed char * ) "BPoll", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
-               xTaskCreate( vRegTest1Task, ( signed char * ) "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
-               xTaskCreate( vRegTest2Task, ( signed char * ) "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
-\r
-               /* Create the 'check' timer - the timer that periodically calls the\r
-               check function as described at the top of this file.  Note that, for\r
-               the reasons stated in the comments above the call to \r
-               vStartTimerDemoTask(), that the check timer is not actually started \r
-               until after the scheduler has been started. */\r
-               xCheckTimer = xTimerCreate( ( const signed char * ) "Check timer", mainCHECK_TIMER_PERIOD, pdTRUE, ( void * ) 0, vCheckTimerCallback ); \r
-\r
-               /* Start the scheduler. */\r
-               vTaskStartScheduler();\r
-       }\r
-\r
-       /* If all is well then this line will never be reached.  If it is reached\r
-       then it is likely that there was insufficient (FreeRTOS) heap memory space\r
-       to create the idle task.  This may have been trapped by the malloc() failed\r
-       hook function, if one is configured. */ \r
-       for( ;; );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvLCDTask( 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[ 50 ];\r
-unsigned char ucLine = 1;\r
-\r
-       /* Now the scheduler has been started (it must have been for this task to\r
-       be running), start the check timer too.  The call to xTimerStart() will\r
-       block until the command has been accepted. */\r
-       if( xCheckTimer != NULL )\r
-       {\r
-               xTimerStart( xCheckTimer, portMAX_DELAY );\r
-       }\r
-\r
-       /* This is 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
-       is done after a short delay to ensure all the demo tasks have created all\r
-       the objects they are going to use.  */\r
-       vTaskDelay( mainTIMER_TEST_PERIOD * 10 );\r
-       sprintf( cBuffer, "%d heap free", ( int ) xPortGetFreeHeapSize() );\r
-       halLcdPrintLine( cBuffer, ucLine, OVERWRITE_TEXT );\r
-       ucLine++;\r
-       \r
-       /* Just as a test of the port, and for no functional reason, check the task\r
-       parameter contains its expected value. */\r
-       if( pvParameters != mainTASK_PARAMETER_CHECK_VALUE )\r
-       {\r
-               halLcdPrintLine( "Invalid parameter", ucLine, OVERWRITE_TEXT );\r
-               ucLine++;               \r
-       }\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
-               /* Clear the LCD if no room remains for any more text output. */\r
-               if( ucLine > mainMAX_LCD_LINES )\r
-               {\r
-                       halLcdClearScreen();\r
-                       ucLine = 0;\r
-               }\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", ( int ) xReceivedMessage.ulMessageValue );\r
-                                                                                               break;\r
-\r
-                       case mainMESSAGE_BUTTON_SEL             :       /* The select button interrupt\r
-                                                                                               just informed this task that the\r
-                                                                                               select button has been pressed.\r
-                                                                                               In this case the pointer to the \r
-                                                                                               string to print is sent directly \r
-                                                                                               in the ulMessageValue member of \r
-                                                                                               the     message.  This just \r
-                                                                                               demonstrates a different \r
-                                                                                               communication technique. */\r
-                                                                                               sprintf( cBuffer, "%s", ( char * ) xReceivedMessage.ulMessageValue );\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.ulMessageValue );\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, then move onto the next line ready for the next\r
-               message to arrive on the queue. */\r
-               halLcdPrintLine( cBuffer, ucLine,  OVERWRITE_TEXT );\r
-               ucLine++;\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvGenerateStatusMessage( char *pcBuffer, unsigned long ulStatusValue )\r
-{\r
-       /* Just a utility function to convert a status value into a meaningful\r
-       string for output onto the LCD. */\r
-       switch( ulStatusValue )\r
-       {\r
-               case pdPASS                                             :       sprintf( pcBuffer, "Status = PASS" );\r
-                                                                                       break;\r
-               case mainERROR_DYNAMIC_TASKS    :       sprintf( pcBuffer, "Err: Dynamic tsks" );\r
-                                                                                       break;\r
-               case mainERROR_COM_TEST                 :       sprintf( pcBuffer, "Err: COM test" );\r
-                                                                                       break;\r
-               case mainERROR_GEN_QUEUE_TEST   :       sprintf( pcBuffer, "Error: Gen Q test" );\r
-                                                                                       break;\r
-               case mainERROR_REG_TEST                 :       sprintf( pcBuffer, "Error: Reg test" );\r
-                                                                                       break;\r
-               case mainERROR_TIMER_TEST               :       sprintf( pcBuffer, "Error: Tmr test" );\r
-                                                                                       break;\r
-               case mainERROR_COUNT_SEM_TEST   :       sprintf( pcBuffer, "Error: Count sem" );\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
-               \r
-               if( ucState != 0 )\r
-               {\r
-                       /* The button was pressed. */\r
-                       ucState = pdTRUE;\r
-               }\r
-               \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.ulMessageValue = ( unsigned long ) 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 vCheckTimerCallback( xTimerHandle xTimer )\r
-{\r
-static unsigned short usLastRegTest1Counter = 0, usLastRegTest2Counter = 0;\r
-\r
-/* Define the status message that is sent to the LCD task.  By default the\r
-status is PASS. */\r
-static xQueueMessage xStatusMessage = { mainMESSAGE_STATUS, pdPASS };\r
-\r
-       /* This is the callback function used by the 'check' timer, as described\r
-       at the top of this file. */\r
-\r
-       /* The parameter is not used. */\r
-       ( void ) xTimer;\r
-       \r
-       /* See if the standard demo tasks are executing as expected, changing\r
-       the message that is sent to the LCD task from PASS to an error code if\r
-       any tasks set reports an error. */\r
-       if( xAreComTestTasksStillRunning() != pdPASS )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_COM_TEST;\r
-       }\r
-\r
-       if( xAreDynamicPriorityTasksStillRunning() != pdPASS )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_DYNAMIC_TASKS;\r
-       }\r
-       \r
-       if( xAreGenericQueueTasksStillRunning() != pdPASS )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_GEN_QUEUE_TEST;\r
-       }                       \r
-       \r
-       if( xAreCountingSemaphoreTasksStillRunning() != pdPASS )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_COUNT_SEM_TEST;\r
-       }\r
-       \r
-       if( xAreTimerDemoTasksStillRunning( ( portTickType ) mainCHECK_TIMER_PERIOD ) != pdPASS )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_TIMER_TEST;\r
-       }\r
-\r
-       /* Check the reg test tasks are still cycling.  They will stop\r
-       incrementing their loop counters if they encounter an error. */\r
-       if( usRegTest1Counter == usLastRegTest1Counter )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_REG_TEST;\r
-       }\r
-\r
-       if( usRegTest2Counter == usLastRegTest2Counter )\r
-       {\r
-               xStatusMessage.ulMessageValue = mainERROR_REG_TEST;\r
-       }\r
-\r
-       usLastRegTest1Counter = usRegTest1Counter;\r
-       usLastRegTest2Counter = usRegTest2Counter;\r
-       \r
-       /* This is called from a timer callback so must not block! */\r
-       xQueueSendToBack( xLCDQueue, &xStatusMessage, mainDONT_BLOCK );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-static void prvSetupHardware( void )\r
-{\r
-       taskDISABLE_INTERRUPTS();\r
-       \r
-       /* Disable the watchdog. */\r
-       WDTCTL = WDTPW + WDTHOLD;\r
-  \r
-       halBoardInit();\r
-\r
-       LFXT_Start( XT1DRIVE_0 );\r
-       hal430SetSystemClock( configCPU_CLOCK_HZ, configLFXT_CLOCK_HZ );\r
-\r
-       halButtonsInit( BUTTON_ALL );\r
-       halButtonsInterruptEnable( BUTTON_SELECT );\r
-\r
-       /* Initialise the LCD, but note that the backlight is not used as the\r
-       library function uses timer A0 to modulate the backlight, and this file\r
-       defines vApplicationSetupTimerInterrupt() to also use timer A0 to generate\r
-       the tick interrupt.  If the backlight is required, then change either the\r
-       halLCD library or vApplicationSetupTimerInterrupt() to use a different\r
-       timer.  Timer A1 is used for the run time stats time base6. */\r
-       halLcdInit();\r
-       halLcdSetContrast( 100 );\r
-       halLcdClearScreen();\r
-       \r
-       halLcdPrintLine( " www.FreeRTOS.org", 0,  OVERWRITE_TEXT );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-\r
-void vApplicationTickHook( void )\r
-{\r
-static unsigned long ulCounter = 0;\r
-\r
-       /* Is it time to toggle the LED again? */\r
-       ulCounter++;\r
-\r
-       /* Just periodically toggle an LED to show that the tick interrupt is\r
-       running.  Note that this access LED_PORT_OUT in a non-atomic way, so tasks\r
-       that access the same port must do so from a critical section. */\r
-       if( ( ulCounter & 0xff ) == 0 )\r
-       {\r
-               if( ( LED_PORT_OUT & LED_1 ) == 0 )\r
-               {\r
-                       LED_PORT_OUT |= LED_1;\r
-               }\r
-               else\r
-               {\r
-                       LED_PORT_OUT &= ~LED_1;\r
-               }\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-#pragma vector=PORT2_VECTOR\r
-interrupt void prvSelectButtonInterrupt( void )\r
-{\r
-/* Define the message sent to the LCD task from this interrupt. */\r
-static const xQueueMessage xMessage = { mainMESSAGE_BUTTON_SEL, ( unsigned long ) "Select Interrupt" };\r
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
-\r
-       /* This is the interrupt handler for the joystick select button input.\r
-       The button has been pushed, write a message to the LCD via the LCD task. */\r
-       xQueueSendFromISR( xLCDQueue, &xMessage, &xHigherPriorityTaskWoken );\r
-\r
-       P2IFG = 0;\r
-       \r
-       /* If writing to xLCDQueue caused a task to unblock, and the unblocked task\r
-       has a priority equal to or above the task that this interrupt interrupted,\r
-       then lHigherPriorityTaskWoken will have been set to pdTRUE internally within\r
-       xQueuesendFromISR(), and portEND_SWITCHING_ISR() will ensure that this\r
-       interrupt returns directly to the higher priority unblocked task. */\r
-       portYIELD_FROM_ISR( xHigherPriorityTaskWoken );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* The MSP430X port uses this callback function to configure its tick interrupt.\r
-This allows the application to choose the tick interrupt source.\r
-configTICK_VECTOR must also be set in FreeRTOSConfig.h to the correct\r
-interrupt vector for the chosen tick interrupt source.  This implementation of\r
-vApplicationSetupTimerInterrupt() generates the tick from timer A0, so in this\r
-case configTICK_VECTOR is set to TIMER0_A0_VECTOR. */\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 from 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 vApplicationIdleHook( void )\r
-{\r
-       /* Called on each iteration of the idle task.  In this case the idle task\r
-       just enters a low(ish) power mode. */\r
-       __bis_SR_register( LPM1_bits + GIE );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vApplicationMallocFailedHook( void )\r
-{\r
-       /* Called if a call to pvPortMalloc() fails because there is insufficient\r
-       free memory available in the FreeRTOS heap.  pvPortMalloc() is called\r
-       internally by FreeRTOS API functions that create tasks, queues or\r
-       semaphores. */\r
-       taskDISABLE_INTERRUPTS();\r
-       for( ;; );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName )\r
-{\r
-       ( void ) pxTask;\r
-       ( void ) pcTaskName;\r
-       \r
-       /* Run time stack overflow checking is performed if\r
-       configconfigCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2.  This hook\r
-       function is called if a stack overflow is detected. */\r
-       taskDISABLE_INTERRUPTS();\r
-       for( ;; );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/printf-stdarg.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/printf-stdarg.c
deleted file mode 100644 (file)
index b5ac41b..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-/*\r
-       Copyright 2001, 2002 Georges Menie (www.menie.org)\r
-       stdarg version contributed by Christian Ettinger\r
-\r
-    This program is free software; you can redistribute it and/or modify\r
-    it under the terms of the GNU Lesser General Public License as published by\r
-    the Free Software Foundation; either version 2 of the License, or\r
-    (at your option) any later version.\r
-\r
-    This program is distributed in the hope that it will be useful,\r
-    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-    GNU Lesser General Public License for more details.\r
-\r
-    You should have received a copy of the GNU Lesser General Public License\r
-    along with this program; if not, write to the Free Software\r
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
-*/\r
-\r
-/*\r
-       putchar is the only external dependency for this file,\r
-       if you have a working putchar, leave it commented out.\r
-       If not, uncomment the define below and\r
-       replace outbyte(c) by your own function call.\r
-\r
-*/\r
-\r
-#define putchar(c) c\r
-\r
-#include <stdarg.h>\r
-\r
-static void printchar(char **str, int c)\r
-{\r
-       //extern int putchar(int c);\r
-       \r
-       if (str) {\r
-               **str = (char)c;\r
-               ++(*str);\r
-       }\r
-       else\r
-       { \r
-               (void)putchar(c);\r
-       }\r
-}\r
-\r
-#define PAD_RIGHT 1\r
-#define PAD_ZERO 2\r
-\r
-static int prints(char **out, const char *string, int width, int pad)\r
-{\r
-       register int pc = 0, padchar = ' ';\r
-\r
-       if (width > 0) {\r
-               register int len = 0;\r
-               register const char *ptr;\r
-               for (ptr = string; *ptr; ++ptr) ++len;\r
-               if (len >= width) width = 0;\r
-               else width -= len;\r
-               if (pad & PAD_ZERO) padchar = '0';\r
-       }\r
-       if (!(pad & PAD_RIGHT)) {\r
-               for ( ; width > 0; --width) {\r
-                       printchar (out, padchar);\r
-                       ++pc;\r
-               }\r
-       }\r
-       for ( ; *string ; ++string) {\r
-               printchar (out, *string);\r
-               ++pc;\r
-       }\r
-       for ( ; width > 0; --width) {\r
-               printchar (out, padchar);\r
-               ++pc;\r
-       }\r
-\r
-       return pc;\r
-}\r
-\r
-/* the following should be enough for 32 bit int */\r
-#define PRINT_BUF_LEN 12\r
-\r
-static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase)\r
-{\r
-       char print_buf[PRINT_BUF_LEN];\r
-       register char *s;\r
-       register int t, neg = 0, pc = 0;\r
-       register unsigned int u = (unsigned int)i;\r
-\r
-       if (i == 0) {\r
-               print_buf[0] = '0';\r
-               print_buf[1] = '\0';\r
-               return prints (out, print_buf, width, pad);\r
-       }\r
-\r
-       if (sg && b == 10 && i < 0) {\r
-               neg = 1;\r
-               u = (unsigned int)-i;\r
-       }\r
-\r
-       s = print_buf + PRINT_BUF_LEN-1;\r
-       *s = '\0';\r
-\r
-       while (u) {\r
-               t = (unsigned int)u % b;\r
-               if( t >= 10 )\r
-                       t += letbase - '0' - 10;\r
-               *--s = (char)(t + '0');\r
-               u /= b;\r
-       }\r
-\r
-       if (neg) {\r
-               if( width && (pad & PAD_ZERO) ) {\r
-                       printchar (out, '-');\r
-                       ++pc;\r
-                       --width;\r
-               }\r
-               else {\r
-                       *--s = '-';\r
-               }\r
-       }\r
-\r
-       return pc + prints (out, s, width, pad);\r
-}\r
-\r
-static int print( char **out, const char *format, va_list args )\r
-{\r
-       register int width, pad;\r
-       register int pc = 0;\r
-       char scr[2];\r
-\r
-       for (; *format != 0; ++format) {\r
-               if (*format == '%') {\r
-                       ++format;\r
-                       width = pad = 0;\r
-                       if (*format == '\0') break;\r
-                       if (*format == '%') goto out;\r
-                       if (*format == '-') {\r
-                               ++format;\r
-                               pad = PAD_RIGHT;\r
-                       }\r
-                       while (*format == '0') {\r
-                               ++format;\r
-                               pad |= PAD_ZERO;\r
-                       }\r
-                       for ( ; *format >= '0' && *format <= '9'; ++format) {\r
-                               width *= 10;\r
-                               width += *format - '0';\r
-                       }\r
-                       if( *format == 's' ) {\r
-                               register char *s = (char *)va_arg( args, int );\r
-                               pc += prints (out, s?s:"(null)", width, pad);\r
-                               continue;\r
-                       }\r
-                       if( *format == 'd' ) {\r
-                               pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a');\r
-                               continue;\r
-                       }\r
-                       if( *format == 'x' ) {\r
-                               pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a');\r
-                               continue;\r
-                       }\r
-                       if( *format == 'X' ) {\r
-                               pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A');\r
-                               continue;\r
-                       }\r
-                       if( *format == 'u' ) {\r
-                               pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a');\r
-                               continue;\r
-                       }\r
-                       if( *format == 'c' ) {\r
-                               /* char are converted to int then pushed on the stack */\r
-                               scr[0] = (char)va_arg( args, int );\r
-                               scr[1] = '\0';\r
-                               pc += prints (out, scr, width, pad);\r
-                               continue;\r
-                       }\r
-               }\r
-               else {\r
-               out:\r
-                       printchar (out, *format);\r
-                       ++pc;\r
-               }\r
-       }\r
-       if (out) **out = '\0';\r
-       va_end( args );\r
-       return pc;\r
-}\r
-\r
-int printf(const char *format, ...)\r
-{\r
-        va_list args;\r
-        \r
-        va_start( args, format );\r
-        return print( 0, format, args );\r
-}\r
-\r
-int sprintf(char *out, const char *format, ...)\r
-{\r
-        va_list args;\r
-        \r
-        va_start( args, format );\r
-        return print( &out, format, args );\r
-}\r
-\r
-\r
-int snprintf( char *buf, unsigned int count, const char *format, ... )\r
-{\r
-        va_list args;\r
-        \r
-        ( void ) count;\r
-        \r
-        va_start( args, format );\r
-        return print( &buf, format, args );\r
-}\r
-\r
-\r
-#ifdef TEST_PRINTF\r
-int main(void)\r
-{\r
-       char *ptr = "Hello world!";\r
-       char *np = 0;\r
-       int i = 5;\r
-       unsigned int bs = sizeof(int)*8;\r
-       int mi;\r
-       char buf[80];\r
-\r
-       mi = (1 << (bs-1)) + 1;\r
-       printf("%s\n", ptr);\r
-       printf("printf test\n");\r
-       printf("%s is null pointer\n", np);\r
-       printf("%d = 5\n", i);\r
-       printf("%d = - max int\n", mi);\r
-       printf("char %c = 'a'\n", 'a');\r
-       printf("hex %x = ff\n", 0xff);\r
-       printf("hex %02x = 00\n", 0);\r
-       printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3);\r
-       printf("%d %s(s)%", 0, "message");\r
-       printf("\n");\r
-       printf("%d %s(s) with %%\n", 0, "message");\r
-       sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf);\r
-       sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf);\r
-       sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf);\r
-       sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf);\r
-       sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf);\r
-       sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf);\r
-       sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf);\r
-       sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf);\r
-\r
-       return 0;\r
-}\r
-\r
-/*\r
- * if you compile this file with\r
- *   gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c\r
- * you will get a normal warning:\r
- *   printf.c:214: warning: spurious trailing `%' in format\r
- * this line is testing an invalid % at the end of the format string.\r
- *\r
- * this should display (on 32bit int machine) :\r
- *\r
- * Hello world!\r
- * printf test\r
- * (null) is null pointer\r
- * 5 = 5\r
- * -2147483647 = - max int\r
- * char a = 'a'\r
- * hex ff = ff\r
- * hex 00 = 00\r
- * signed -3 = unsigned 4294967293 = hex fffffffd\r
- * 0 message(s)\r
- * 0 message(s) with %\r
- * justif: "left      "\r
- * justif: "     right"\r
- *  3: 0003 zero padded\r
- *  3: 3    left justif.\r
- *  3:    3 right justif.\r
- * -3: -003 zero padded\r
- * -3: -3   left justif.\r
- * -3:   -3 right justif.\r
- */\r
-\r
-#endif\r
-\r
-\r
-/* To keep linker happy. */\r
-int    write( int i, char* c, int n)\r
-{\r
-       (void)i;\r
-       (void)n;\r
-       (void)c;\r
-       return 0;\r
-}\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/serial.c b/Demo/MSP430X_MSP430F5438_CCS4/Demo_Source/serial.c
deleted file mode 100644 (file)
index 759e284..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-       \r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or 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
-\r
-/* BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER.\r
- *\r
- * This is not a proper UART driver.  It only supports one port, uses loopback\r
- * mode, and is used to test interrupts that use the FreeRTOS API as part of \r
- * a wider test suite.  Nor is it intended to show an efficient implementation\r
- * of a UART interrupt service routine as queues are used to pass individual\r
- * characters one at a time!\r
- */\r
-\r
-/* Standard includes. */\r
-#include <stdlib.h>\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "queue.h"\r
-#include "task.h"\r
-\r
-/* Demo application includes. */\r
-#include "serial.h"\r
-\r
-/* Misc. constants. */\r
-#define serNO_BLOCK                            ( ( portTickType ) 0 )\r
-\r
-/* The queue used to hold received characters. */\r
-static xQueueHandle xRxedChars;\r
-\r
-/* The queue used to hold characters waiting transmission. */\r
-static xQueueHandle xCharsForTx;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-xComPortHandle xSerialPortInitMinimal( unsigned portLONG ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )\r
-{\r
-unsigned portLONG ulBaudRateCount;\r
-\r
-       /* Initialise the hardware. */\r
-\r
-       /* Generate the baud rate constants for the wanted baud rate. */\r
-       ulBaudRateCount = configCPU_CLOCK_HZ / ulWantedBaud;\r
-\r
-       portENTER_CRITICAL();\r
-       {\r
-               /* Create the queues used by the com test task. */\r
-               xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
-               xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );\r
-\r
-               /* Reset UART. */\r
-               UCA1CTL1 |= UCSWRST;\r
-\r
-               /* Use SMCLK. */\r
-               UCA1CTL1 = UCSSEL0 | UCSSEL1;\r
-               \r
-               /* Setup baud rate low byte. */\r
-               UCA1BR0 = ( unsigned portCHAR ) ( ulBaudRateCount & ( unsigned long ) 0xff );\r
-\r
-               /* Setup baud rate high byte. */\r
-               ulBaudRateCount >>= 8UL;\r
-               UCA1BR1 = ( unsigned portCHAR ) ( ulBaudRateCount & ( unsigned long ) 0xff );\r
-\r
-               /* UCLISTEN sets loopback mode! */\r
-               UCA1STAT = UCLISTEN;\r
-\r
-               /* Enable interrupts. */\r
-               UCA1IE |= UCRXIE;\r
-               \r
-               /* Take out of reset. */\r
-               UCA1CTL1 &= ~UCSWRST;\r
-       }\r
-       portEXIT_CRITICAL();\r
-       \r
-       /* Note the comments at the top of this file about this not being a generic\r
-       UART driver. */\r
-       return NULL;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed portCHAR *pcRxedChar, portTickType xBlockTime )\r
-{\r
-       /* Get the next character from the buffer.  Return false if no characters\r
-       are available, or arrive before xBlockTime expires. */\r
-       if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )\r
-       {\r
-               return pdTRUE;\r
-       }\r
-       else\r
-       {\r
-               return pdFALSE;\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed portCHAR cOutChar, portTickType xBlockTime )\r
-{\r
-signed portBASE_TYPE xReturn;\r
-\r
-       /* Send the next character to the queue of characters waiting transmission,\r
-       then enable the UART Tx interrupt, just in case UART transmission has already\r
-       completed and switched itself off. */\r
-       xReturn = xQueueSend( xCharsForTx, &cOutChar, xBlockTime );\r
-       UCA1IE |= UCTXIE;\r
-       \r
-       return xReturn;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/* The implementation of this interrupt is provided to demonstrate the use\r
-of queues from inside an interrupt service routine.  It is *not* intended to\r
-be an efficient interrupt implementation.  A real application should make use\r
-of the DMA.  Or, as a minimum, transmission and reception could use a simple\r
-RAM ring buffer, and synchronise with a task using a semaphore when a complete\r
-message has been received or transmitted. */\r
-#pragma vector=USCI_A1_VECTOR\r
-interrupt void prvUSCI_A1_ISR( void )\r
-{\r
-signed char cChar;\r
-portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
-\r
-       if( ( UCA1IFG & UCRXIFG ) != 0 )\r
-       {\r
-               /* Get the character from the UART and post it on the queue of Rxed\r
-               characters. */\r
-               cChar = UCA1RXBUF;\r
-               xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );\r
-       }       \r
-       else if( ( UCA1IFG & UCTXIFG ) != 0 )\r
-       {\r
-               /* The previous character has been transmitted.  See if there are any\r
-               further characters waiting transmission. */\r
-               if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )\r
-               {\r
-                       /* There was another character queued - transmit it now. */\r
-                       UCA1TXBUF = cChar;\r
-               }\r
-               else\r
-               {\r
-                       /* There were no other characters to transmit - disable the Tx\r
-                       interrupt. */\r
-                       UCA1IE &= ~UCTXIE;\r
-               }\r
-       }\r
-       \r
-       __bic_SR_register_on_exit( SCG1 + SCG0 + OSCOFF + CPUOFF );\r
-       \r
-       /* If writing to a queue caused a task to unblock, and the unblocked task\r
-       has a priority equal to or above the task that this interrupt interrupted,\r
-       then lHigherPriorityTaskWoken will have been set to pdTRUE internally within\r
-       xQueuesendFromISR(), and portEND_SWITCHING_ISR() will ensure that this\r
-       interrupt returns directly to the higher priority unblocked task. \r
-       \r
-       THIS MUST BE THE LAST THING DONE IN THE ISR. */ \r
-       portYIELD_FROM_ISR( xHigherPriorityTaskWoken );\r
-}\r
-\r
-\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/MSP430F5438A.ccxml b/Demo/MSP430X_MSP430F5438_CCS4/MSP430F5438A.ccxml
deleted file mode 100644 (file)
index ab962b6..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<configurations XML_version="1.2" id="configurations_0">\r
-    <configuration XML_version="1.2" id="configuration_0">\r
-        <instance XML_version="1.2" desc="TI MSP430 USB1" href="connections\TIMSP430-USB.xml" id="TI MSP430 USB1" xml="TIMSP430-USB.xml" xmlpath="connections"/>\r
-        <connection XML_version="1.2" id="TI MSP430 USB1">\r
-            <instance XML_version="1.2" href="drivers\msp430_emu.xml" id="drivers" xml="msp430_emu.xml" xmlpath="drivers"/>\r
-            <platform XML_version="1.2" id="platform_0">\r
-                <instance XML_version="1.2" desc="MSP430F5438A" href="Devices\MSP430F5438A.xml" id="MSP430F5438A" xml="MSP430F5438A.xml" xmlpath="Devices"/>\r
-            </platform>\r
-        </connection>\r
-    </configuration>\r
-</configurations>\r
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/READ_ME_FIRST.txt b/Demo/MSP430X_MSP430F5438_CCS4/READ_ME_FIRST.txt
deleted file mode 100644 (file)
index 2d6c226..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Import this project into code composer studio using File->Import->Code Composer Studio->Existing CCS/CCE Ecplise Projects.\r
-\r
-The project will *not* open correctly by selecting File->Import->Existing Projects into Workspace.
\ No newline at end of file
diff --git a/Demo/MSP430X_MSP430F5438_CCS4/lnk_msp430f5438a.cmd b/Demo/MSP430X_MSP430F5438_CCS4/lnk_msp430f5438a.cmd
deleted file mode 100644 (file)
index 439b21a..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/******************************************************************************/\r
-/* lnk_msp430f5438a.cmd - LINKER COMMAND FILE FOR LINKING MSP430F5438A PROGRAMS     */\r
-/*                                                                            */\r
-/*   Usage:  lnk430 <obj files...>    -o <out file> -m <map file> lnk.cmd     */\r
-/*           cl430  <src files...> -z -o <out file> -m <map file> lnk.cmd     */\r
-/*                                                                            */\r
-/*----------------------------------------------------------------------------*/\r
-/* These linker options are for command line linking only.  For IDE linking,  */\r
-/* you should set your linker options in Project Properties                   */\r
-/* -c                                               LINK USING C CONVENTIONS  */\r
-/* -stack  0x0100                                   SOFTWARE STACK SIZE       */\r
-/* -heap   0x0100                                   HEAP AREA SIZE            */\r
-/*                                                                            */\r
-/*----------------------------------------------------------------------------*/\r
-\r
-\r
-/****************************************************************************/\r
-/* SPECIFY THE SYSTEM MEMORY MAP                                            */\r
-/****************************************************************************/\r
-\r
-MEMORY\r
-{\r
-    SFR                     : origin = 0x0000, length = 0x0010\r
-    PERIPHERALS_8BIT        : origin = 0x0010, length = 0x00F0\r
-    PERIPHERALS_16BIT       : origin = 0x0100, length = 0x0100\r
-    RAM                     : origin = 0x1C00, length = 0x4000\r
-    INFOA                   : origin = 0x1980, length = 0x0080\r
-    INFOB                   : origin = 0x1900, length = 0x0080\r
-    INFOC                   : origin = 0x1880, length = 0x0080\r
-    INFOD                   : origin = 0x1800, length = 0x0080\r
-    FLASH                   : origin = 0x5C00, length = 0xA380\r
-    FLASH2                  : origin = 0x10000,length = 0x35C00\r
-    INT00                   : origin = 0xFF80, length = 0x0002\r
-    INT01                   : origin = 0xFF82, length = 0x0002\r
-    INT02                   : origin = 0xFF84, length = 0x0002\r
-    INT03                   : origin = 0xFF86, length = 0x0002\r
-    INT04                   : origin = 0xFF88, length = 0x0002\r
-    INT05                   : origin = 0xFF8A, length = 0x0002\r
-    INT06                   : origin = 0xFF8C, length = 0x0002\r
-    INT07                   : origin = 0xFF8E, length = 0x0002\r
-    INT08                   : origin = 0xFF90, length = 0x0002\r
-    INT09                   : origin = 0xFF92, length = 0x0002\r
-    INT10                   : origin = 0xFF94, length = 0x0002\r
-    INT11                   : origin = 0xFF96, length = 0x0002\r
-    INT12                   : origin = 0xFF98, length = 0x0002\r
-    INT13                   : origin = 0xFF9A, length = 0x0002\r
-    INT14                   : origin = 0xFF9C, length = 0x0002\r
-    INT15                   : origin = 0xFF9E, length = 0x0002\r
-    INT16                   : origin = 0xFFA0, length = 0x0002\r
-    INT17                   : origin = 0xFFA2, length = 0x0002\r
-    INT18                   : origin = 0xFFA4, length = 0x0002\r
-    INT19                   : origin = 0xFFA6, length = 0x0002\r
-    INT20                   : origin = 0xFFA8, length = 0x0002\r
-    INT21                   : origin = 0xFFAA, length = 0x0002\r
-    INT22                   : origin = 0xFFAC, length = 0x0002\r
-    INT23                   : origin = 0xFFAE, length = 0x0002\r
-    INT24                   : origin = 0xFFB0, length = 0x0002\r
-    INT25                   : origin = 0xFFB2, length = 0x0002\r
-    INT26                   : origin = 0xFFB4, length = 0x0002\r
-    INT27                   : origin = 0xFFB6, length = 0x0002\r
-    INT28                   : origin = 0xFFB8, length = 0x0002\r
-    INT29                   : origin = 0xFFBA, length = 0x0002\r
-    INT30                   : origin = 0xFFBC, length = 0x0002\r
-    INT31                   : origin = 0xFFBE, length = 0x0002\r
-    INT32                   : origin = 0xFFC0, length = 0x0002\r
-    INT33                   : origin = 0xFFC2, length = 0x0002\r
-    INT34                   : origin = 0xFFC4, length = 0x0002\r
-    INT35                   : origin = 0xFFC6, length = 0x0002\r
-    INT36                   : origin = 0xFFC8, length = 0x0002\r
-    INT37                   : origin = 0xFFCA, length = 0x0002\r
-    INT38                   : origin = 0xFFCC, length = 0x0002\r
-    INT39                   : origin = 0xFFCE, length = 0x0002\r
-    INT40                   : origin = 0xFFD0, length = 0x0002\r
-    INT41                   : origin = 0xFFD2, length = 0x0002\r
-    INT42                   : origin = 0xFFD4, length = 0x0002\r
-    INT43                   : origin = 0xFFD6, length = 0x0002\r
-    INT44                   : origin = 0xFFD8, length = 0x0002\r
-    INT45                   : origin = 0xFFDA, length = 0x0002\r
-    INT46                   : origin = 0xFFDC, length = 0x0002\r
-    INT47                   : origin = 0xFFDE, length = 0x0002\r
-    INT48                   : origin = 0xFFE0, length = 0x0002\r
-    INT49                   : origin = 0xFFE2, length = 0x0002\r
-    INT50                   : origin = 0xFFE4, length = 0x0002\r
-    INT51                   : origin = 0xFFE6, length = 0x0002\r
-    INT52                   : origin = 0xFFE8, length = 0x0002\r
-    INT53                   : origin = 0xFFEA, length = 0x0002\r
-    INT54                   : origin = 0xFFEC, length = 0x0002\r
-    INT55                   : origin = 0xFFEE, length = 0x0002\r
-    INT56                   : origin = 0xFFF0, length = 0x0002\r
-    INT57                   : origin = 0xFFF2, length = 0x0002\r
-    INT58                   : origin = 0xFFF4, length = 0x0002\r
-    INT59                   : origin = 0xFFF6, length = 0x0002\r
-    INT60                   : origin = 0xFFF8, length = 0x0002\r
-    INT61                   : origin = 0xFFFA, length = 0x0002\r
-    INT62                   : origin = 0xFFFC, length = 0x0002\r
-    RESET                   : origin = 0xFFFE, length = 0x0002\r
-}\r
-\r
-/****************************************************************************/\r
-/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY                              */\r
-/****************************************************************************/\r
-\r
-SECTIONS\r
-{\r
-    .bss       : {} > RAM                /* GLOBAL & STATIC VARS              */\r
-    .sysmem    : {} > RAM                /* DYNAMIC MEMORY ALLOCATION AREA    */\r
-    .stack     : {} > RAM (HIGH)         /* SOFTWARE SYSTEM STACK             */\r
-\r
-/* Can be modified to test the use of high memory. */\r
-/* Original line. */\r
-    .text      : {}>> FLASH | FLASH2  /* CODE                              */\r
-/* Modified line. */\r
-/*    .text      : {} >> FLASH2  */             /* CODE                              */\r
-       .main      : {} > FLASH\r
-    .text:_isr : {} > FLASH              /* ISR CODE SPACE                    */\r
-    .cinit     : {} > FLASH              /* INITIALIZATION TABLES             */\r
-//#ifdef (__LARGE_DATA_MODEL__)\r
-    .const     : {} > FLASH | FLASH2     /* CONSTANT DATA                     */\r
-//#else\r
-//    .const     : {} > FLASH              /* CONSTANT DATA                     */\r
-//#endif\r
-    .cio       : {} > RAM                /* C I/O BUFFER                      */\r
-\r
-    .pinit     : {} > FLASH              /* C++ CONSTRUCTOR TABLES            */\r
-\r
-    .infoA     : {} > INFOA              /* MSP430 INFO FLASH MEMORY SEGMENTS */\r
-    .infoB     : {} > INFOB\r
-    .infoC     : {} > INFOC\r
-    .infoD     : {} > INFOD\r
-\r
-    .int00   : {} > INT00                /* MSP430 INTERRUPT VECTORS          */\r
-    .int01   : {} > INT01\r
-    .int02   : {} > INT02\r
-    .int03   : {} > INT03\r
-    .int04   : {} > INT04\r
-    .int05   : {} > INT05\r
-    .int06   : {} > INT06\r
-    .int07   : {} > INT07\r
-    .int08   : {} > INT08\r
-    .int09   : {} > INT09\r
-    .int10   : {} > INT10\r
-    .int11   : {} > INT11\r
-    .int12   : {} > INT12\r
-    .int13   : {} > INT13\r
-    .int14   : {} > INT14\r
-    .int15   : {} > INT15\r
-    .int16   : {} > INT16\r
-    .int17   : {} > INT17\r
-    .int18   : {} > INT18\r
-    .int19   : {} > INT19\r
-    .int20   : {} > INT20\r
-    .int21   : {} > INT21\r
-    .int22   : {} > INT22\r
-    .int23   : {} > INT23\r
-    .int24   : {} > INT24\r
-    .int25   : {} > INT25\r
-    .int26   : {} > INT26\r
-    .int27   : {} > INT27\r
-    .int28   : {} > INT28\r
-    .int29   : {} > INT29\r
-    .int30   : {} > INT30\r
-    .int31   : {} > INT31\r
-    .int32   : {} > INT32\r
-    .int33   : {} > INT33\r
-    .int34   : {} > INT34\r
-    .int35   : {} > INT35\r
-    .int36   : {} > INT36\r
-    .int37   : {} > INT37\r
-    .int38   : {} > INT38\r
-    .int39   : {} > INT39\r
-    .int40   : {} > INT40\r
-    .int41   : {} > INT41\r
-    .int42   : {} > INT42\r
-    .int43   : {} > INT43\r
-    .int44   : {} > INT44\r
-    .int45   : {} > INT45\r
-    .int46   : {} > INT46\r
-    .int47   : {} > INT47\r
-    .int48   : {} > INT48\r
-    .int49   : {} > INT49\r
-    .int50   : {} > INT50\r
-    .int51   : {} > INT51\r
-    .int52   : {} > INT52\r
-    .int53   : {} > INT53\r
-    .int54   : {} > INT54\r
-    .int55   : {} > INT55\r
-    .int56   : {} > INT56\r
-    .int57   : {} > INT57\r
-    .int58   : {} > INT58\r
-    .int59   : {} > INT59\r
-    .int60   : {} > INT60\r
-    .int61   : {} > INT61\r
-    .int62   : {} > INT62\r
-    .reset   : {} > RESET              /* MSP430 RESET VECTOR               */ \r
-}\r
-\r
-/****************************************************************************/\r
-/* INCLUDE PERIPHERALS MEMORY MAP                                           */\r
-/****************************************************************************/\r
-\r
--l msp430f5438a.cmd\r
-\r