diff --git a/Demo/msp430_IAR/FreeRTOSConfig.h b/Demo/msp430_IAR/FreeRTOSConfig.h
index 4c0c3c5e4..d34111600 100644
--- a/Demo/msp430_IAR/FreeRTOSConfig.h
+++ b/Demo/msp430_IAR/FreeRTOSConfig.h
@@ -94,7 +94,7 @@ occurs.
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
-#define configUSE_PREEMPTION 0
+#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 7995392 ) /* Clock setup from main.c in the demo application. */
diff --git a/Demo/msp430_IAR/serial/serialASM.s43 b/Demo/msp430_IAR/serial/serialASM.s43
index a0d5651e6..fb9cadb08 100644
--- a/Demo/msp430_IAR/serial/serialASM.s43
+++ b/Demo/msp430_IAR/serial/serialASM.s43
@@ -54,45 +54,39 @@
FreeRTOSConfig.h for an explanation. */
#if configINTERRUPT_EXAMPLE_METHOD == 2
-.CODE
-
-
-
+ /* Import the functions that are called by these wrappers. */
+ IMPORT vRxISR
+ IMPORT vTxISR
+ RSEG CODE
/* Wrapper for the Rx UART interrupt. */
-_vUARTRx_Wrapper
+vUARTRx_Wrapper
portSAVE_CONTEXT
- call #_vRxISR
+ call #vRxISR
portRESTORE_CONTEXT
/*-----------------------------------------------------------*/
/* Wrapper for the Tx UART interrupt. */
-_vUARTTx_Wrapper
+vUARTTx_Wrapper
portSAVE_CONTEXT
- call #_vTxISR
+ call #vTxISR
portRESTORE_CONTEXT
/*-----------------------------------------------------------*/
-
-
/* Place the UART ISRs in the correct vectors. */
+ ASEG
- .VECTORS
-
- .KEEP
-
- ORG UART1RX_VECTOR
- DW _vUARTRx_Wrapper
-
- ORG UART1TX_VECTOR
- DW _vUARTTx_Wrapper
+ ORG 0xFFE0 + UART1RX_VECTOR
+ _vRxISR_: DC16 vUARTRx_Wrapper
+ ORG 0xFFE0 + UART1TX_VECTOR
+ _vTxISR_: DC16 vUARTTx_Wrapper
#endif /* configINTERRUPT_EXAMPLE_METHOD */
diff --git a/Demo/msp430_IAR/settings/RTOSDemo.dbgdt b/Demo/msp430_IAR/settings/RTOSDemo.dbgdt
index a0936d6ac..ec3756ae2 100644
--- a/Demo/msp430_IAR/settings/RTOSDemo.dbgdt
+++ b/Demo/msp430_IAR/settings/RTOSDemo.dbgdt
@@ -28,7 +28,7 @@
-
+
TabID-22310-31641
@@ -44,7 +44,7 @@
TabID-3522-7304BreakpointsBreakpoints
- 0
+ 0
TabID-290-31644
@@ -52,24 +52,24 @@
Workspace
- RTOSDemoRTOSDemo/FreeRTOS SourceRTOSDemo/Output
+ RTOSDemoRTOSDemo/Demo SourceRTOSDemo/FreeRTOS SourceRTOSDemo/Output
- 0
+ 0TabID-452-589DisassemblyDisassembly0
- TextEditorC:\Devtools\IAR Systems\Embedded Workbench 4.0\430\INC\msp430x44x.h012726662066620TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\Debug\List\RTOSDemo.map0128641214121TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\portable\IAR\MSP430\port.c011953945394TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\portable\IAR\MSP430\portext.s4306728622862TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\portable\IAR\MSP430\portmacro.h08145094509TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\serial\serial.c012749414941TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\Common\Minimal\comtest.c019588858885TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\main.c030111204112067TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\queue.c04911959019590TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\Common\Minimal\PollQ.c013259085908TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\tasks.c018375727457309TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\FreeRTOSConfig.h095458145810100000010000001
+ TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\main.c014263476347TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\FreeRTOSConfig.h07241684168TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\serial\serialASM.s4305732093209TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\portable\IAR\MSP430\portext.s43054274327433TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\serial\serial.c027195969596TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Source\tasks.c097132358323580100000010000001
- iaridepm.enu1debuggergui.enu1430fet1-2-2644378-2-2200200142857203666271429657841-2-22701402-2-214042721002857276986142857203666
+ iaridepm.enu1debuggergui.enu1430fet1-2-2644378-2-2200200142857203666271429657841-2-2644198-2-2200200142857203666142857657841-2-22701402-2-214042721002857276986142857203666
diff --git a/Demo/msp430_IAR/settings/RTOSDemo.dni b/Demo/msp430_IAR/settings/RTOSDemo.dni
index 0711c9e26..9c9543d84 100644
--- a/Demo/msp430_IAR/settings/RTOSDemo.dni
+++ b/Demo/msp430_IAR/settings/RTOSDemo.dni
@@ -17,7 +17,7 @@ Control Register=0
NextState0=0
NextState1=0
[Action Register]
-Break=3
+Break=5
State Storage=0
[DisAssemblyWindow]
NumStates=_ 1
@@ -42,8 +42,7 @@ Category=_ 0
LoggingEnabled=_ 0
LogFile=_ ""
[Breakpoints]
-Bp0=_ "Code" "{$PROJ_DIR$\main.c}.153.2@1" 1 0 0 0 "" 0 ""
-Count=1
+Count=0
[FET]
Clock mode=14
Extended Clock mode=61663
diff --git a/Demo/msp430_IAR/settings/RTOSDemo.wsdt b/Demo/msp430_IAR/settings/RTOSDemo.wsdt
index a41292be7..35237de94 100644
--- a/Demo/msp430_IAR/settings/RTOSDemo.wsdt
+++ b/Demo/msp430_IAR/settings/RTOSDemo.wsdt
@@ -24,7 +24,7 @@
-
+
TabID-14502-17068
@@ -32,11 +32,11 @@
Workspace
- RTOSDemoRTOSDemo/Demo SourceRTOSDemo/FreeRTOS SourceRTOSDemo/Output
+ RTOSDemoRTOSDemo/Demo Source
- 0
+ 0
TabID-7853-19854
@@ -46,20 +46,20 @@
TabID-9700-31468Debug LogDebug-LogTabID-26943-7889BreakpointsBreakpoints
- 0
+ 0
- TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\main.c0750000100000010000001
+ TextEditorC:\E\Dev\FreeRTOS\WorkingCopy2\Demo\msp430_IAR\main.c01426346634600100000010000001
- iaridepm.enu1-2-2679348-2-2200200142857203666250000693483-2-22591402-2-214042611002857265784142857203666
+ iaridepm.enu1-2-2679348-2-2200200142857203666250000693483-2-22591402-2-214042611002857265784142857203666