mirror of
https://github.com/QuantumLeaps/qpc.git
synced 2025-01-14 06:43:19 +08:00
6.3.8c
This commit is contained in:
parent
a6105cf3bd
commit
7d7dc7ceac
@ -120,7 +120,7 @@ void QK_onIdle(void) {
|
||||
* you might need to customize the clock management for your application,
|
||||
* see the datasheet for your particular MSP430 MCU.
|
||||
*/
|
||||
__low_power_mode_1(); /* enter LPM1; also ENABLES interrupts, see NOTE1
|
||||
__low_power_mode_1(); /* enter LPM1; also ENABLES interrupts, see NOTE1 */
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.1334096219" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -149,7 +149,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1965690727" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
@ -249,7 +249,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.828601683" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
|
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.ti.ccstudio.debug.launchType.device.debugging">
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_CPUS_WITH_PROJECT" value="<?xml version="1.0" encoding="UTF-8"?> <cpus_with_project> <id id="TI MSP430 USB1/MSP430" isa="MSP430"/> </cpus_with_project>"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.TI MSP430 USB1/MSP430" value="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> </PropertyValues> "/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.TI MSP430 USB1/MSP430" value="${build_artifact:blinky-qk_msp-exp430f5529lp}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.TI MSP430 USB1/MSP430" value="blinky-qk_msp-exp430f5529lp"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:blinky-qk_msp-exp430f5529lp}"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/blinky-qk_msp-exp430f5529lp"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="com.ti.ccstudio.debug.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;cpuSpecificContainer cpuName=&quot;TI MSP430 USB1/MSP430&quot;&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;project name=&amp;quot;blinky-qk_msp-exp430f5529lp&amp;quot; referencedProjects=&amp;quot;true&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.project&quot;/&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;productsSource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.products.source&quot;/&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;deviceLibrarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.device.library.source&quot;/&gt;&#13;&#10;&lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;librarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.library.source&quot;/&gt;&#13;&#10;&lt;/cpuSpecificContainer&gt;&#13;&#10;" typeId="com.ti.ccstudio.debug.containerType.cpu.specific"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
</launchConfiguration>
|
@ -43,7 +43,7 @@
|
||||
<link>
|
||||
<name>QP_port</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk/ccs</locationURI>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>blinky.c</name>
|
||||
|
@ -394,7 +394,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -1524,7 +1524,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -2650,7 +2650,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -3456,16 +3456,16 @@
|
||||
<group>
|
||||
<name>QP_port</name>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qep_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qep_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qf_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qf_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qk_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qk_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qs_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qs_port.h</name>
|
||||
</file>
|
||||
</group>
|
||||
<group>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.354910356" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -147,7 +147,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.943383725" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
@ -246,7 +246,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.2059480999" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -270,7 +270,7 @@
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.546303107" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/include"/>
|
||||
<listOptionValue builtIn="false" value=""${CCS_BASE_ROOT}/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx"/>
|
||||
|
@ -38,7 +38,7 @@
|
||||
<link>
|
||||
<name>QP_port</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv/ccs</locationURI>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>QS</name>
|
||||
|
@ -394,7 +394,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -1520,7 +1520,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -2646,7 +2646,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -3449,16 +3449,16 @@
|
||||
<group>
|
||||
<name>QP_port</name>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qep_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qep_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qf_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qf_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qs_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qs_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qv_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qv_port.h</name>
|
||||
</file>
|
||||
</group>
|
||||
<group>
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP on MSP-EXP430F5529LP, preemptive QK kernel
|
||||
* Last updated for version 6.3.7
|
||||
* Last updated on 2018-11-30
|
||||
* Last updated for version 6.3.8
|
||||
* Last updated on 2019-01-24
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -197,7 +197,7 @@ void QK_onIdle(void) {
|
||||
* you might need to customize the clock management for your application,
|
||||
* see the datasheet for your particular MSP430 MCU.
|
||||
*/
|
||||
__low_power_mode_1(); /* enter LPM1; also ENABLES interrupts, see NOTE1
|
||||
__low_power_mode_1(); /* enter LPM1; also ENABLES interrupts, see NOTE1 */
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -247,11 +247,11 @@ uint8_t QS_onStartup(void const *arg) {
|
||||
P4SEL |= (RXD | TXD); /* select the UART function for the pins */
|
||||
UCA1CTL1 |= UCSWRST; /* reset USCI state machine */
|
||||
UCA1CTL1 |= UCSSEL_2; /* choose the SMCLK clock */
|
||||
#if 0
|
||||
UCA0BR0 = 6; /* 1MHz 9600 (see User's Guide) */
|
||||
UCA0BR1 = 0; /* 1MHz 9600 */
|
||||
UCA0MCTL = UCBRS_0 | UCBRF_13 | UCOS16; /* modulationUCBRSx=0, UCBRFx=0, oversampling */
|
||||
#else
|
||||
#if 1 /* 9600 baud rate */
|
||||
UCA1BR0 = 6; /* 1MHz 9600 (see User's Guide) */
|
||||
UCA1BR1 = 0; /* 1MHz 9600 */
|
||||
UCA1MCTL = UCBRS_0 | UCBRF_13 | UCOS16; /* modulationUCBRSx=0, UCBRFx=0, oversampling */
|
||||
#else /* 115200 baud rate */
|
||||
UCA1BR0 = 9; /* 1MHz 115200 (see User's Guide) */
|
||||
UCA1BR1 = 0; /* 1MHz 115200 */
|
||||
UCA1MCTL |= UCBRS_1 | UCBRF_0; /* modulation UCBRSx=1, UCBRFx=0 */
|
||||
|
@ -47,7 +47,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.1082810150" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -147,7 +147,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1482762883" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
@ -246,7 +246,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.831890234" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -269,7 +269,7 @@
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.261004950" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/include"/>
|
||||
<listOptionValue builtIn="false" value=""${CCS_BASE_ROOT}/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx"/>
|
||||
|
@ -38,7 +38,7 @@
|
||||
<link>
|
||||
<name>QP_port</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk/ccs</locationURI>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qk</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>QS</name>
|
||||
|
@ -394,7 +394,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -1524,7 +1524,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -2318,7 +2318,7 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>RTLibraryPath</name>
|
||||
<state>$TOOLKIT_DIR$\lib\dlib\dl430fn.r43</state>
|
||||
<state>$TOOLKIT_DIR$\lib\dlib\dl430xlsfn.r43</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>Input variant</name>
|
||||
@ -2361,11 +2361,11 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>GStackSize2</name>
|
||||
<state>80</state>
|
||||
<state>160</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>GHeapSize2</name>
|
||||
<state>80</state>
|
||||
<state>160</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>RadioDataModelType</name>
|
||||
@ -2650,7 +2650,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -3357,7 +3357,11 @@
|
||||
<debug>1</debug>
|
||||
<option>
|
||||
<name>CUTest</name>
|
||||
<state>###Uninitialized###</state>
|
||||
<state>-I$TOOLKIT_DIR$\inc</state>
|
||||
<state>-@$TOOLKIT_DIR$\bin\iar.cmd</state>
|
||||
<state>-@$PROJ_DIR$\source.txt</state>
|
||||
<state>-@$PROJ_DIR$\include.txt</state>
|
||||
<state>--preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ULPRules</name>
|
||||
@ -3370,7 +3374,7 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>OutputFile</name>
|
||||
<state></state>
|
||||
<state>$PROJ_FNAME$.ulp</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>ULPStatus</name>
|
||||
@ -3459,16 +3463,16 @@
|
||||
<group>
|
||||
<name>QP_port</name>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qep_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qep_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qf_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qf_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qk_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qk_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\iar\qs_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qk\qs_port.h</name>
|
||||
</file>
|
||||
</group>
|
||||
<group>
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*****************************************************************************
|
||||
* Product: DPP on MSP-EXP430F5529LP, cooperative QV kernel
|
||||
* Last updated for version 6.3.7
|
||||
* Last updated on 2018-11-30
|
||||
* Last updated for version 6.3.8
|
||||
* Last updated on 2019-01-24
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2018 Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -93,6 +93,7 @@ static uint32_t l_rnd;
|
||||
QF_TICK_X(0U, (void *)0); /* process all time events at rate 0 */
|
||||
}
|
||||
|
||||
|
||||
/* BSP functions ===========================================================*/
|
||||
void BSP_init(void) {
|
||||
WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */
|
||||
@ -188,11 +189,12 @@ void QV_onIdle(void) { /* NOTE: called with interrutps DISABLED, see NOTE1 */
|
||||
* you might need to customize the clock management for your application,
|
||||
* see the datasheet for your particular MSP430 MCU.
|
||||
*/
|
||||
__low_power_mode_1(); /* Enter LPM1; also ENABLES interrupts */
|
||||
__low_power_mode_1(); /* enter LPM1; also ENABLES interrupts */
|
||||
#else
|
||||
QF_INT_ENABLE(); /* just enable interrupts */
|
||||
#endif
|
||||
}
|
||||
|
||||
/*..........................................................................*/
|
||||
void Q_onAssert(char const *module, int loc) {
|
||||
/*
|
||||
@ -238,10 +240,11 @@ uint8_t QS_onStartup(void const *arg) {
|
||||
P4SEL |= (RXD | TXD); /* select the UART function for the pins */
|
||||
UCA1CTL1 |= UCSWRST; /* reset USCI state machine */
|
||||
UCA1CTL1 |= UCSSEL_2; /* choose the SMCLK clock */
|
||||
#if 0
|
||||
UCA0BR0 = 6; /* 1MHz 9600 (see User's Guide) */
|
||||
UCA0BR1 = 0; /* 1MHz 9600 */
|
||||
UCA0MCTL = UCBRS_0 | UCBRF_13 | UCOS16; /* modulationUCBRSx=0, UCBRFx=0, oversampling */
|
||||
#if 1
|
||||
UCA1BR0 = 6; /* 1MHz 9600 (see User's Guide) */
|
||||
UCA1BR1 = 0; /* 1MHz 9600 */
|
||||
/* modulation UCBRSx=0, UCBRFx=0, oversampling */
|
||||
UCA1MCTL = UCBRS_0 | UCBRF_13 | UCOS16;
|
||||
#else
|
||||
UCA1BR0 = 9; /* 1MHz 115200 (see User's Guide) */
|
||||
UCA1BR1 = 0; /* 1MHz 115200 */
|
||||
@ -320,7 +323,7 @@ void QS_onCommand(uint8_t cmdId,
|
||||
* NOTE2:
|
||||
* One of the LEDs is used to visualize the idle loop activity. The brightness
|
||||
* of the LED is proportional to the frequency of invocations of the idle loop.
|
||||
* Please note that the LED is toggled with interrupts locked, so no interrupt
|
||||
* execution time contributes to the brightness of the User LED.
|
||||
* Please note that the LED is toggled with interrupts disabled, so no
|
||||
* interrupt execution time contributes to the brightness of the User LED.
|
||||
*/
|
||||
|
||||
|
@ -47,7 +47,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.1082810150" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -147,7 +147,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.1482762883" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
@ -246,7 +246,7 @@
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../..""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../src""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.831890234" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
@ -269,7 +269,7 @@
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.261004950" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/include"/>
|
||||
<listOptionValue builtIn="false" value=""${CCS_BASE_ROOT}/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/ccs/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qv/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx"/>
|
||||
|
@ -38,7 +38,7 @@
|
||||
<link>
|
||||
<name>QP_port</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv/ccs</locationURI>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/ports/msp430/qv</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>QS</name>
|
||||
|
@ -394,7 +394,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -1520,7 +1520,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -2646,7 +2646,7 @@
|
||||
<state>$PROJ_DIR$\..\..</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\include</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\src</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar</state>
|
||||
<state>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>CCStdIncCheck</name>
|
||||
@ -3452,16 +3452,16 @@
|
||||
<group>
|
||||
<name>QP_port</name>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qep_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qep_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qf_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qf_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qs_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qs_port.h</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\iar\qv_port.h</name>
|
||||
<name>$PROJ_DIR$\..\..\..\..\..\ports\msp430\qv\qv_port.h</name>
|
||||
</file>
|
||||
</group>
|
||||
<group>
|
||||
|
@ -355,7 +355,8 @@ $declare${AOs::AO_Table}
|
||||
extern QXThread * const XT_Test2;
|
||||
#endif /* qxk_h */
|
||||
|
||||
#endif /* dpp_h */</text>
|
||||
#endif /* dpp_h */
|
||||
</text>
|
||||
</file>
|
||||
<file name="philo.c">
|
||||
<text>#include "qpc.h"
|
||||
|
14
examples/qutest/dpp/test_dpp/.ccsproject
Normal file
14
examples/qutest/dpp/test_dpp/.ccsproject
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<?ccsproject version="1.0"?>
|
||||
<projectOptions>
|
||||
<deviceVariant value="MSP430F5529"/>
|
||||
<deviceFamily value="MSP430"/>
|
||||
<codegenToolVersion value="4.4.4"/>
|
||||
<isElfFormat value="true"/>
|
||||
<connection value="common/targetdb/connections/TIMSP430-USB.xml"/>
|
||||
<linkerCommandFile value="lnk_msp430f5529.cmd"/>
|
||||
<rts value="libc.a"/>
|
||||
<createSlaveProjects value=""/>
|
||||
<templateProperties value="id=com.ti.common.project.core.emptyProjectWithMainTemplate_msp430,"/>
|
||||
<isTargetManual value="false"/>
|
||||
</projectOptions>
|
138
examples/qutest/dpp/test_dpp/.cproject
Normal file
138
examples/qutest/dpp/test_dpp/.cproject
Normal file
@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106.1583450934">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106.1583450934" moduleId="org.eclipse.cdt.core.settings" name="QUTest">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106.1583450934" name="QUTest" parent="com.ti.ccstudio.buildDefinitions.MSP430.Debug" postbuildStep="" prebuildStep="rm "${PROJECT_BUILD_DIR}/QP_include/qstamp.obj"">
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106.1583450934." name="/" resourcePath="">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.20739615" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.2093124014">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1224925019" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=MSP430F5529"/>
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
|
||||
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lnk_msp430f5529.cmd"/>
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1607954478" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="16.9.6.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug.69972864" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug.1329869952" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.builderDebug"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.398377767" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE.10735315" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="Q_SPY"/>
|
||||
<listOptionValue builtIn="false" value="Q_UTEST"/>
|
||||
<listOptionValue builtIn="false" value="__MSP430F5529__"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.48597005" name="Specify the data memory model. (--data_model)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DATA_MODEL.small" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.1369100792" name="Inline hardware multiply version of RTS mpy routine (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.USE_HW_MPY.F5" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21.201180314" name="Workaround specified silicon errata (--silicon_errata) [CPU21]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU21" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22.323553141" name="Workaround specified silicon errata (--silicon_errata) [CPU22]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU22" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23.1700004757" name="Workaround specified silicon errata (--silicon_errata) [CPU23]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU23" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40.1593036300" name="Workaround specified silicon errata (--silicon_errata) [CPU40]" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_ERRATA.CPU40" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.906572439" name="Silicon version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.SILICON_VERSION.mspx" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.1250468187" name="Level of printf/scanf support required (--printf_support)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.PRINTF_SUPPORT.minimal" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH.1990748021" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/include"/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_LOC}/."/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../.."/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../../../../include"/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../../../../src"/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../../../../ports/msp430/qutest"/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../src"/>
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.822236150" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING.1088940640" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WARNING" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="225"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.329648053" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER.1609583135" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.396067356" name="Application binary interface (--abi)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.854510992" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.1047669089" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.1151310877" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1560502730" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.2093124014" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY.1213213130" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.LIBRARY" valueType="libs">
|
||||
<listOptionValue builtIn="false" value="libc.a"/>
|
||||
<listOptionValue builtIn="false" value="libmath.a"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH.286706947" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/include"/>
|
||||
<listOptionValue builtIn="false" value=""${CCS_BASE_ROOT}/msp430/include""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_LOC}/../../../../../ports/msp430/qk/ccs/spy""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
<listOptionValue builtIn="false" value="${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.593980859" name="Deprecated: Now a compiler option instead of linker option (--use_hw_mpy)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.USE_HW_MPY.F5" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.923760026" name="Hold watchdog timer during cinit auto-initialization (--cinit_hold_wdt)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.CINIT_HOLD_WDT.on" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE.166028047" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.HEAP_SIZE" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE.979894391" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.STACK_SIZE" value="160" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE.394024046" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE.999186292" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.1656256206" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER.2078239475" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO.1275658327" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS.979321504" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS.1747483560" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS.632306936" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exeLinker.inputType__GEN_CMDS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.2041198403" name="MSP430 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH.534994488" name="Specify rom width (--romwidth, -romwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.ROMWIDTH" value="8" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH.2007190572" name="Specify memory width (--memwidth, -memwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.MEMWIDTH" value="8" valueType="string"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.MSP430.Debug.26198106.1583450934.2080581034" name="/" resourcePath="QP">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain.585492880" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.DebugToolchain" unusedChildren="">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1224925019.1905125848" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1224925019"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1607954478.152337999" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1607954478"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.targetPlatformDebug"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.456551220" name="MSP430 Compiler" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.compilerDebug.398377767">
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS.234227703" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS.177672758" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS.412905784" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS.1487839411" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.compiler.inputType__ASM2_SRCS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.821334401" name="MSP430 Linker" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.exe.linkerDebug.2093124014"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.593302484" name="MSP430 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.MSP430_16.9.hex.2041198403"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="test_dpp.com.ti.ccstudio.buildDefinitions.MSP430.ProjectType.1637111345" name="MSP430" projectType="com.ti.ccstudio.buildDefinitions.MSP430.ProjectType"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
|
||||
<project-mappings>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
</project-mappings>
|
||||
</storageModule>
|
||||
<storageModule moduleId="null.endianPreference"/>
|
||||
<storageModule moduleId="cpuFamily"/>
|
||||
</cproject>
|
89
examples/qutest/dpp/test_dpp/.project
Normal file
89
examples/qutest/dpp/test_dpp/.project
Normal file
@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>test_dpp</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.ti.ccstudio.core.ccsNature</nature>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>QP</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-4-PROJECT_LOC/src/qf</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>QP_include</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-4-PROJECT_LOC/include</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>QP_port</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-4-PROJECT_LOC/ports/msp430/qutest</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>QS</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-4-PROJECT_LOC/src/qs</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>bsp.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/src/bsp.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>bsp.h</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/src/bsp.h</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>dpp.h</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/src/dpp.h</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>dpp.qm</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/src/dpp.qm</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>philo.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/src/philo.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>qk</name>
|
||||
<type>2</type>
|
||||
<locationURI>PARENT-5-PROJECT_LOC/src/qk</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>qutest_port.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-2-PROJECT_LOC/target_exp430f55/qutest_port.c</locationURI>
|
||||
</link>
|
||||
<link>
|
||||
<name>table.c</name>
|
||||
<type>1</type>
|
||||
<locationURI>PARENT-1-PROJECT_LOC/src/table.c</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
141
examples/qutest/dpp/test_dpp/README.txt
Normal file
141
examples/qutest/dpp/test_dpp/README.txt
Normal file
@ -0,0 +1,141 @@
|
||||
QUTest Integration Testing of the DPP Application
|
||||
=================================================
|
||||
The tests included in the qutest/dpp/test_dpp directory perform integration
|
||||
testing of the DPP application. The difference from pure unit testing is
|
||||
that multiple active objects (AOs) are started and the tests exercise
|
||||
interactions among these active objects.
|
||||
|
||||
The Test Fixture
|
||||
----------------
|
||||
The QUTest test fixture in this case is built from the same components as
|
||||
the final application (except that it is linked with the "QUTest stub" of
|
||||
the QP framework, instead of the fully-functional version).
|
||||
|
||||
Specifically, the test fixture in this case uses the same main() function
|
||||
(the same main.c module, even) as the final DPP application.
|
||||
|
||||
The Test Scripts
|
||||
----------------
|
||||
The test scripts (*.py files for testing with Python and *.tcl files for
|
||||
testing with Tcl) demonstrate injecting events and clock ticks to drive
|
||||
the application.
|
||||
|
||||
|
||||
The Test Targets
|
||||
================
|
||||
The makefiles provided with this test support several targets. Each
|
||||
supported target system requires building a separate QUTest fixture,
|
||||
but all targets can be tested with the *same* test scripts.
|
||||
|
||||
The following sub-sections describe how to build the code and run
|
||||
the tests.
|
||||
|
||||
Host Executable
|
||||
---------------
|
||||
The provided Makefile builds the test fixture for the host executable,
|
||||
which can be Windows, Linux or MacOSX.
|
||||
|
||||
Before running the Makefile, the QSPY host utility needs to be stated
|
||||
from command-prompt/terminal as follows:
|
||||
|
||||
qspy -u -t
|
||||
|
||||
Next, you need to open another command-prompt/terminal, change to this
|
||||
directory (qutest/dpp/test_dpp), and run:
|
||||
|
||||
make
|
||||
|
||||
The provided Makefile both builds the fixture and run the test
|
||||
scripts. By default, the Python test scripts are used. If you wish
|
||||
to run Tcl test scripts instead, please type:
|
||||
|
||||
make SCRIPT=tcl
|
||||
|
||||
Embedded Target: EFM32
|
||||
----------------------
|
||||
The provided makefile make_efm32 builds the test fixture for the
|
||||
EFM32-SLSTK3401A board (ARM Cortex-M4). The makefile works on Windows hosts
|
||||
only.
|
||||
|
||||
Before running make -f make_efm32, the QSPY host utility needs to
|
||||
be stated from command-prompt/terminal as follows:
|
||||
|
||||
qspy -u -c COM2
|
||||
|
||||
where you need to adjust the COM port number to the virtual COM port
|
||||
number assigned to the EFM32-SLSTK3401A board on your system.
|
||||
|
||||
Next, you need to open another command-prompt/terminal, change to this
|
||||
directory (qutest/dpp/test_dpp), and run:
|
||||
|
||||
make -f make_efm32
|
||||
|
||||
The provided Makefile both builds the fixture and run the test
|
||||
scripts. By default, the Python test scripts are used. If you wish
|
||||
to run Tcl test scripts instead, please type:
|
||||
|
||||
make -f make_efm32 SCRIPT=tcl
|
||||
|
||||
|
||||
Embedded Target: TM4C123
|
||||
------------------------
|
||||
The provided makefile make_tm4c123 builds the test fixture for the
|
||||
EK-TM4C123GXL board (ARM Cortex-M4). The makefile works on Windows hosts
|
||||
only.
|
||||
|
||||
Before running make -f make_efm32, the QSPY host utility needs to
|
||||
be stated from command-prompt/terminal as follows:
|
||||
|
||||
qspy -u -c COM3
|
||||
|
||||
where you need to adjust the COM port number to the virtual COM port
|
||||
number assigned to the EK-TM4C123GXL TivaC LaunchPad board on your system.
|
||||
|
||||
Next, you need to open another command-prompt/terminal, change to this
|
||||
directory (qutest/dpp/test_dpp), and run:
|
||||
|
||||
make -f make_efm32
|
||||
|
||||
The provided Makefile both builds the fixture and run the test scripts.
|
||||
By default, the Python test scripts are used. Alternatively, if you wish
|
||||
to run Tcl test scripts instead, please type:
|
||||
|
||||
make -f make_efm32 SCRIPT=tcl
|
||||
|
||||
|
||||
Embedded Target: MSP430
|
||||
------------------------
|
||||
The provided CCS (Code Composer Studio) project files
|
||||
.project/.csproject/.ccsproject build the test fixture for the
|
||||
MSP-EXP430F5529LP LauchPad board (MSP430X CPU).
|
||||
|
||||
NOTE: Currently testing on the MSP430 target is NOT fully automated,
|
||||
because it is based on the CCS IDE. This requires building and loading
|
||||
the test fixture *manually* from CCS, and only then by a separate step
|
||||
of running the test scripts.
|
||||
|
||||
After building the fixture and loading it into the flash memory
|
||||
of the MSP-EXP430F5529LP LauchPad board, you need to open the QSPY host
|
||||
utility from command-prompt/terminal as follows:
|
||||
|
||||
qspy -u -c COM4 -b9600
|
||||
|
||||
where you need to adjust the COM port number to the virtual COM port
|
||||
number assigned to the MSP-EXP430F5529LP LauchPad board on your system.
|
||||
|
||||
Next, you need to open another command-prompt/terminal, change to this
|
||||
directory (qutest/dpp/test_dpp), and run:
|
||||
|
||||
python %QTOOLS%\qspy\py\qutest.py
|
||||
|
||||
This will run the test scripts in Python. Alternatively, if you wish
|
||||
to run Tcl test scripts instead, please type:
|
||||
|
||||
tclsh %QTOOLS%\qspy\tcl\qutest.tcl
|
||||
|
||||
|
||||
Contact Information
|
||||
===================
|
||||
https://www.state-machine.com
|
||||
mailto:info@state-machine.com
|
||||
|
251
examples/qutest/dpp/test_dpp/lnk_msp430f5529.cmd
Normal file
251
examples/qutest/dpp/test_dpp/lnk_msp430f5529.cmd
Normal file
@ -0,0 +1,251 @@
|
||||
/* ============================================================================ */
|
||||
/* Copyright (c) 2017, Texas Instruments Incorporated */
|
||||
/* All rights reserved. */
|
||||
/* */
|
||||
/* Redistribution and use in source and binary forms, with or without */
|
||||
/* modification, are permitted provided that the following conditions */
|
||||
/* are met: */
|
||||
/* */
|
||||
/* * Redistributions of source code must retain the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer. */
|
||||
/* */
|
||||
/* * Redistributions in binary form must reproduce the above copyright */
|
||||
/* notice, this list of conditions and the following disclaimer in the */
|
||||
/* documentation and/or other materials provided with the distribution. */
|
||||
/* */
|
||||
/* * Neither the name of Texas Instruments Incorporated nor the names of */
|
||||
/* its contributors may be used to endorse or promote products derived */
|
||||
/* from this software without specific prior written permission. */
|
||||
/* */
|
||||
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" */
|
||||
/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, */
|
||||
/* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
|
||||
/* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR */
|
||||
/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, */
|
||||
/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, */
|
||||
/* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; */
|
||||
/* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, */
|
||||
/* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR */
|
||||
/* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
|
||||
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
||||
/* ============================================================================ */
|
||||
|
||||
/******************************************************************************/
|
||||
/* lnk_msp430f5529.cmd - LINKER COMMAND FILE FOR LINKING MSP430F5529 PROGRAMS */
|
||||
/* */
|
||||
/* Usage: lnk430 <obj files...> -o <out file> -m <map file> lnk.cmd */
|
||||
/* cl430 <src files...> -z -o <out file> -m <map file> lnk.cmd */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* These linker options are for command line linking only. For IDE linking, */
|
||||
/* you should set your linker options in Project Properties */
|
||||
/* -c LINK USING C CONVENTIONS */
|
||||
/* -stack 0x0100 SOFTWARE STACK SIZE */
|
||||
/* -heap 0x0100 HEAP AREA SIZE */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Version: 1.203 */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
/****************************************************************************/
|
||||
/* Specify the system memory map */
|
||||
/****************************************************************************/
|
||||
|
||||
MEMORY
|
||||
{
|
||||
SFR : origin = 0x0000, length = 0x0010
|
||||
PERIPHERALS_8BIT : origin = 0x0010, length = 0x00F0
|
||||
PERIPHERALS_16BIT : origin = 0x0100, length = 0x0100
|
||||
RAM : origin = 0x2400, length = 0x2000
|
||||
USBRAM : origin = 0x1C00, length = 0x0800
|
||||
INFOA : origin = 0x1980, length = 0x0080
|
||||
INFOB : origin = 0x1900, length = 0x0080
|
||||
INFOC : origin = 0x1880, length = 0x0080
|
||||
INFOD : origin = 0x1800, length = 0x0080
|
||||
FLASH : origin = 0x4400, length = 0xBB80
|
||||
FLASH2 : origin = 0x10000,length = 0x14400
|
||||
INT00 : origin = 0xFF80, length = 0x0002
|
||||
INT01 : origin = 0xFF82, length = 0x0002
|
||||
INT02 : origin = 0xFF84, length = 0x0002
|
||||
INT03 : origin = 0xFF86, length = 0x0002
|
||||
INT04 : origin = 0xFF88, length = 0x0002
|
||||
INT05 : origin = 0xFF8A, length = 0x0002
|
||||
INT06 : origin = 0xFF8C, length = 0x0002
|
||||
INT07 : origin = 0xFF8E, length = 0x0002
|
||||
INT08 : origin = 0xFF90, length = 0x0002
|
||||
INT09 : origin = 0xFF92, length = 0x0002
|
||||
INT10 : origin = 0xFF94, length = 0x0002
|
||||
INT11 : origin = 0xFF96, length = 0x0002
|
||||
INT12 : origin = 0xFF98, length = 0x0002
|
||||
INT13 : origin = 0xFF9A, length = 0x0002
|
||||
INT14 : origin = 0xFF9C, length = 0x0002
|
||||
INT15 : origin = 0xFF9E, length = 0x0002
|
||||
INT16 : origin = 0xFFA0, length = 0x0002
|
||||
INT17 : origin = 0xFFA2, length = 0x0002
|
||||
INT18 : origin = 0xFFA4, length = 0x0002
|
||||
INT19 : origin = 0xFFA6, length = 0x0002
|
||||
INT20 : origin = 0xFFA8, length = 0x0002
|
||||
INT21 : origin = 0xFFAA, length = 0x0002
|
||||
INT22 : origin = 0xFFAC, length = 0x0002
|
||||
INT23 : origin = 0xFFAE, length = 0x0002
|
||||
INT24 : origin = 0xFFB0, length = 0x0002
|
||||
INT25 : origin = 0xFFB2, length = 0x0002
|
||||
INT26 : origin = 0xFFB4, length = 0x0002
|
||||
INT27 : origin = 0xFFB6, length = 0x0002
|
||||
INT28 : origin = 0xFFB8, length = 0x0002
|
||||
INT29 : origin = 0xFFBA, length = 0x0002
|
||||
INT30 : origin = 0xFFBC, length = 0x0002
|
||||
INT31 : origin = 0xFFBE, length = 0x0002
|
||||
INT32 : origin = 0xFFC0, length = 0x0002
|
||||
INT33 : origin = 0xFFC2, length = 0x0002
|
||||
INT34 : origin = 0xFFC4, length = 0x0002
|
||||
INT35 : origin = 0xFFC6, length = 0x0002
|
||||
INT36 : origin = 0xFFC8, length = 0x0002
|
||||
INT37 : origin = 0xFFCA, length = 0x0002
|
||||
INT38 : origin = 0xFFCC, length = 0x0002
|
||||
INT39 : origin = 0xFFCE, length = 0x0002
|
||||
INT40 : origin = 0xFFD0, length = 0x0002
|
||||
INT41 : origin = 0xFFD2, length = 0x0002
|
||||
INT42 : origin = 0xFFD4, length = 0x0002
|
||||
INT43 : origin = 0xFFD6, length = 0x0002
|
||||
INT44 : origin = 0xFFD8, length = 0x0002
|
||||
INT45 : origin = 0xFFDA, length = 0x0002
|
||||
INT46 : origin = 0xFFDC, length = 0x0002
|
||||
INT47 : origin = 0xFFDE, length = 0x0002
|
||||
INT48 : origin = 0xFFE0, length = 0x0002
|
||||
INT49 : origin = 0xFFE2, length = 0x0002
|
||||
INT50 : origin = 0xFFE4, length = 0x0002
|
||||
INT51 : origin = 0xFFE6, length = 0x0002
|
||||
INT52 : origin = 0xFFE8, length = 0x0002
|
||||
INT53 : origin = 0xFFEA, length = 0x0002
|
||||
INT54 : origin = 0xFFEC, length = 0x0002
|
||||
INT55 : origin = 0xFFEE, length = 0x0002
|
||||
INT56 : origin = 0xFFF0, length = 0x0002
|
||||
INT57 : origin = 0xFFF2, length = 0x0002
|
||||
INT58 : origin = 0xFFF4, length = 0x0002
|
||||
INT59 : origin = 0xFFF6, length = 0x0002
|
||||
INT60 : origin = 0xFFF8, length = 0x0002
|
||||
INT61 : origin = 0xFFFA, length = 0x0002
|
||||
INT62 : origin = 0xFFFC, length = 0x0002
|
||||
RESET : origin = 0xFFFE, length = 0x0002
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
/* Specify the sections allocation into memory */
|
||||
/****************************************************************************/
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.bss : {} > RAM /* Global & static vars */
|
||||
.data : {} > RAM /* Global & static vars */
|
||||
.TI.noinit : {} > RAM /* For #pragma noinit */
|
||||
.sysmem : {} > RAM /* Dynamic memory allocation area */
|
||||
.stack : {} > RAM (HIGH) /* Software system stack */
|
||||
|
||||
#ifndef __LARGE_CODE_MODEL__
|
||||
.text : {} > FLASH /* Code */
|
||||
#else
|
||||
.text : {} >> FLASH2 | FLASH /* Code */
|
||||
#endif
|
||||
.text:_isr : {} > FLASH /* ISR Code space */
|
||||
.cinit : {} > FLASH /* Initialization tables */
|
||||
#ifndef __LARGE_DATA_MODEL__
|
||||
.const : {} > FLASH /* Constant data */
|
||||
#else
|
||||
.const : {} >> FLASH | FLASH2 /* Constant data */
|
||||
#endif
|
||||
.cio : {} > RAM /* C I/O Buffer */
|
||||
|
||||
.pinit : {} > FLASH /* C++ Constructor tables */
|
||||
.binit : {} > FLASH /* Boot-time Initialization tables */
|
||||
.init_array : {} > FLASH /* C++ Constructor tables */
|
||||
.mspabi.exidx : {} > FLASH /* C++ Constructor tables */
|
||||
.mspabi.extab : {} > FLASH /* C++ Constructor tables */
|
||||
#ifdef __TI_COMPILER_VERSION__
|
||||
#if __TI_COMPILER_VERSION__ >= 15009000
|
||||
#ifndef __LARGE_CODE_MODEL__
|
||||
.TI.ramfunc : {} load=FLASH, run=RAM, table(BINIT)
|
||||
#else
|
||||
.TI.ramfunc : {} load=FLASH | FLASH2, run=RAM, table(BINIT)
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
.infoA : {} > INFOA /* MSP430 INFO FLASH Memory segments */
|
||||
.infoB : {} > INFOB
|
||||
.infoC : {} > INFOC
|
||||
.infoD : {} > INFOD
|
||||
|
||||
/* MSP430 Interrupt vectors */
|
||||
.int00 : {} > INT00
|
||||
.int01 : {} > INT01
|
||||
.int02 : {} > INT02
|
||||
.int03 : {} > INT03
|
||||
.int04 : {} > INT04
|
||||
.int05 : {} > INT05
|
||||
.int06 : {} > INT06
|
||||
.int07 : {} > INT07
|
||||
.int08 : {} > INT08
|
||||
.int09 : {} > INT09
|
||||
.int10 : {} > INT10
|
||||
.int11 : {} > INT11
|
||||
.int12 : {} > INT12
|
||||
.int13 : {} > INT13
|
||||
.int14 : {} > INT14
|
||||
.int15 : {} > INT15
|
||||
.int16 : {} > INT16
|
||||
.int17 : {} > INT17
|
||||
.int18 : {} > INT18
|
||||
.int19 : {} > INT19
|
||||
.int20 : {} > INT20
|
||||
.int21 : {} > INT21
|
||||
.int22 : {} > INT22
|
||||
.int23 : {} > INT23
|
||||
.int24 : {} > INT24
|
||||
.int25 : {} > INT25
|
||||
.int26 : {} > INT26
|
||||
.int27 : {} > INT27
|
||||
.int28 : {} > INT28
|
||||
.int29 : {} > INT29
|
||||
.int30 : {} > INT30
|
||||
.int31 : {} > INT31
|
||||
.int32 : {} > INT32
|
||||
.int33 : {} > INT33
|
||||
.int34 : {} > INT34
|
||||
.int35 : {} > INT35
|
||||
.int36 : {} > INT36
|
||||
.int37 : {} > INT37
|
||||
.int38 : {} > INT38
|
||||
.int39 : {} > INT39
|
||||
.int40 : {} > INT40
|
||||
RTC : { * ( .int41 ) } > INT41 type = VECT_INIT
|
||||
PORT2 : { * ( .int42 ) } > INT42 type = VECT_INIT
|
||||
TIMER2_A1 : { * ( .int43 ) } > INT43 type = VECT_INIT
|
||||
TIMER2_A0 : { * ( .int44 ) } > INT44 type = VECT_INIT
|
||||
USCI_B1 : { * ( .int45 ) } > INT45 type = VECT_INIT
|
||||
USCI_A1 : { * ( .int46 ) } > INT46 type = VECT_INIT
|
||||
PORT1 : { * ( .int47 ) } > INT47 type = VECT_INIT
|
||||
TIMER1_A1 : { * ( .int48 ) } > INT48 type = VECT_INIT
|
||||
TIMER1_A0 : { * ( .int49 ) } > INT49 type = VECT_INIT
|
||||
DMA : { * ( .int50 ) } > INT50 type = VECT_INIT
|
||||
USB_UBM : { * ( .int51 ) } > INT51 type = VECT_INIT
|
||||
TIMER0_A1 : { * ( .int52 ) } > INT52 type = VECT_INIT
|
||||
TIMER0_A0 : { * ( .int53 ) } > INT53 type = VECT_INIT
|
||||
ADC12 : { * ( .int54 ) } > INT54 type = VECT_INIT
|
||||
USCI_B0 : { * ( .int55 ) } > INT55 type = VECT_INIT
|
||||
USCI_A0 : { * ( .int56 ) } > INT56 type = VECT_INIT
|
||||
WDT : { * ( .int57 ) } > INT57 type = VECT_INIT
|
||||
TIMER0_B1 : { * ( .int58 ) } > INT58 type = VECT_INIT
|
||||
TIMER0_B0 : { * ( .int59 ) } > INT59 type = VECT_INIT
|
||||
COMP_B : { * ( .int60 ) } > INT60 type = VECT_INIT
|
||||
UNMI : { * ( .int61 ) } > INT61 type = VECT_INIT
|
||||
SYSNMI : { * ( .int62 ) } > INT62 type = VECT_INIT
|
||||
.reset : {} > RESET /* MSP430 Reset vector */
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
/* Include peripherals memory map */
|
||||
/****************************************************************************/
|
||||
|
||||
-l msp430f5529.cmd
|
||||
|
157
examples/qutest/target_exp430f55/qutest_port.c
Normal file
157
examples/qutest/target_exp430f55/qutest_port.c
Normal file
@ -0,0 +1,157 @@
|
||||
/*****************************************************************************
|
||||
* Product: QUTEST port for the MSP-EXP430F5529LP board
|
||||
* Last updated for version 6.3.8
|
||||
* Last updated on 2019-01-24
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
*****************************************************************************/
|
||||
#include "qpc.h"
|
||||
|
||||
#include <msp430f5529.h> /* MSP430 variant used */
|
||||
/* add other drivers if necessary... */
|
||||
|
||||
//Q_DEFINE_THIS_MODULE("qutest_port")
|
||||
|
||||
/* UART1 pins TX:P4.4, RX:P4.5 */
|
||||
#define TXD (1U << 4)
|
||||
#define RXD (1U << 5)
|
||||
|
||||
/* Local-scope objects -----------------------------------------------------*/
|
||||
/* 1MHz clock setting, see BSP_init() */
|
||||
#define BSP_MCK 1000000U
|
||||
#define BSP_SMCLK 1000000U
|
||||
|
||||
#define LED1 (1U << 0)
|
||||
#define LED2 (1U << 7)
|
||||
|
||||
#define BTN_S1 (1U << 1)
|
||||
|
||||
/*..........................................................................*/
|
||||
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
|
||||
__interrupt void USCI_A1_ISR(void); /* prototype */
|
||||
#pragma vector=USCI_A1_VECTOR
|
||||
__interrupt void USCI_A1_ISR(void)
|
||||
#elif defined(__GNUC__)
|
||||
__attribute__ ((interrupt(USCI_A1_VECTOR)))
|
||||
void USCI_A1_ISR(void)
|
||||
#else
|
||||
#error MSP430 compiler not supported!
|
||||
#endif
|
||||
{
|
||||
if (UCA1IV == 2) {
|
||||
uint16_t b = UCA1RXBUF;
|
||||
QS_RX_PUT(b);
|
||||
}
|
||||
}
|
||||
|
||||
/* QS callbacks ============================================================*/
|
||||
uint8_t QS_onStartup(void const *arg) {
|
||||
static uint8_t qsBuf[256]; /* buffer for QS; RAM is tight! */
|
||||
static uint8_t qsRxBuf[80]; /* buffer for QS receive channel */
|
||||
//uint16_t tmp;
|
||||
|
||||
WDTCTL = WDTPW | WDTHOLD; /* stop watchdog timer */
|
||||
|
||||
/* leave the MCK and SMCLK at default DCO setting */
|
||||
|
||||
P1DIR |= LED1; /* set LED1 pin to output */
|
||||
P4DIR |= LED2; /* set LED2 pin to output */
|
||||
|
||||
QS_initBuf(qsBuf, sizeof(qsBuf));
|
||||
QS_rxInitBuf(qsRxBuf, sizeof(qsRxBuf));
|
||||
|
||||
/* USCI setup code... */
|
||||
P4SEL |= (RXD | TXD); /* select the UART function for the pins */
|
||||
UCA1CTL1 |= UCSWRST; /* reset USCI state machine */
|
||||
UCA1CTL1 |= UCSSEL_2; /* choose the SMCLK clock */
|
||||
#if 1
|
||||
UCA1BR0 = 6; /* 1MHz 9600 (see User's Guide) */
|
||||
UCA1BR1 = 0; /* 1MHz 9600 */
|
||||
/* modulation UCBRSx=0, UCBRFx=0, oversampling */
|
||||
UCA1MCTL = UCBRS_0 | UCBRF_13 | UCOS16;
|
||||
#else
|
||||
UCA1BR0 = 9; /* 1MHz 115200 (see User's Guide) */
|
||||
UCA1BR1 = 0; /* 1MHz 115200 */
|
||||
UCA1MCTL |= UCBRS_1 | UCBRF_0; /* modulation UCBRSx=1, UCBRFx=0 */
|
||||
#endif
|
||||
UCA1CTL1 &= ~UCSWRST; /* initialize USCI state machine */
|
||||
UCA1IE |= UCRXIE; /* Enable USCI_A1 RX interrupt */
|
||||
|
||||
return (uint8_t)1; /* return success */
|
||||
}
|
||||
/*..........................................................................*/
|
||||
void QS_onCleanup(void) {
|
||||
}
|
||||
/*..........................................................................*/
|
||||
void QS_onFlush(void) {
|
||||
uint16_t b;
|
||||
while ((b = QS_getByte()) != QS_EOD) { /* next QS byte available? */
|
||||
while ((UCA1STAT & UCBUSY) != 0U) { /* TX busy? */
|
||||
}
|
||||
UCA1TXBUF = (uint8_t)b; /* stick the byte to the TX BUF */
|
||||
}
|
||||
}
|
||||
/*..........................................................................*/
|
||||
/*! callback function to reset the target (to be implemented in the BSP) */
|
||||
void QS_onReset(void) {
|
||||
/* write invalid password to WDT: cause a password-validation RESET */
|
||||
WDTCTL = 0xDEAD;
|
||||
}
|
||||
/*..........................................................................*/
|
||||
void QS_onTestLoop() {
|
||||
|
||||
__enable_interrupt(); /* IMPORTANT: enable global interrupts */
|
||||
|
||||
QS_rxPriv_.inTestLoop = true;
|
||||
while (QS_rxPriv_.inTestLoop) {
|
||||
|
||||
/* toggle the User LED on and then off, see NOTE01 */
|
||||
P4OUT |= LED2; /* turn LED2 on */
|
||||
P4OUT &= ~LED2; /* turn LED2 off */
|
||||
|
||||
QS_rxParse(); /* parse all the received bytes */
|
||||
|
||||
if ((UCA1STAT & UCBUSY) == 0U) { /* TX NOT busy? */
|
||||
|
||||
uint16_t b;
|
||||
|
||||
QF_INT_DISABLE();
|
||||
b = QS_getByte();
|
||||
QF_INT_ENABLE();
|
||||
|
||||
if (b != QS_EOD) {
|
||||
UCA1TXBUF = (uint8_t)b; /* stick the byte to the TX BUF */
|
||||
}
|
||||
}
|
||||
}
|
||||
/* set inTestLoop to true in case calls to QS_onTestLoop() nest,
|
||||
* which can happen through the calls to QS_TEST_PAUSE().
|
||||
*/
|
||||
QS_rxPriv_.inTestLoop = true;
|
||||
}
|
@ -4,12 +4,9 @@ This directory contains the QP/C ports to the MSP430 processor family,
|
||||
for both "classic" MSP430 and "extended" MSP430X cores. The following
|
||||
ports are provided:
|
||||
|
||||
msp430
|
||||
|
|
||||
+-qk - port to the preemptive QK kernel
|
||||
| +-ccs - port with the CCS-430 toolset
|
||||
| +-iar - port with the IAR-430 toolset
|
||||
|
|
||||
+-qv - port to the cooperative QV kernel
|
||||
| +-ccs - port with the CCS-430 toolset
|
||||
| +-iar - port with the IAR-430 toolset
|
||||
qpc/
|
||||
+-ports/
|
||||
| +-msp430/
|
||||
| | +-qk/ - port to the preemptive QK kernel
|
||||
| | +-qv/ - port to the cooperative QV kernel
|
||||
| | +-qutest/ - port to QUTest unit testing harness
|
||||
|
@ -1,46 +0,0 @@
|
||||
About The QP-MSP430 Port
|
||||
========================
|
||||
This directory contains the QP/C port to the MSP430 processor family
|
||||
with the preemptive QK kernel using the TI CCS-430 compiler.
|
||||
|
||||
|
||||
Using the Port in CCS
|
||||
=====================
|
||||
To use this QP-MSP430 port in CCS, it is recommended that you build the QP
|
||||
framework from sources as part of your CCS project.
|
||||
|
||||
The recommended procedure, as illustrated in the provided CCS example projects
|
||||
in the qpc/examples/msp430/ directory, is to create a folder for QP source
|
||||
and another for QP_port. To do so, right-click on your project and choose
|
||||
the New->Folder option.
|
||||
|
||||
It is important to create the QP and QP_port folders as "Linked folders",
|
||||
by expanding the "Advanced" folder option and selecting the "Linked to
|
||||
alternate location (Linked Folder)" radio button.
|
||||
|
||||
The QP folder should be linked to qpc/source
|
||||
|
||||
The QP_port folder should be linked to qpc/ports/msp430/qk/ccs
|
||||
|
||||
Once the folders are added to your project, it is very important to exclude
|
||||
several source files in the QP folder from the specific build configurations.
|
||||
|
||||
Here is the list of QP/C source files that need to be EXCLUDED from the
|
||||
bulid configurations:
|
||||
|
||||
QK kernel, Debug/Release configuration excludes:
|
||||
qs_*.c
|
||||
qv.c
|
||||
|
||||
QK kernel, Spy configuration excludes:
|
||||
qv.c
|
||||
|
||||
Finally, to build QP framework from sources, the following directories should
|
||||
be present in the compiler "Include Options":
|
||||
|
||||
<qpc>\include
|
||||
<qpc>\source
|
||||
<qpc>\ports\msp430\qk\ccs
|
||||
|
||||
Where, <qpc> is either relative or absolute path to the QP/C framework folder
|
||||
on your machine.
|
@ -1,60 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QK/C port port to MSP430, CCS-430 compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.7.2
|
||||
* Date of the Last Update: 2016-09-26
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qk_port_h
|
||||
#define qk_port_h
|
||||
|
||||
/* QK interrupt entry and exit... */
|
||||
#define QK_ISR_ENTRY() (++QK_attr_.intNest)
|
||||
|
||||
#define QK_ISR_EXIT() do { \
|
||||
--QK_attr_.intNest; \
|
||||
if (QK_attr_.intNest == (uint_fast8_t)0) { \
|
||||
if (QK_sched_() != (uint_fast8_t)0) { \
|
||||
QK_activate_(); \
|
||||
} \
|
||||
} \
|
||||
else { \
|
||||
Q_ERROR(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#include "qk.h" /* QK platform-independent public interface */
|
||||
|
||||
#endif /* qk_port_h */
|
||||
|
@ -1,62 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QS/C port to a 32-bit CPU and a generic C compiler.
|
||||
* @ingroup qs
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 5.6.0
|
||||
* Last updated on 2015-12-18
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qs_port_h
|
||||
#define qs_port_h
|
||||
|
||||
/* QS time-stamp size in bytes */
|
||||
#define QS_TIME_SIZE 4
|
||||
|
||||
/* object pointer size in bytes */
|
||||
#define QS_OBJ_PTR_SIZE 4
|
||||
|
||||
/* function pointer size in bytes */
|
||||
#define QS_FUN_PTR_SIZE 4
|
||||
|
||||
/*****************************************************************************
|
||||
* NOTE: QS might be used with or without other QP components, in which
|
||||
* case the separate definitions of the macros QF_CRIT_STAT_TYPE,
|
||||
* QF_CRIT_ENTRY, and QF_CRIT_EXIT are needed. In this port QS is configured
|
||||
* to be used with the other QP component, by simply including "qf_port.h"
|
||||
* *before* "qs.h".
|
||||
*/
|
||||
#include "qf_port.h" /* use QS with QF */
|
||||
#include "qs.h" /* QS platform-independent public interface */
|
||||
|
||||
#endif /* qs_port_h */
|
@ -1,4 +0,0 @@
|
||||
About The QP-MSP430 Port
|
||||
========================
|
||||
This directory contains the QP/C port to the MSP430 processor family
|
||||
with the IAR-430 compiler.
|
@ -1,76 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QF/C port to MSP430, preemptive QK kernel, IAR-430 compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qf_port_h
|
||||
#define qf_port_h
|
||||
|
||||
/* The maximum number of active objects in the application, see NOTE01 */
|
||||
#define QF_MAX_ACTIVE 8
|
||||
|
||||
#define QF_EVENT_SIZ_SIZE 1
|
||||
#define QF_EQUEUE_CTR_SIZE 1
|
||||
#define QF_MPOOL_SIZ_SIZE 1
|
||||
#define QF_MPOOL_CTR_SIZE 1
|
||||
#define QF_TIMEEVT_CTR_SIZE 2
|
||||
|
||||
/* QF interrupt disable/enable... */
|
||||
#define QF_INT_DISABLE() __disable_interrupt()
|
||||
#define QF_INT_ENABLE() __enable_interrupt()
|
||||
|
||||
/* QF critical section entry/exit... */
|
||||
#define QF_CRIT_STAT_TYPE istate_t
|
||||
#define QF_CRIT_ENTRY(stat_) do { \
|
||||
(stat_) = __get_interrupt_state(); \
|
||||
__disable_interrupt(); \
|
||||
} while (0)
|
||||
#define QF_CRIT_EXIT(stat_) __set_interrupt_state(stat_)
|
||||
|
||||
|
||||
#include <intrinsics.h> /* IAR intrinsic functions */
|
||||
|
||||
#include "qep_port.h" /* QEP port */
|
||||
#include "qk_port.h" /* QK preemptive kernel port */
|
||||
#include "qf.h" /* QF platform-independent public interface */
|
||||
|
||||
/*****************************************************************************
|
||||
* NOTE01:
|
||||
* The maximum number of active objects QF_MAX_ACTIVE can be increased
|
||||
* up to 63, if necessary. Here it is set to a lower level to save some RAM.
|
||||
*/
|
||||
|
||||
#endif /* qf_port_h */
|
@ -1,17 +1,17 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QF/C port to MSP430, preemptive QK kernel, CCS-430 compiler
|
||||
* @brief QF/C port to MSP430, preemptive QK kernel
|
||||
* @ingroup ports
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -32,8 +32,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
@ -62,7 +62,7 @@
|
||||
#define QF_CRIT_EXIT(stat_) __set_interrupt_state(stat_)
|
||||
|
||||
|
||||
#include <intrinsics.h> /* CCS intrinsic functions */
|
||||
#include <intrinsics.h> /* intrinsic functions */
|
||||
|
||||
#include "qep_port.h" /* QEP port */
|
||||
#include "qk_port.h" /* QK preemptive kernel port */
|
||||
@ -71,7 +71,7 @@
|
||||
/*****************************************************************************
|
||||
* NOTE01:
|
||||
* The maximum number of active objects QF_MAX_ACTIVE can be increased
|
||||
* up to 63, if necessary. Here it is set to a lower level to save some RAM.
|
||||
* up to 64, if necessary. Here it is set to a lower level to save some RAM.
|
||||
*/
|
||||
|
||||
#endif /* qf_port_h */
|
@ -1,16 +1,16 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QK/C port port to MSP430, IAR-430 compiler
|
||||
* @brief QK/C port port to MSP430
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.7.2
|
||||
* Date of the Last Update: 2016-09-26
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -31,7 +31,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
@ -1,17 +1,17 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QS/C port to a 32-bit CPU and a generic C compiler.
|
||||
* @brief QS/C port to a 16-bit CPU and a generic C compiler.
|
||||
* @ingroup qs
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 5.6.0
|
||||
* Last updated on 2015-12-18
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -32,7 +32,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
@ -44,7 +44,7 @@
|
||||
#define QS_TIME_SIZE 4
|
||||
|
||||
/* object pointer size in bytes */
|
||||
#define QS_OBJ_PTR_SIZE 4
|
||||
#define QS_OBJ_PTR_SIZE 2
|
||||
|
||||
/* function pointer size in bytes */
|
||||
#define QS_FUN_PTR_SIZE 4
|
@ -11,7 +11,7 @@
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
* Copyright (C) 2005-2017 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -32,8 +32,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
103
ports/msp430/qutest/qf_port.h
Normal file
103
ports/msp430/qutest/qf_port.h
Normal file
@ -0,0 +1,103 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QF/C port to Cortex-M, QUTEST unit test harness, generic C99 compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qf_port_h
|
||||
#define qf_port_h
|
||||
|
||||
/* QUTEST event queue and thread types */
|
||||
#define QF_EQUEUE_TYPE QEQueue
|
||||
/*#define QF_OS_OBJECT_TYPE */
|
||||
/*#define QF_THREAD_TYPE */
|
||||
|
||||
/* The maximum number of active objects in the application, see NOTE01 */
|
||||
#define QF_MAX_ACTIVE 8
|
||||
|
||||
/* QF interrupt disable/enable */
|
||||
#define QF_INT_DISABLE() (++QF_intNest)
|
||||
#define QF_INT_ENABLE() (--QF_intNest)
|
||||
|
||||
/* QF critical section */
|
||||
/* QF_CRIT_STAT_TYPE not defined */
|
||||
#define QF_CRIT_ENTRY(dummy) QF_INT_DISABLE()
|
||||
#define QF_CRIT_EXIT(dummy) QF_INT_ENABLE()
|
||||
|
||||
/* QF_LOG2 not defined -- use the internal LOG2() implementation */
|
||||
|
||||
#include "qep_port.h" /* QEP port */
|
||||
#include "qequeue.h" /* QUTEST port uses QEQueue event-queue */
|
||||
#include "qmpool.h" /* QUTEST port uses QMPool memory-pool */
|
||||
#include "qf.h" /* QF platform-independent public interface */
|
||||
|
||||
/* interrupt nesting up-down counter */
|
||||
extern uint8_t volatile QF_intNest;
|
||||
|
||||
/****************************************************************************/
|
||||
/* interface used only inside QF implementation, but not in applications */
|
||||
#ifdef QP_IMPL
|
||||
|
||||
/* QUTEST scheduler locking (not used) */
|
||||
#define QF_SCHED_STAT_
|
||||
#define QF_SCHED_LOCK_(dummy) ((void)0)
|
||||
#define QF_SCHED_UNLOCK_() ((void)0)
|
||||
|
||||
/* native event queue operations */
|
||||
#define QACTIVE_EQUEUE_WAIT_(me_) \
|
||||
Q_ASSERT_ID(0, (me_)->eQueue.frontEvt != (QEvt *)0)
|
||||
#define QACTIVE_EQUEUE_SIGNAL_(me_) \
|
||||
QPSet_insert(&QS_rxPriv_.readySet, (uint_fast8_t)(me_)->prio)
|
||||
|
||||
/* native QF event pool operations */
|
||||
#define QF_EPOOL_TYPE_ QMPool
|
||||
#define QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_) \
|
||||
QMPool_init(&(p_), (poolSto_), (poolSize_), (evtSize_))
|
||||
|
||||
#define QF_EPOOL_EVENT_SIZE_(p_) ((p_).blockSize)
|
||||
#define QF_EPOOL_GET_(p_, e_, m_) ((e_) = (QEvt *)QMPool_get(&(p_), (m_)))
|
||||
#define QF_EPOOL_PUT_(p_, e_) (QMPool_put(&(p_), e_))
|
||||
|
||||
#include "qf_pkg.h" /* internal QF interface */
|
||||
|
||||
#endif /* QP_IMPL */
|
||||
|
||||
/*****************************************************************************
|
||||
* NOTE01:
|
||||
* The maximum number of active objects QF_MAX_ACTIVE can be increased
|
||||
* up to 64, if necessary. Here it is set to a lower level to save some RAM.
|
||||
*/
|
||||
|
||||
#endif /* qf_port_h */
|
@ -1,17 +1,17 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QS/C port to a 32-bit CPU and a generic C compiler.
|
||||
* @brief QS/C port to a 16-bit CPU and a generic C compiler.
|
||||
* @ingroup qs
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 5.6.0
|
||||
* Last updated on 2015-12-18
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -32,7 +32,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
@ -41,14 +41,17 @@
|
||||
#define qs_port_h
|
||||
|
||||
/* QS time-stamp size in bytes */
|
||||
#define QS_TIME_SIZE 4
|
||||
#define QS_TIME_SIZE 2
|
||||
|
||||
/* object pointer size in bytes */
|
||||
#define QS_OBJ_PTR_SIZE 4
|
||||
#define QS_OBJ_PTR_SIZE 2
|
||||
|
||||
/* function pointer size in bytes */
|
||||
#define QS_FUN_PTR_SIZE 4
|
||||
|
||||
/* flush the QS output buffer after each QS record */
|
||||
#define QS_REC_DONE() QS_onFlush()
|
||||
|
||||
/*****************************************************************************
|
||||
* NOTE: QS might be used with or without other QP components, in which
|
||||
* case the separate definitions of the macros QF_CRIT_STAT_TYPE,
|
@ -1,47 +0,0 @@
|
||||
About The QP-MSP430 Port
|
||||
========================
|
||||
This directory contains the QP/C port to the MSP430 processor family
|
||||
with the cooperative QV kernel using the TI CCS-430 compiler.
|
||||
|
||||
|
||||
Using the Port in CCS
|
||||
=====================
|
||||
To use this QP-MSP430 port in CCS, it is recommended that you build the QP
|
||||
framework from sources as part of your CCS project.
|
||||
|
||||
The recommended procedure, as illustrated in the provided CCS example projects
|
||||
in the qpc/examples/msp430/ directory, is to create a folder for QP source
|
||||
and another for QP_port. To do so, right-click on your project and choose
|
||||
the New->Folder option.
|
||||
|
||||
It is important to create the QP and QP_port folders as "Linked folders",
|
||||
by expanding the "Advanced" folder option and selecting the "Linked to
|
||||
alternate location (Linked Folder)" radio button.
|
||||
|
||||
The QP folder should be linked to qpc/source
|
||||
|
||||
The QP_port folder should be linked to qpc/ports/msp430/qv/ccs
|
||||
|
||||
Once the folders are added to your project, it is very important to exclude
|
||||
several source files in the QP folder from the specific build configurations.
|
||||
|
||||
Here is the list of QP/C source files that need to be EXCLUDED from the
|
||||
bulid configurations:
|
||||
|
||||
QV kernel, Debug/Release configuration excludes:
|
||||
qs_*.c
|
||||
qk_*.c
|
||||
|
||||
QV kernel, Spy configuration excludes:
|
||||
qk_*.c
|
||||
|
||||
|
||||
Finally, to build QP framework from sources, the following directories should
|
||||
be present in the compiler "Include Options":
|
||||
|
||||
<qpc>\include
|
||||
<qpc>\source
|
||||
<qpc>\ports\msp430\qv\ccs
|
||||
|
||||
Where, <qpc> is either relative or absolute path to the QP/C framework folder
|
||||
on your machine.
|
@ -1,48 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QEP/C port, generic C99 compiler
|
||||
* @ingroup ports
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qep_port_h
|
||||
#define qep_port_h
|
||||
|
||||
#include <stdint.h> /* Exact-width types. WG14/N843 C99 Standard */
|
||||
#include <stdbool.h> /* Boolean type. WG14/N843 C99 Standard */
|
||||
|
||||
#include "qep.h" /* QEP platform-independent public interface */
|
||||
|
||||
#endif /* qep_port_h */
|
@ -1,76 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QF/C port to MSP430, cooperative QV kernel, CCS-430 compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qf_port_h
|
||||
#define qf_port_h
|
||||
|
||||
/* The maximum number of active objects in the application, see NOTE01 */
|
||||
#define QF_MAX_ACTIVE 8
|
||||
|
||||
#define QF_EVENT_SIZ_SIZE 1
|
||||
#define QF_EQUEUE_CTR_SIZE 1
|
||||
#define QF_MPOOL_SIZ_SIZE 1
|
||||
#define QF_MPOOL_CTR_SIZE 1
|
||||
#define QF_TIMEEVT_CTR_SIZE 2
|
||||
|
||||
/* QF interrupt disable/enable... */
|
||||
#define QF_INT_DISABLE() __disable_interrupt()
|
||||
#define QF_INT_ENABLE() __enable_interrupt()
|
||||
|
||||
/* QF critical section entry/exit... */
|
||||
#define QF_CRIT_STAT_TYPE unsigned short
|
||||
#define QF_CRIT_ENTRY(stat_) do { \
|
||||
(stat_) = __get_interrupt_state(); \
|
||||
__disable_interrupt(); \
|
||||
} while (0)
|
||||
#define QF_CRIT_EXIT(stat_) __set_interrupt_state(stat_)
|
||||
|
||||
|
||||
#include <intrinsics.h> /* CCS intrinsic functions */
|
||||
|
||||
#include "qep_port.h" /* QEP port */
|
||||
#include "qv_port.h" /* QV cooperative kernel port */
|
||||
#include "qf.h" /* QF platform-independent public interface */
|
||||
|
||||
/*****************************************************************************
|
||||
* NOTE01:
|
||||
* The maximum number of active objects QF_MAX_ACTIVE can be increased
|
||||
* up to 63, if necessary. Here it is set to a lower level to save some RAM.
|
||||
*/
|
||||
|
||||
#endif /* qf_port_h */
|
@ -1,45 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QV/C port port to MSP430, CCS-430 compiler
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Alternatively, this program may be distributed and modified under the
|
||||
* terms of Quantum Leaps commercial licenses, which expressly supersede
|
||||
* the GNU General Public License and are specifically designed for
|
||||
* licensees interested in retaining the proprietary status of their code.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
#ifndef qv_port_h
|
||||
#define qv_port_h
|
||||
|
||||
#include "qv.h" /* QV platform-independent public interface */
|
||||
|
||||
#endif /* qv_port_h */
|
||||
|
@ -1,4 +0,0 @@
|
||||
About The QP-MSP430 Port
|
||||
========================
|
||||
This directory contains the QP/C port to the MSP430 processor family
|
||||
with the IAR-430 compiler.
|
@ -1,16 +1,16 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QF/C port to MSP430, cooperative QV kernel, IAR-430 compiler
|
||||
* @brief QF/C port to MSP430, cooperative QV kernel
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -31,8 +31,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
||||
@ -53,7 +53,7 @@
|
||||
#define QF_INT_ENABLE() __enable_interrupt()
|
||||
|
||||
/* QF critical section entry/exit... */
|
||||
#define QF_CRIT_STAT_TYPE istate_t
|
||||
#define QF_CRIT_STAT_TYPE unsigned short
|
||||
#define QF_CRIT_ENTRY(stat_) do { \
|
||||
(stat_) = __get_interrupt_state(); \
|
||||
__disable_interrupt(); \
|
||||
@ -61,7 +61,7 @@
|
||||
#define QF_CRIT_EXIT(stat_) __set_interrupt_state(stat_)
|
||||
|
||||
|
||||
#include <intrinsics.h> /* IAR intrinsic functions */
|
||||
#include <intrinsics.h> /* intrinsic functions */
|
||||
|
||||
#include "qep_port.h" /* QEP port */
|
||||
#include "qv_port.h" /* QV cooperative kernel port */
|
||||
@ -70,7 +70,7 @@
|
||||
/*****************************************************************************
|
||||
* NOTE01:
|
||||
* The maximum number of active objects QF_MAX_ACTIVE can be increased
|
||||
* up to 63, if necessary. Here it is set to a lower level to save some RAM.
|
||||
* up to 64, if necessary. Here it is set to a lower level to save some RAM.
|
||||
*/
|
||||
|
||||
#endif /* qf_port_h */
|
@ -1,17 +1,17 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QS/C port to a 32-bit CPU and a generic C compiler.
|
||||
* @brief QS/C port to a 16-bit CPU and a generic C compiler.
|
||||
* @ingroup qs
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last updated for version 5.6.0
|
||||
* Last updated on 2015-12-18
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. All rights reserved.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -32,7 +32,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* https://state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
@ -44,7 +44,7 @@
|
||||
#define QS_TIME_SIZE 4
|
||||
|
||||
/* object pointer size in bytes */
|
||||
#define QS_OBJ_PTR_SIZE 4
|
||||
#define QS_OBJ_PTR_SIZE 2
|
||||
|
||||
/* function pointer size in bytes */
|
||||
#define QS_FUN_PTR_SIZE 4
|
@ -1,16 +1,16 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief QV/C port port to MSP430, CCS-430 compiler
|
||||
* @brief QV/C port port to MSP430
|
||||
* @cond
|
||||
******************************************************************************
|
||||
* Last Updated for Version: 5.4.0
|
||||
* Date of the Last Update: 2015-04-08
|
||||
* Last Updated for Version: 6.3.8
|
||||
* Date of the Last Update: 2019-01-23
|
||||
*
|
||||
* Q u a n t u m L e a P s
|
||||
* ---------------------------
|
||||
* innovating embedded systems
|
||||
* ------------------------
|
||||
* Modern Embedded Software
|
||||
*
|
||||
* Copyright (C) Quantum Leaps, LLC. state-machine.com.
|
||||
* Copyright (C) 2005-2019 Quantum Leaps, LLC. All rights reserved.
|
||||
*
|
||||
* This program is open source software: you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as published
|
||||
@ -31,8 +31,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Contact information:
|
||||
* Web: www.state-machine.com
|
||||
* Email: info@state-machine.com
|
||||
* https://www.state-machine.com
|
||||
* mailto:info@state-machine.com
|
||||
******************************************************************************
|
||||
* @endcond
|
||||
*/
|
Loading…
x
Reference in New Issue
Block a user