From 619cd7a43d573a5a72489e1bc605f3ab323c900e Mon Sep 17 00:00:00 2001
From: Richard Barry <ribarry@amazon.com>
Date: Wed, 16 Jul 2008 09:55:52 +0000
Subject: [PATCH] Update project to use the new asm file for the port yield
 function, and remove the "user frame pointer" optimisation option.

---
 Demo/PIC24_MPLAB/RTOSDemo.mcw       | Bin 154624 -> 156160 bytes
 Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcp |  76 +++++++++++++++++++++++++---
 Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcs |   4 ++
 Demo/PIC24_MPLAB/serial/serial.c    |   6 +--
 4 files changed, 76 insertions(+), 10 deletions(-)

diff --git a/Demo/PIC24_MPLAB/RTOSDemo.mcw b/Demo/PIC24_MPLAB/RTOSDemo.mcw
index 61dc2e940e5bdfad3faa94c8b4487bdb46a5ac43..be6548079a4b8bd03604ca1af04e61a8de144855 100644
GIT binary patch
literal 156160
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

literal 154624
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

diff --git a/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcp b/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcp
index 82a1d5ad45..3f74120a97 100644
--- a/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcp
+++ b/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcp
@@ -2,6 +2,7 @@
 magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
 file_version=1.0
 [PATH_INFO]
+BuildDirPolicy=BuildDirIsSourceDir
 dir_src=
 dir_bin=
 dir_tmp=
@@ -15,6 +16,60 @@ filter_inc=*.h;*.inc
 filter_obj=*.o
 filter_lib=*.a
 filter_lkr=*.gld
+[CAT_SUBFOLDERS]
+subfolder_src=
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+file_001=.
+file_002=.
+file_003=.
+file_004=.
+file_005=.
+file_006=.
+file_007=.
+file_008=.
+file_009=.
+file_010=.
+file_011=.
+file_012=.
+file_013=.
+file_014=.
+file_015=.
+file_016=.
+file_017=.
+file_018=.
+file_019=.
+file_020=.
+file_021=.
+file_022=.
+[GENERATED_FILES]
+file_000=no
+file_001=no
+file_002=no
+file_003=no
+file_004=no
+file_005=no
+file_006=no
+file_007=no
+file_008=no
+file_009=no
+file_010=no
+file_011=no
+file_012=no
+file_013=no
+file_014=no
+file_015=no
+file_016=no
+file_017=no
+file_018=no
+file_019=no
+file_020=no
+file_021=no
+file_022=no
 [OTHER_FILES]
 file_000=no
 file_001=no
@@ -38,6 +93,7 @@ file_018=no
 file_019=no
 file_020=no
 file_021=no
+file_022=no
 [FILE_INFO]
 file_000=main.c
 file_001=..\..\source\list.c
@@ -55,21 +111,27 @@ file_012=..\Common\Minimal\comtest.c
 file_013=serial\serial.c
 file_014=timertest.c
 file_015=lcd.c
-file_016=..\..\source\include\semphr.h
-file_017=..\..\source\include\task.h
-file_018=..\..\source\include\croutine.h
-file_019=..\..\source\include\queue.h
-file_020=FreeRTOSConfig.h
-file_021=p24FJ128GA010.gld
+file_016=C:\E\Dev\FreeRTOS\WorkingCopy2\Source\portable\MPLAB\PIC24_dsPIC\portasm_PIC24_dsPIC.S
+file_017=..\..\source\include\semphr.h
+file_018=..\..\source\include\task.h
+file_019=..\..\source\include\croutine.h
+file_020=..\..\source\include\queue.h
+file_021=FreeRTOSConfig.h
+file_022=p24FJ128GA010.gld
 [SUITE_INFO]
 suite_guid={479DDE59-4D56-455E-855E-FFF59A3DB57E}
 suite_state=
 [TOOL_SETTINGS]
 TS{7D9C6ECE-785D-44CB-BA22-17BF2E119622}=-g
-TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}=-g -Wall -DMPLAB_PIC24_PORT -mlarge-code -fomit-frame-pointer -fno-schedule-insns -fno-schedule-insns2
+TS{25AC22BD-2378-4FDB-BFB6-7345A15512D3}=-g -Wall -DMPLAB_PIC24_PORT -mlarge-code -O1 -fno-schedule-insns -fno-schedule-insns2
 TS{7DAC9A1D-4C45-45D6-B25A-D117C74E8F5A}=--defsym=__ICD2RAM=1 -Map="$(TARGETBASE).map" -o"$(TARGETBASE).$(TARGETSUFFIX)"
 TS{509E5861-1E2A-483B-8B6B-CA8DB7F2DD78}=
 [INSTRUMENTED_TRACE]
 enable=0
 transport=0
 format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git a/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcs b/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcs
index ad85eb9d54..d24f9c117e 100644
--- a/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcs
+++ b/Demo/PIC24_MPLAB/RTOSDemo_PIC24.mcs
@@ -1,3 +1,7 @@
 [Header]
 MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
 Version=1.0
+[TOOL_LOC_STAMPS]
+tool_loc{DE18EB1A-B46B-486B-B96F-A811A635DFAC}=C:\Devtools\Microchip\MPLAB C30\bin\pic30-as.exe
+tool_loc{069BD372-6CA0-40D4-BF2F-5DC806D05083}=C:\Devtools\Microchip\MPLAB C30\bin\pic30-gcc.exe
+tool_loc{433C3D55-811D-409D-A6BF-159CF9355B42}=C:\Devtools\Microchip\MPLAB C30\bin\pic30-ld.exe
diff --git a/Demo/PIC24_MPLAB/serial/serial.c b/Demo/PIC24_MPLAB/serial/serial.c
index cb837eb500..a544b1a91c 100644
--- a/Demo/PIC24_MPLAB/serial/serial.c
+++ b/Demo/PIC24_MPLAB/serial/serial.c
@@ -219,7 +219,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
 void __attribute__((__interrupt__, auto_psv)) _U2TXInterrupt( void )
 {
 signed portCHAR cChar;
-portBASE_TYPE xTaskWoken = pdFALSE;
+portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
 
 	/* If the transmit buffer is full we cannot get the next character.
 	Another interrupt will occur the next time there is space so this does
@@ -227,7 +227,7 @@ portBASE_TYPE xTaskWoken = pdFALSE;
 	IFS1bits.U2TXIF = serCLEAR_FLAG;
 	while( !( U2STAbits.UTXBF ) )
 	{
-		if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xTaskWoken ) == pdTRUE )
+		if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
 		{
 			/* Send the next character queued for Tx. */
 			U2TXREG = cChar;
@@ -240,7 +240,7 @@ portBASE_TYPE xTaskWoken = pdFALSE;
 		}
 	}
 
-	if( xTaskWoken != pdFALSE )
+	if( xHigherPriorityTaskWoken != pdFALSE )
 	{
 		taskYIELD();
 	}