summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/PIC32MX_MPLAB
diff options
context:
space:
mode:
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2012-08-11 21:34:11 +0000
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>2012-08-11 21:34:11 +0000
commitf279ebee719fa6bda3f91061819e6b42051c7395 (patch)
treec2ef3f908508343c26551949d5f947009cda3291 /FreeRTOS/Demo/PIC32MX_MPLAB
parent24ce9d9c87e6b7b23f0915e1a91fb4a5bd2f7c3d (diff)
downloadfreertos-f279ebee719fa6bda3f91061819e6b42051c7395.tar.gz
Add FreeRTOS-Plus directory.
git-svn-id: http://svn.code.sf.net/p/freertos/code/trunk@1765 1d2547de-c912-0410-9cb9-b8ca96c0e9e2
Diffstat (limited to 'FreeRTOS/Demo/PIC32MX_MPLAB')
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h139
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.c137
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.h75
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer_isr.S117
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/ParTest/ParTest.c123
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/Makefile108
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX360.mk399
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX460.mk399
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX795.mk399
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties14
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk73
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk35
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk35
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk35
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk27
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX360.bash73
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX460.bash73
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX795.bash73
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/configurations.xml363
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml61
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.properties0
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.xml4
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.properties0
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.xml16
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcp198
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcs7
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcwbin0 -> 1120768 bytes
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/RegisterTestTasks.S354
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/lcd.c273
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/lcd.h88
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/main.c223
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/main_blinky.c283
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/main_full.c439
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/printf-stdarg.c286
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial.c223
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial_isr.S24
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/timertest.c137
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/timertest.h76
-rw-r--r--FreeRTOS/Demo/PIC32MX_MPLAB/timertest_isr.S90
39 files changed, 5479 insertions, 0 deletions
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h b/FreeRTOS/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h
new file mode 100644
index 000000000..646a1785d
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/FreeRTOSConfig.h
@@ -0,0 +1,139 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#ifndef FREERTOS_CONFIG_H
+#define FREERTOS_CONFIG_H
+
+#include <p32xxxx.h>
+
+/*-----------------------------------------------------------
+ * Application specific definitions.
+ *
+ * These definitions should be adjusted for your particular hardware and
+ * application requirements.
+ *
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
+ *
+ * See http://www.freertos.org/a00110.html.
+ *----------------------------------------------------------*/
+
+#define configUSE_PREEMPTION 1
+#define configUSE_IDLE_HOOK 0
+#define configUSE_TICK_HOOK 0
+#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
+#define configCPU_CLOCK_HZ ( ( unsigned long ) 80000000UL )
+#define configPERIPHERAL_CLOCK_HZ ( ( unsigned long ) 40000000UL )
+#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
+#define configMINIMAL_STACK_SIZE ( 190 )
+#define configISR_STACK_SIZE ( 400 )
+#define configTOTAL_HEAP_SIZE ( ( size_t ) 28000 )
+#define configMAX_TASK_NAME_LEN ( 8 )
+#define configUSE_TRACE_FACILITY 0
+#define configUSE_16_BIT_TICKS 0
+#define configIDLE_SHOULD_YIELD 1
+#define configUSE_MUTEXES 1
+#define configCHECK_FOR_STACK_OVERFLOW 2
+#define configQUEUE_REGISTRY_SIZE 0
+#define configUSE_RECURSIVE_MUTEXES 1
+#define configUSE_MALLOC_FAILED_HOOK 1
+#define configUSE_APPLICATION_TASK_TAG 0
+#define configUSE_COUNTING_SEMAPHORES 1
+#define configGENERATE_RUN_TIME_STATS 0
+
+/* Co-routine definitions. */
+#define configUSE_CO_ROUTINES 0
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
+
+/* Software timer definitions. */
+#define configUSE_TIMERS 1
+#define configTIMER_TASK_PRIORITY ( 2 )
+#define configTIMER_QUEUE_LENGTH 5
+#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 )
+
+/* Set the following definitions to 1 to include the API function, or zero
+to exclude the API function. */
+
+#define INCLUDE_vTaskPrioritySet 1
+#define INCLUDE_uxTaskPriorityGet 1
+#define INCLUDE_vTaskDelete 0
+#define INCLUDE_vTaskCleanUpResources 0
+#define INCLUDE_vTaskSuspend 1
+#define INCLUDE_vTaskDelayUntil 1
+#define INCLUDE_vTaskDelay 1
+#define INCLUDE_uxTaskGetStackHighWaterMark 1
+
+/* The priority at which the tick interrupt runs. This should probably be
+kept at 1. */
+#define configKERNEL_INTERRUPT_PRIORITY 0x01
+
+/* The maximum interrupt priority from which FreeRTOS.org API functions can
+be called. Only API functions that end in ...FromISR() can be used within
+interrupts. */
+#define configMAX_SYSCALL_INTERRUPT_PRIORITY 0x03
+
+
+#endif /* FREERTOS_CONFIG_H */
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.c b/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.c
new file mode 100644
index 000000000..edfaef2b5
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.c
@@ -0,0 +1,137 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#include "FreeRTOS.h"
+#include "IntQueueTimer.h"
+#include "IntQueue.h"
+
+#define timerINTERRUPT3_FREQUENCY ( 2000UL )
+#define timerINTERRUPT4_FREQUENCY ( 2001UL )
+
+void vT3InterruptHandler( void );
+void vT4InterruptHandler( void );
+
+/* As these interrupts use the FreeRTOS interrupt entry point, the IPL settings
+in the following prototypes have no effect. The interrupt priorities are set
+by the ConfigIntTimerX() library calls in vInitialiseTimerForIntQueueTest(). */
+void __attribute__( (interrupt(ipl0), vector(_TIMER_3_VECTOR))) vT3InterruptWrapper( void );
+void __attribute__( (interrupt(ipl0), vector(_TIMER_4_VECTOR))) vT4InterruptWrapper( void );
+
+void vInitialiseTimerForIntQueueTest( void )
+{
+ /* Timer 1 is used for the tick interrupt, timer 2 is used for the high
+ frequency interrupt test. This file therefore uses timers 3 and 4. */
+
+ T3CON = 0;
+ TMR3 = 0;
+ PR3 = ( unsigned short ) ( configPERIPHERAL_CLOCK_HZ / timerINTERRUPT3_FREQUENCY );
+
+ /* Setup timer 3 interrupt priority to be above the kernel priority. */
+ ConfigIntTimer3( T3_INT_ON | ( configMAX_SYSCALL_INTERRUPT_PRIORITY - 1 ) );
+
+ /* Clear the interrupt as a starting condition. */
+ IFS0bits.T3IF = 0;
+
+ /* Enable the interrupt. */
+ IEC0bits.T3IE = 1;
+
+ /* Start the timer. */
+ T3CONbits.TON = 1;
+
+
+ /* Do the same for timer 4. */
+ T4CON = 0;
+ TMR4 = 0;
+ PR4 = ( unsigned short ) ( configPERIPHERAL_CLOCK_HZ / timerINTERRUPT4_FREQUENCY );
+
+ /* Setup timer 4 interrupt priority to be above the kernel priority. */
+ ConfigIntTimer4( T4_INT_ON | ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) );
+
+ /* Clear the interrupt as a starting condition. */
+ IFS0bits.T4IF = 0;
+
+ /* Enable the interrupt. */
+ IEC0bits.T4IE = 1;
+
+ /* Start the timer. */
+ T4CONbits.TON = 1;
+}
+/*-----------------------------------------------------------*/
+
+void vT3InterruptHandler( void )
+{
+ IFS0CLR = _IFS0_T3IF_MASK;
+ portEND_SWITCHING_ISR( xFirstTimerHandler() );
+}
+/*-----------------------------------------------------------*/
+
+void vT4InterruptHandler( void )
+{
+ IFS0CLR = _IFS0_T4IF_MASK;
+ portEND_SWITCHING_ISR( xSecondTimerHandler() );
+}
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.h b/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.h
new file mode 100644
index 000000000..93289e667
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer.h
@@ -0,0 +1,75 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#ifndef INT_QUEUE_TIMER_H
+#define INT_QUEUE_TIMER_H
+
+void vInitialiseTimerForIntQueueTest( void );
+portBASE_TYPE xTimer0Handler( void );
+portBASE_TYPE xTimer1Handler( void );
+
+#endif
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer_isr.S b/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer_isr.S
new file mode 100644
index 000000000..0fde717f9
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/IntQueueTimer_isr.S
@@ -0,0 +1,117 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#include <p32xxxx.h>
+#include <sys/asm.h>
+#include "ISR_Support.h"
+
+#define portEXC_CODE_MASK ( 0x1f << 2 )
+
+ .set nomips16
+ .set noreorder
+
+ .extern vT3InterruptHandler
+ .extern vT4InterruptHandler
+
+
+ .global vT3InterruptWrapper
+ .global vT4InterruptWrapper
+
+
+/******************************************************************/
+
+ .set noreorder
+ .set noat
+ .ent vT3InterruptWrapper
+
+vT3InterruptWrapper:
+
+ portSAVE_CONTEXT
+
+ jal vT3InterruptHandler
+ nop
+
+ portRESTORE_CONTEXT
+
+ .end vT3InterruptWrapper
+
+/******************************************************************/
+
+ .set noreorder
+ .set noat
+ .ent vT4InterruptWrapper
+
+vT4InterruptWrapper:
+
+ portSAVE_CONTEXT
+
+ jal vT4InterruptHandler
+ nop
+
+ portRESTORE_CONTEXT
+
+ .end vT4InterruptWrapper
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/ParTest/ParTest.c b/FreeRTOS/Demo/PIC32MX_MPLAB/ParTest/ParTest.c
new file mode 100644
index 000000000..6c2bb196e
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/ParTest/ParTest.c
@@ -0,0 +1,123 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+
+/* Demo app includes. */
+#include "partest.h"
+
+#define ptOUTPUT 0
+#define ptALL_OFF 0
+
+/*-----------------------------------------------------------
+ * Simple parallel port IO routines.
+ *-----------------------------------------------------------*/
+
+void vParTestInitialise( void )
+{
+ /* All LEDs output. */
+ TRISA = ptOUTPUT;
+ PORTA = ptALL_OFF;
+
+ mJTAGPortEnable( 0 );
+}
+/*-----------------------------------------------------------*/
+
+void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
+{
+unsigned portBASE_TYPE uxLEDBit;
+
+ /* Which port A bit is being modified? */
+ uxLEDBit = 1 << uxLED;
+
+ if( xValue )
+ {
+ /* Turn the LED on. Use of the PORTASET register removes the need
+ to use a critical section. */
+ PORTASET = uxLEDBit;
+ }
+ else
+ {
+ /* Turn the LED off. Use of the PORTACLR register removes the need
+ to use a critical section. */
+ PORTACLR = uxLEDBit;
+ }
+}
+/*-----------------------------------------------------------*/
+
+void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
+{
+unsigned portBASE_TYPE uxLEDBit;
+
+ uxLEDBit = 1 << uxLED;
+
+ /* Use of the PORTAINV register removes the need to use a critical section. */
+ PORTAINV = uxLEDBit;
+}
+
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/Makefile b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/Makefile
new file mode 100644
index 000000000..05a3fb1b6
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/Makefile
@@ -0,0 +1,108 @@
+#
+# There exist several targets which are by default empty and which can be
+# used for execution of your targets. These targets are usually executed
+# before and after some main targets. They are:
+#
+# .build-pre: called before 'build' target
+# .build-post: called after 'build' target
+# .clean-pre: called before 'clean' target
+# .clean-post: called after 'clean' target
+# .clobber-pre: called before 'clobber' target
+# .clobber-post: called after 'clobber' target
+# .all-pre: called before 'all' target
+# .all-post: called after 'all' target
+# .help-pre: called before 'help' target
+# .help-post: called after 'help' target
+#
+# Targets beginning with '.' are not intended to be called on their own.
+#
+# Main targets can be executed directly, and they are:
+#
+# build build a specific configuration
+# clean remove built files from a configuration
+# clobber remove all built files
+# all build all configurations
+# help print help mesage
+#
+# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
+# .help-impl are implemented in nbproject/makefile-impl.mk.
+#
+# Available make variables:
+#
+# CND_BASEDIR base directory for relative paths
+# CND_DISTDIR default top distribution directory (build artifacts)
+# CND_BUILDDIR default top build directory (object files, ...)
+# CONF name of current configuration
+# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
+# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
+# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
+# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
+# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
+# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
+#
+# NOCDDL
+
+
+# Environment
+MKDIR=mkdir
+CP=cp
+CCADMIN=CCadmin
+RANLIB=ranlib
+
+
+# build
+build: .build-post
+
+.build-pre:
+# Add your pre 'build' code here...
+
+.build-post: .build-impl
+# Add your post 'build' code here...
+
+
+# clean
+clean: .clean-post
+
+.clean-pre:
+# Add your pre 'clean' code here...
+
+.clean-post: .clean-impl
+# Add your post 'clean' code here...
+
+
+# clobber
+clobber: .clobber-post
+
+.clobber-pre:
+# Add your pre 'clobber' code here...
+
+.clobber-post: .clobber-impl
+# Add your post 'clobber' code here...
+
+
+# all
+all: .all-post
+
+.all-pre:
+# Add your pre 'all' code here...
+
+.all-post: .all-impl
+# Add your post 'all' code here...
+
+
+# help
+help: .help-post
+
+.help-pre:
+# Add your pre 'help' code here...
+
+.help-post: .help-impl
+# Add your post 'help' code here...
+
+
+
+# include project implementation makefile
+include nbproject/Makefile-impl.mk
+
+# include project make variables
+include nbproject/Makefile-variables.mk
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX360.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX360.mk
new file mode 100644
index 000000000..14d5f5607
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX360.mk
@@ -0,0 +1,399 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Include project Makefile
+include Makefile
+# Include makefile containing local settings
+ifeq "$(wildcard nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk)" "nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk"
+include nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk
+endif
+
+# Environment
+MKDIR=gnumkdir -p
+RM=rm -f
+MV=mv
+CP=cp
+
+# Macros
+CND_CONF=EXPLORER_16_PIC32MX360
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+IMAGE_TYPE=debug
+OUTPUT_SUFFIX=elf
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+else
+IMAGE_TYPE=production
+OUTPUT_SUFFIX=hex
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+endif
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
+
+# Distribution Directory
+DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
+
+# Object Files Quoted if spaced
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/332309696/port.o ${OBJECTDIR}/_ext/332309696/port_asm.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/1884096877/heap_2.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/comtest.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/lcd.o ${OBJECTDIR}/_ext/821501661/serial.o ${OBJECTDIR}/_ext/821501661/serial_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/449926602/timers.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/332309696/port.o.d ${OBJECTDIR}/_ext/332309696/port_asm.o.d ${OBJECTDIR}/_ext/449926602/queue.o.d ${OBJECTDIR}/_ext/449926602/tasks.o.d ${OBJECTDIR}/_ext/449926602/list.o.d ${OBJECTDIR}/_ext/1884096877/heap_2.o.d ${OBJECTDIR}/_ext/1163846883/blocktim.o.d ${OBJECTDIR}/_ext/1163846883/comtest.o.d ${OBJECTDIR}/_ext/1163846883/semtest.o.d ${OBJECTDIR}/_ext/1163846883/QPeek.o.d ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d ${OBJECTDIR}/_ext/1472/main.o.d ${OBJECTDIR}/_ext/809743516/ParTest.o.d ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d ${OBJECTDIR}/_ext/1472/lcd.o.d ${OBJECTDIR}/_ext/821501661/serial.o.d ${OBJECTDIR}/_ext/821501661/serial_isr.o.d ${OBJECTDIR}/_ext/1472/timertest.o.d ${OBJECTDIR}/_ext/1472/timertest_isr.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d ${OBJECTDIR}/_ext/1472/main_blinky.o.d ${OBJECTDIR}/_ext/1472/main_full.o.d ${OBJECTDIR}/_ext/449926602/timers.o.d
+
+# Object Files
+OBJECTFILES=${OBJECTDIR}/_ext/332309696/port.o ${OBJECTDIR}/_ext/332309696/port_asm.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/1884096877/heap_2.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/comtest.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/lcd.o ${OBJECTDIR}/_ext/821501661/serial.o ${OBJECTDIR}/_ext/821501661/serial_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/449926602/timers.o
+
+
+CFLAGS=
+ASFLAGS=
+LDLIBSOPTIONS=
+
+############# Tool locations ##########################################
+# If you copy a project from one host to another, the path where the #
+# compiler is installed may be different. #
+# If you open this project with MPLAB X in the new host, this #
+# makefile will be regenerated and the paths will be corrected. #
+#######################################################################
+# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build
+FIXDEPS=fixDeps
+
+.build-conf: ${BUILD_SUBPROJECTS}
+ ${MAKE} -f nbproject/Makefile-EXPLORER_16_PIC32MX360.mk dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+
+MP_PROCESSOR_OPTION=32MX360F512L
+MP_LINKER_FILE_OPTION=
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assemble
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assembleWithPreprocess
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/332309696/port_asm.o: ../../../Source/portable/MPLAB/PIC32MX/port_asm.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.d
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.ok ${OBJECTDIR}/_ext/332309696/port_asm.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port_asm.o.d" "${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port_asm.o.d" -o ${OBJECTDIR}/_ext/332309696/port_asm.o ../../../Source/portable/MPLAB/PIC32MX/port_asm.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/1472/RegisterTestTasks.o: ../RegisterTestTasks.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.ok ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" -o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ../RegisterTestTasks.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/821501661/serial_isr.o: ../serial/serial_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.ok ${OBJECTDIR}/_ext/821501661/serial_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" "${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" -o ${OBJECTDIR}/_ext/821501661/serial_isr.o ../serial/serial_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/1472/timertest_isr.o: ../timertest_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.ok ${OBJECTDIR}/_ext/1472/timertest_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" "${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" -o ${OBJECTDIR}/_ext/1472/timertest_isr.o ../timertest_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o: ../IntQueueTimer_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.ok ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ../IntQueueTimer_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+else
+${OBJECTDIR}/_ext/332309696/port_asm.o: ../../../Source/portable/MPLAB/PIC32MX/port_asm.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.d
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.ok ${OBJECTDIR}/_ext/332309696/port_asm.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port_asm.o.d" "${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port_asm.o.d" -o ${OBJECTDIR}/_ext/332309696/port_asm.o ../../../Source/portable/MPLAB/PIC32MX/port_asm.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/RegisterTestTasks.o: ../RegisterTestTasks.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.ok ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" -o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ../RegisterTestTasks.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/821501661/serial_isr.o: ../serial/serial_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.ok ${OBJECTDIR}/_ext/821501661/serial_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" "${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" -o ${OBJECTDIR}/_ext/821501661/serial_isr.o ../serial/serial_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/timertest_isr.o: ../timertest_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.ok ${OBJECTDIR}/_ext/1472/timertest_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" "${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" -o ${OBJECTDIR}/_ext/1472/timertest_isr.o ../timertest_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o: ../IntQueueTimer_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.ok ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ../IntQueueTimer_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d",--gdwarf-2
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: compile
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/332309696/port.o: ../../../Source/portable/MPLAB/PIC32MX/port.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port.o.d" -o ${OBJECTDIR}/_ext/332309696/port.o ../../../Source/portable/MPLAB/PIC32MX/port.c
+
+${OBJECTDIR}/_ext/449926602/queue.o: ../../../Source/queue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/queue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/queue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/queue.o.d" -o ${OBJECTDIR}/_ext/449926602/queue.o ../../../Source/queue.c
+
+${OBJECTDIR}/_ext/449926602/tasks.o: ../../../Source/tasks.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/tasks.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/tasks.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/tasks.o.d" -o ${OBJECTDIR}/_ext/449926602/tasks.o ../../../Source/tasks.c
+
+${OBJECTDIR}/_ext/449926602/list.o: ../../../Source/list.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/list.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/list.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/list.o.d" -o ${OBJECTDIR}/_ext/449926602/list.o ../../../Source/list.c
+
+${OBJECTDIR}/_ext/1884096877/heap_2.o: ../../../Source/portable/MemMang/heap_2.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1884096877
+ @${RM} ${OBJECTDIR}/_ext/1884096877/heap_2.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" -o ${OBJECTDIR}/_ext/1884096877/heap_2.o ../../../Source/portable/MemMang/heap_2.c
+
+${OBJECTDIR}/_ext/1163846883/blocktim.o: ../../Common/Minimal/blocktim.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/blocktim.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" -o ${OBJECTDIR}/_ext/1163846883/blocktim.o ../../Common/Minimal/blocktim.c
+
+${OBJECTDIR}/_ext/1163846883/comtest.o: ../../Common/Minimal/comtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/comtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/comtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/comtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/comtest.o ../../Common/Minimal/comtest.c
+
+${OBJECTDIR}/_ext/1163846883/semtest.o: ../../Common/Minimal/semtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/semtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/semtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/semtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/semtest.o ../../Common/Minimal/semtest.c
+
+${OBJECTDIR}/_ext/1163846883/QPeek.o: ../../Common/Minimal/QPeek.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/QPeek.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" -o ${OBJECTDIR}/_ext/1163846883/QPeek.o ../../Common/Minimal/QPeek.c
+
+${OBJECTDIR}/_ext/1163846883/IntQueue.o: ../../Common/Minimal/IntQueue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" -o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ../../Common/Minimal/IntQueue.c
+
+${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" -o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ../../Common/Minimal/GenQTest.c
+
+${OBJECTDIR}/_ext/1472/main.o: ../main.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main.o.d" -o ${OBJECTDIR}/_ext/1472/main.o ../main.c
+
+${OBJECTDIR}/_ext/809743516/ParTest.o: ../ParTest/ParTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/809743516
+ @${RM} ${OBJECTDIR}/_ext/809743516/ParTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/809743516/ParTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/809743516/ParTest.o.d" -o ${OBJECTDIR}/_ext/809743516/ParTest.o ../ParTest/ParTest.c
+
+${OBJECTDIR}/_ext/1472/lcd.o: ../lcd.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/lcd.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/lcd.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/lcd.o.d" -o ${OBJECTDIR}/_ext/1472/lcd.o ../lcd.c
+
+${OBJECTDIR}/_ext/821501661/serial.o: ../serial/serial.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial.o.d" -o ${OBJECTDIR}/_ext/821501661/serial.o ../serial/serial.c
+
+${OBJECTDIR}/_ext/1472/timertest.o: ../timertest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest.o.d" -o ${OBJECTDIR}/_ext/1472/timertest.o ../timertest.c
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer.o: ../IntQueueTimer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ../IntQueueTimer.c
+
+${OBJECTDIR}/_ext/1472/printf-stdarg.o: ../printf-stdarg.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" -o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ../printf-stdarg.c
+
+${OBJECTDIR}/_ext/1163846883/flash_timer.o: ../../Common/Minimal/flash_timer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" -o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ../../Common/Minimal/flash_timer.c
+
+${OBJECTDIR}/_ext/1472/main_blinky.o: ../main_blinky.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_blinky.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_blinky.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_blinky.o.d" -o ${OBJECTDIR}/_ext/1472/main_blinky.o ../main_blinky.c
+
+${OBJECTDIR}/_ext/1472/main_full.o: ../main_full.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_full.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_full.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_full.o.d" -o ${OBJECTDIR}/_ext/1472/main_full.o ../main_full.c
+
+${OBJECTDIR}/_ext/449926602/timers.o: ../../../Source/timers.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/timers.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/timers.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/timers.o.d" -o ${OBJECTDIR}/_ext/449926602/timers.o ../../../Source/timers.c
+
+else
+${OBJECTDIR}/_ext/332309696/port.o: ../../../Source/portable/MPLAB/PIC32MX/port.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port.o.d" -o ${OBJECTDIR}/_ext/332309696/port.o ../../../Source/portable/MPLAB/PIC32MX/port.c
+
+${OBJECTDIR}/_ext/449926602/queue.o: ../../../Source/queue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/queue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/queue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/queue.o.d" -o ${OBJECTDIR}/_ext/449926602/queue.o ../../../Source/queue.c
+
+${OBJECTDIR}/_ext/449926602/tasks.o: ../../../Source/tasks.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/tasks.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/tasks.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/tasks.o.d" -o ${OBJECTDIR}/_ext/449926602/tasks.o ../../../Source/tasks.c
+
+${OBJECTDIR}/_ext/449926602/list.o: ../../../Source/list.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/list.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/list.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/list.o.d" -o ${OBJECTDIR}/_ext/449926602/list.o ../../../Source/list.c
+
+${OBJECTDIR}/_ext/1884096877/heap_2.o: ../../../Source/portable/MemMang/heap_2.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1884096877
+ @${RM} ${OBJECTDIR}/_ext/1884096877/heap_2.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" -o ${OBJECTDIR}/_ext/1884096877/heap_2.o ../../../Source/portable/MemMang/heap_2.c
+
+${OBJECTDIR}/_ext/1163846883/blocktim.o: ../../Common/Minimal/blocktim.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/blocktim.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" -o ${OBJECTDIR}/_ext/1163846883/blocktim.o ../../Common/Minimal/blocktim.c
+
+${OBJECTDIR}/_ext/1163846883/comtest.o: ../../Common/Minimal/comtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/comtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/comtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/comtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/comtest.o ../../Common/Minimal/comtest.c
+
+${OBJECTDIR}/_ext/1163846883/semtest.o: ../../Common/Minimal/semtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/semtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/semtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/semtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/semtest.o ../../Common/Minimal/semtest.c
+
+${OBJECTDIR}/_ext/1163846883/QPeek.o: ../../Common/Minimal/QPeek.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/QPeek.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" -o ${OBJECTDIR}/_ext/1163846883/QPeek.o ../../Common/Minimal/QPeek.c
+
+${OBJECTDIR}/_ext/1163846883/IntQueue.o: ../../Common/Minimal/IntQueue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" -o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ../../Common/Minimal/IntQueue.c
+
+${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" -o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ../../Common/Minimal/GenQTest.c
+
+${OBJECTDIR}/_ext/1472/main.o: ../main.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main.o.d" -o ${OBJECTDIR}/_ext/1472/main.o ../main.c
+
+${OBJECTDIR}/_ext/809743516/ParTest.o: ../ParTest/ParTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/809743516
+ @${RM} ${OBJECTDIR}/_ext/809743516/ParTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/809743516/ParTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/809743516/ParTest.o.d" -o ${OBJECTDIR}/_ext/809743516/ParTest.o ../ParTest/ParTest.c
+
+${OBJECTDIR}/_ext/1472/lcd.o: ../lcd.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/lcd.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/lcd.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/lcd.o.d" -o ${OBJECTDIR}/_ext/1472/lcd.o ../lcd.c
+
+${OBJECTDIR}/_ext/821501661/serial.o: ../serial/serial.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial.o.d" -o ${OBJECTDIR}/_ext/821501661/serial.o ../serial/serial.c
+
+${OBJECTDIR}/_ext/1472/timertest.o: ../timertest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest.o.d" -o ${OBJECTDIR}/_ext/1472/timertest.o ../timertest.c
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer.o: ../IntQueueTimer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ../IntQueueTimer.c
+
+${OBJECTDIR}/_ext/1472/printf-stdarg.o: ../printf-stdarg.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" -o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ../printf-stdarg.c
+
+${OBJECTDIR}/_ext/1163846883/flash_timer.o: ../../Common/Minimal/flash_timer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" -o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ../../Common/Minimal/flash_timer.c
+
+${OBJECTDIR}/_ext/1472/main_blinky.o: ../main_blinky.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_blinky.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_blinky.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_blinky.o.d" -o ${OBJECTDIR}/_ext/1472/main_blinky.o ../main_blinky.c
+
+${OBJECTDIR}/_ext/1472/main_full.o: ../main_full.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_full.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_full.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_full.o.d" -o ${OBJECTDIR}/_ext/1472/main_full.o ../main_full.c
+
+${OBJECTDIR}/_ext/449926602/timers.o: ../../../Source/timers.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/timers.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/timers.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/timers.o.d" -o ${OBJECTDIR}/_ext/449926602/timers.o ../../../Source/timers.c
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: link
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -mdebugger -D__MPLAB_DEBUGGER_REAL_ICE=1 -mprocessor=$(MP_PROCESSOR_OPTION) -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1,--gc-sections
+else
+dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -mprocessor=$(MP_PROCESSOR_OPTION) -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--gc-sections
+ ${MP_CC_DIR}\\xc32-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}
+endif
+
+
+# Subprojects
+.build-subprojects:
+
+
+# Subprojects
+.clean-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/EXPLORER_16_PIC32MX360
+ ${RM} -r dist/EXPLORER_16_PIC32MX360
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX460.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX460.mk
new file mode 100644
index 000000000..d2edaac95
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX460.mk
@@ -0,0 +1,399 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Include project Makefile
+include Makefile
+# Include makefile containing local settings
+ifeq "$(wildcard nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk)" "nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk"
+include nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk
+endif
+
+# Environment
+MKDIR=gnumkdir -p
+RM=rm -f
+MV=mv
+CP=cp
+
+# Macros
+CND_CONF=EXPLORER_16_PIC32MX460
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+IMAGE_TYPE=debug
+OUTPUT_SUFFIX=elf
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+else
+IMAGE_TYPE=production
+OUTPUT_SUFFIX=hex
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+endif
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
+
+# Distribution Directory
+DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
+
+# Object Files Quoted if spaced
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/332309696/port.o ${OBJECTDIR}/_ext/332309696/port_asm.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/1884096877/heap_2.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/comtest.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/lcd.o ${OBJECTDIR}/_ext/821501661/serial.o ${OBJECTDIR}/_ext/821501661/serial_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/449926602/timers.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/332309696/port.o.d ${OBJECTDIR}/_ext/332309696/port_asm.o.d ${OBJECTDIR}/_ext/449926602/queue.o.d ${OBJECTDIR}/_ext/449926602/tasks.o.d ${OBJECTDIR}/_ext/449926602/list.o.d ${OBJECTDIR}/_ext/1884096877/heap_2.o.d ${OBJECTDIR}/_ext/1163846883/blocktim.o.d ${OBJECTDIR}/_ext/1163846883/comtest.o.d ${OBJECTDIR}/_ext/1163846883/semtest.o.d ${OBJECTDIR}/_ext/1163846883/QPeek.o.d ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d ${OBJECTDIR}/_ext/1472/main.o.d ${OBJECTDIR}/_ext/809743516/ParTest.o.d ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d ${OBJECTDIR}/_ext/1472/lcd.o.d ${OBJECTDIR}/_ext/821501661/serial.o.d ${OBJECTDIR}/_ext/821501661/serial_isr.o.d ${OBJECTDIR}/_ext/1472/timertest.o.d ${OBJECTDIR}/_ext/1472/timertest_isr.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d ${OBJECTDIR}/_ext/1472/main_blinky.o.d ${OBJECTDIR}/_ext/1472/main_full.o.d ${OBJECTDIR}/_ext/449926602/timers.o.d
+
+# Object Files
+OBJECTFILES=${OBJECTDIR}/_ext/332309696/port.o ${OBJECTDIR}/_ext/332309696/port_asm.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/1884096877/heap_2.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/comtest.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/lcd.o ${OBJECTDIR}/_ext/821501661/serial.o ${OBJECTDIR}/_ext/821501661/serial_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/449926602/timers.o
+
+
+CFLAGS=
+ASFLAGS=
+LDLIBSOPTIONS=
+
+############# Tool locations ##########################################
+# If you copy a project from one host to another, the path where the #
+# compiler is installed may be different. #
+# If you open this project with MPLAB X in the new host, this #
+# makefile will be regenerated and the paths will be corrected. #
+#######################################################################
+# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build
+FIXDEPS=fixDeps
+
+.build-conf: ${BUILD_SUBPROJECTS}
+ ${MAKE} -f nbproject/Makefile-EXPLORER_16_PIC32MX460.mk dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+
+MP_PROCESSOR_OPTION=32MX460F512L
+MP_LINKER_FILE_OPTION=
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assemble
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assembleWithPreprocess
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/332309696/port_asm.o: ../../../Source/portable/MPLAB/PIC32MX/port_asm.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.d
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.ok ${OBJECTDIR}/_ext/332309696/port_asm.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port_asm.o.d" "${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port_asm.o.d" -o ${OBJECTDIR}/_ext/332309696/port_asm.o ../../../Source/portable/MPLAB/PIC32MX/port_asm.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1
+
+${OBJECTDIR}/_ext/1472/RegisterTestTasks.o: ../RegisterTestTasks.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.ok ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" -o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ../RegisterTestTasks.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1
+
+${OBJECTDIR}/_ext/821501661/serial_isr.o: ../serial/serial_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.ok ${OBJECTDIR}/_ext/821501661/serial_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" "${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" -o ${OBJECTDIR}/_ext/821501661/serial_isr.o ../serial/serial_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1
+
+${OBJECTDIR}/_ext/1472/timertest_isr.o: ../timertest_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.ok ${OBJECTDIR}/_ext/1472/timertest_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" "${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" -o ${OBJECTDIR}/_ext/1472/timertest_isr.o ../timertest_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o: ../IntQueueTimer_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.ok ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ../IntQueueTimer_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1
+
+else
+${OBJECTDIR}/_ext/332309696/port_asm.o: ../../../Source/portable/MPLAB/PIC32MX/port_asm.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.d
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.ok ${OBJECTDIR}/_ext/332309696/port_asm.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port_asm.o.d" "${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port_asm.o.d" -o ${OBJECTDIR}/_ext/332309696/port_asm.o ../../../Source/portable/MPLAB/PIC32MX/port_asm.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/RegisterTestTasks.o: ../RegisterTestTasks.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.ok ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" -o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ../RegisterTestTasks.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/821501661/serial_isr.o: ../serial/serial_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.ok ${OBJECTDIR}/_ext/821501661/serial_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" "${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" -o ${OBJECTDIR}/_ext/821501661/serial_isr.o ../serial/serial_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/timertest_isr.o: ../timertest_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.ok ${OBJECTDIR}/_ext/1472/timertest_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" "${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" -o ${OBJECTDIR}/_ext/1472/timertest_isr.o ../timertest_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o: ../IntQueueTimer_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.ok ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ../IntQueueTimer_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d",--gdwarf-2
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: compile
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/332309696/port.o: ../../../Source/portable/MPLAB/PIC32MX/port.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port.o.d" -o ${OBJECTDIR}/_ext/332309696/port.o ../../../Source/portable/MPLAB/PIC32MX/port.c
+
+${OBJECTDIR}/_ext/449926602/queue.o: ../../../Source/queue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/queue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/queue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/queue.o.d" -o ${OBJECTDIR}/_ext/449926602/queue.o ../../../Source/queue.c
+
+${OBJECTDIR}/_ext/449926602/tasks.o: ../../../Source/tasks.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/tasks.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/tasks.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/tasks.o.d" -o ${OBJECTDIR}/_ext/449926602/tasks.o ../../../Source/tasks.c
+
+${OBJECTDIR}/_ext/449926602/list.o: ../../../Source/list.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/list.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/list.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/list.o.d" -o ${OBJECTDIR}/_ext/449926602/list.o ../../../Source/list.c
+
+${OBJECTDIR}/_ext/1884096877/heap_2.o: ../../../Source/portable/MemMang/heap_2.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1884096877
+ @${RM} ${OBJECTDIR}/_ext/1884096877/heap_2.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" -o ${OBJECTDIR}/_ext/1884096877/heap_2.o ../../../Source/portable/MemMang/heap_2.c
+
+${OBJECTDIR}/_ext/1163846883/blocktim.o: ../../Common/Minimal/blocktim.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/blocktim.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" -o ${OBJECTDIR}/_ext/1163846883/blocktim.o ../../Common/Minimal/blocktim.c
+
+${OBJECTDIR}/_ext/1163846883/comtest.o: ../../Common/Minimal/comtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/comtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/comtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/comtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/comtest.o ../../Common/Minimal/comtest.c
+
+${OBJECTDIR}/_ext/1163846883/semtest.o: ../../Common/Minimal/semtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/semtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/semtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/semtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/semtest.o ../../Common/Minimal/semtest.c
+
+${OBJECTDIR}/_ext/1163846883/QPeek.o: ../../Common/Minimal/QPeek.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/QPeek.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" -o ${OBJECTDIR}/_ext/1163846883/QPeek.o ../../Common/Minimal/QPeek.c
+
+${OBJECTDIR}/_ext/1163846883/IntQueue.o: ../../Common/Minimal/IntQueue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" -o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ../../Common/Minimal/IntQueue.c
+
+${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" -o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ../../Common/Minimal/GenQTest.c
+
+${OBJECTDIR}/_ext/1472/main.o: ../main.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main.o.d" -o ${OBJECTDIR}/_ext/1472/main.o ../main.c
+
+${OBJECTDIR}/_ext/809743516/ParTest.o: ../ParTest/ParTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/809743516
+ @${RM} ${OBJECTDIR}/_ext/809743516/ParTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/809743516/ParTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/809743516/ParTest.o.d" -o ${OBJECTDIR}/_ext/809743516/ParTest.o ../ParTest/ParTest.c
+
+${OBJECTDIR}/_ext/1472/lcd.o: ../lcd.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/lcd.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/lcd.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/lcd.o.d" -o ${OBJECTDIR}/_ext/1472/lcd.o ../lcd.c
+
+${OBJECTDIR}/_ext/821501661/serial.o: ../serial/serial.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial.o.d" -o ${OBJECTDIR}/_ext/821501661/serial.o ../serial/serial.c
+
+${OBJECTDIR}/_ext/1472/timertest.o: ../timertest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest.o.d" -o ${OBJECTDIR}/_ext/1472/timertest.o ../timertest.c
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer.o: ../IntQueueTimer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ../IntQueueTimer.c
+
+${OBJECTDIR}/_ext/1472/printf-stdarg.o: ../printf-stdarg.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" -o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ../printf-stdarg.c
+
+${OBJECTDIR}/_ext/1163846883/flash_timer.o: ../../Common/Minimal/flash_timer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" -o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ../../Common/Minimal/flash_timer.c
+
+${OBJECTDIR}/_ext/1472/main_blinky.o: ../main_blinky.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_blinky.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_blinky.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_blinky.o.d" -o ${OBJECTDIR}/_ext/1472/main_blinky.o ../main_blinky.c
+
+${OBJECTDIR}/_ext/1472/main_full.o: ../main_full.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_full.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_full.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_full.o.d" -o ${OBJECTDIR}/_ext/1472/main_full.o ../main_full.c
+
+${OBJECTDIR}/_ext/449926602/timers.o: ../../../Source/timers.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/timers.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/timers.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/timers.o.d" -o ${OBJECTDIR}/_ext/449926602/timers.o ../../../Source/timers.c
+
+else
+${OBJECTDIR}/_ext/332309696/port.o: ../../../Source/portable/MPLAB/PIC32MX/port.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port.o.d" -o ${OBJECTDIR}/_ext/332309696/port.o ../../../Source/portable/MPLAB/PIC32MX/port.c
+
+${OBJECTDIR}/_ext/449926602/queue.o: ../../../Source/queue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/queue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/queue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/queue.o.d" -o ${OBJECTDIR}/_ext/449926602/queue.o ../../../Source/queue.c
+
+${OBJECTDIR}/_ext/449926602/tasks.o: ../../../Source/tasks.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/tasks.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/tasks.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/tasks.o.d" -o ${OBJECTDIR}/_ext/449926602/tasks.o ../../../Source/tasks.c
+
+${OBJECTDIR}/_ext/449926602/list.o: ../../../Source/list.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/list.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/list.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/list.o.d" -o ${OBJECTDIR}/_ext/449926602/list.o ../../../Source/list.c
+
+${OBJECTDIR}/_ext/1884096877/heap_2.o: ../../../Source/portable/MemMang/heap_2.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1884096877
+ @${RM} ${OBJECTDIR}/_ext/1884096877/heap_2.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" -o ${OBJECTDIR}/_ext/1884096877/heap_2.o ../../../Source/portable/MemMang/heap_2.c
+
+${OBJECTDIR}/_ext/1163846883/blocktim.o: ../../Common/Minimal/blocktim.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/blocktim.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" -o ${OBJECTDIR}/_ext/1163846883/blocktim.o ../../Common/Minimal/blocktim.c
+
+${OBJECTDIR}/_ext/1163846883/comtest.o: ../../Common/Minimal/comtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/comtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/comtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/comtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/comtest.o ../../Common/Minimal/comtest.c
+
+${OBJECTDIR}/_ext/1163846883/semtest.o: ../../Common/Minimal/semtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/semtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/semtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/semtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/semtest.o ../../Common/Minimal/semtest.c
+
+${OBJECTDIR}/_ext/1163846883/QPeek.o: ../../Common/Minimal/QPeek.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/QPeek.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" -o ${OBJECTDIR}/_ext/1163846883/QPeek.o ../../Common/Minimal/QPeek.c
+
+${OBJECTDIR}/_ext/1163846883/IntQueue.o: ../../Common/Minimal/IntQueue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" -o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ../../Common/Minimal/IntQueue.c
+
+${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" -o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ../../Common/Minimal/GenQTest.c
+
+${OBJECTDIR}/_ext/1472/main.o: ../main.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main.o.d" -o ${OBJECTDIR}/_ext/1472/main.o ../main.c
+
+${OBJECTDIR}/_ext/809743516/ParTest.o: ../ParTest/ParTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/809743516
+ @${RM} ${OBJECTDIR}/_ext/809743516/ParTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/809743516/ParTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/809743516/ParTest.o.d" -o ${OBJECTDIR}/_ext/809743516/ParTest.o ../ParTest/ParTest.c
+
+${OBJECTDIR}/_ext/1472/lcd.o: ../lcd.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/lcd.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/lcd.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/lcd.o.d" -o ${OBJECTDIR}/_ext/1472/lcd.o ../lcd.c
+
+${OBJECTDIR}/_ext/821501661/serial.o: ../serial/serial.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial.o.d" -o ${OBJECTDIR}/_ext/821501661/serial.o ../serial/serial.c
+
+${OBJECTDIR}/_ext/1472/timertest.o: ../timertest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest.o.d" -o ${OBJECTDIR}/_ext/1472/timertest.o ../timertest.c
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer.o: ../IntQueueTimer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ../IntQueueTimer.c
+
+${OBJECTDIR}/_ext/1472/printf-stdarg.o: ../printf-stdarg.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" -o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ../printf-stdarg.c
+
+${OBJECTDIR}/_ext/1163846883/flash_timer.o: ../../Common/Minimal/flash_timer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" -o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ../../Common/Minimal/flash_timer.c
+
+${OBJECTDIR}/_ext/1472/main_blinky.o: ../main_blinky.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_blinky.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_blinky.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_blinky.o.d" -o ${OBJECTDIR}/_ext/1472/main_blinky.o ../main_blinky.c
+
+${OBJECTDIR}/_ext/1472/main_full.o: ../main_full.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_full.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_full.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_full.o.d" -o ${OBJECTDIR}/_ext/1472/main_full.o ../main_full.c
+
+${OBJECTDIR}/_ext/449926602/timers.o: ../../../Source/timers.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/timers.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/timers.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/timers.o.d" -o ${OBJECTDIR}/_ext/449926602/timers.o ../../../Source/timers.c
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: link
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -mdebugger -D__MPLAB_DEBUGGER_ICD3=1 -mprocessor=$(MP_PROCESSOR_OPTION) -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_ICD3=1,--gc-sections
+else
+dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -mprocessor=$(MP_PROCESSOR_OPTION) -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--gc-sections
+ ${MP_CC_DIR}\\xc32-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}
+endif
+
+
+# Subprojects
+.build-subprojects:
+
+
+# Subprojects
+.clean-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/EXPLORER_16_PIC32MX460
+ ${RM} -r dist/EXPLORER_16_PIC32MX460
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX795.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX795.mk
new file mode 100644
index 000000000..d0f0789f4
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-EXPLORER_16_PIC32MX795.mk
@@ -0,0 +1,399 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a -pre and a -post target defined where you can add customized code.
+#
+# This makefile implements configuration specific macros and targets.
+
+
+# Include project Makefile
+include Makefile
+# Include makefile containing local settings
+ifeq "$(wildcard nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk)" "nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk"
+include nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk
+endif
+
+# Environment
+MKDIR=gnumkdir -p
+RM=rm -f
+MV=mv
+CP=cp
+
+# Macros
+CND_CONF=EXPLORER_16_PIC32MX795
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+IMAGE_TYPE=debug
+OUTPUT_SUFFIX=elf
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+else
+IMAGE_TYPE=production
+OUTPUT_SUFFIX=hex
+DEBUGGABLE_SUFFIX=elf
+FINAL_IMAGE=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+endif
+
+# Object Directory
+OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
+
+# Distribution Directory
+DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
+
+# Object Files Quoted if spaced
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/_ext/332309696/port.o ${OBJECTDIR}/_ext/332309696/port_asm.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/1884096877/heap_2.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/comtest.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/lcd.o ${OBJECTDIR}/_ext/821501661/serial.o ${OBJECTDIR}/_ext/821501661/serial_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/449926602/timers.o
+POSSIBLE_DEPFILES=${OBJECTDIR}/_ext/332309696/port.o.d ${OBJECTDIR}/_ext/332309696/port_asm.o.d ${OBJECTDIR}/_ext/449926602/queue.o.d ${OBJECTDIR}/_ext/449926602/tasks.o.d ${OBJECTDIR}/_ext/449926602/list.o.d ${OBJECTDIR}/_ext/1884096877/heap_2.o.d ${OBJECTDIR}/_ext/1163846883/blocktim.o.d ${OBJECTDIR}/_ext/1163846883/comtest.o.d ${OBJECTDIR}/_ext/1163846883/semtest.o.d ${OBJECTDIR}/_ext/1163846883/QPeek.o.d ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d ${OBJECTDIR}/_ext/1472/main.o.d ${OBJECTDIR}/_ext/809743516/ParTest.o.d ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d ${OBJECTDIR}/_ext/1472/lcd.o.d ${OBJECTDIR}/_ext/821501661/serial.o.d ${OBJECTDIR}/_ext/821501661/serial_isr.o.d ${OBJECTDIR}/_ext/1472/timertest.o.d ${OBJECTDIR}/_ext/1472/timertest_isr.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d ${OBJECTDIR}/_ext/1472/main_blinky.o.d ${OBJECTDIR}/_ext/1472/main_full.o.d ${OBJECTDIR}/_ext/449926602/timers.o.d
+
+# Object Files
+OBJECTFILES=${OBJECTDIR}/_ext/332309696/port.o ${OBJECTDIR}/_ext/332309696/port_asm.o ${OBJECTDIR}/_ext/449926602/queue.o ${OBJECTDIR}/_ext/449926602/tasks.o ${OBJECTDIR}/_ext/449926602/list.o ${OBJECTDIR}/_ext/1884096877/heap_2.o ${OBJECTDIR}/_ext/1163846883/blocktim.o ${OBJECTDIR}/_ext/1163846883/comtest.o ${OBJECTDIR}/_ext/1163846883/semtest.o ${OBJECTDIR}/_ext/1163846883/QPeek.o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ${OBJECTDIR}/_ext/1472/main.o ${OBJECTDIR}/_ext/809743516/ParTest.o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ${OBJECTDIR}/_ext/1472/lcd.o ${OBJECTDIR}/_ext/821501661/serial.o ${OBJECTDIR}/_ext/821501661/serial_isr.o ${OBJECTDIR}/_ext/1472/timertest.o ${OBJECTDIR}/_ext/1472/timertest_isr.o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ${OBJECTDIR}/_ext/1472/main_blinky.o ${OBJECTDIR}/_ext/1472/main_full.o ${OBJECTDIR}/_ext/449926602/timers.o
+
+
+CFLAGS=
+ASFLAGS=
+LDLIBSOPTIONS=
+
+############# Tool locations ##########################################
+# If you copy a project from one host to another, the path where the #
+# compiler is installed may be different. #
+# If you open this project with MPLAB X in the new host, this #
+# makefile will be regenerated and the paths will be corrected. #
+#######################################################################
+# fixDeps replaces a bunch of sed/cat/printf statements that slow down the build
+FIXDEPS=fixDeps
+
+.build-conf: ${BUILD_SUBPROJECTS}
+ ${MAKE} -f nbproject/Makefile-EXPLORER_16_PIC32MX795.mk dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+
+MP_PROCESSOR_OPTION=32MX795F512L
+MP_LINKER_FILE_OPTION=
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assemble
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+else
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: assembleWithPreprocess
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/332309696/port_asm.o: ../../../Source/portable/MPLAB/PIC32MX/port_asm.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.d
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.ok ${OBJECTDIR}/_ext/332309696/port_asm.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port_asm.o.d" "${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port_asm.o.d" -o ${OBJECTDIR}/_ext/332309696/port_asm.o ../../../Source/portable/MPLAB/PIC32MX/port_asm.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/1472/RegisterTestTasks.o: ../RegisterTestTasks.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.ok ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" -o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ../RegisterTestTasks.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/821501661/serial_isr.o: ../serial/serial_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.ok ${OBJECTDIR}/_ext/821501661/serial_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" "${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" -o ${OBJECTDIR}/_ext/821501661/serial_isr.o ../serial/serial_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/1472/timertest_isr.o: ../timertest_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.ok ${OBJECTDIR}/_ext/1472/timertest_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" "${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" -o ${OBJECTDIR}/_ext/1472/timertest_isr.o ../timertest_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o: ../IntQueueTimer_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.ok ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ../IntQueueTimer_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d",--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--gdwarf-2,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1
+
+else
+${OBJECTDIR}/_ext/332309696/port_asm.o: ../../../Source/portable/MPLAB/PIC32MX/port_asm.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.d
+ @${RM} ${OBJECTDIR}/_ext/332309696/port_asm.o.ok ${OBJECTDIR}/_ext/332309696/port_asm.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port_asm.o.d" "${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port_asm.o.d" -o ${OBJECTDIR}/_ext/332309696/port_asm.o ../../../Source/portable/MPLAB/PIC32MX/port_asm.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/332309696/port_asm.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/RegisterTestTasks.o: ../RegisterTestTasks.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.ok ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.d" -o ${OBJECTDIR}/_ext/1472/RegisterTestTasks.o ../RegisterTestTasks.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/RegisterTestTasks.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/821501661/serial_isr.o: ../serial/serial_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial_isr.o.ok ${OBJECTDIR}/_ext/821501661/serial_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" "${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial_isr.o.d" -o ${OBJECTDIR}/_ext/821501661/serial_isr.o ../serial/serial_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/821501661/serial_isr.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/timertest_isr.o: ../timertest_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest_isr.o.ok ${OBJECTDIR}/_ext/1472/timertest_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" "${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest_isr.o.d" -o ${OBJECTDIR}/_ext/1472/timertest_isr.o ../timertest_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/timertest_isr.o.asm.d",--gdwarf-2
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o: ../IntQueueTimer_isr.S nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.ok ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.err
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d" -t $(SILENT) -c ${MP_CC} $(MP_EXTRA_AS_PRE) -c -mprocessor=$(MP_PROCESSOR_OPTION) -I"../" -I"../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o ../IntQueueTimer_isr.S -Wa,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_AS_POST),-MD="${OBJECTDIR}/_ext/1472/IntQueueTimer_isr.o.asm.d",--gdwarf-2
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: compile
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+${OBJECTDIR}/_ext/332309696/port.o: ../../../Source/portable/MPLAB/PIC32MX/port.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port.o.d" -o ${OBJECTDIR}/_ext/332309696/port.o ../../../Source/portable/MPLAB/PIC32MX/port.c
+
+${OBJECTDIR}/_ext/449926602/queue.o: ../../../Source/queue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/queue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/queue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/queue.o.d" -o ${OBJECTDIR}/_ext/449926602/queue.o ../../../Source/queue.c
+
+${OBJECTDIR}/_ext/449926602/tasks.o: ../../../Source/tasks.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/tasks.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/tasks.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/tasks.o.d" -o ${OBJECTDIR}/_ext/449926602/tasks.o ../../../Source/tasks.c
+
+${OBJECTDIR}/_ext/449926602/list.o: ../../../Source/list.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/list.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/list.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/list.o.d" -o ${OBJECTDIR}/_ext/449926602/list.o ../../../Source/list.c
+
+${OBJECTDIR}/_ext/1884096877/heap_2.o: ../../../Source/portable/MemMang/heap_2.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1884096877
+ @${RM} ${OBJECTDIR}/_ext/1884096877/heap_2.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" -o ${OBJECTDIR}/_ext/1884096877/heap_2.o ../../../Source/portable/MemMang/heap_2.c
+
+${OBJECTDIR}/_ext/1163846883/blocktim.o: ../../Common/Minimal/blocktim.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/blocktim.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" -o ${OBJECTDIR}/_ext/1163846883/blocktim.o ../../Common/Minimal/blocktim.c
+
+${OBJECTDIR}/_ext/1163846883/comtest.o: ../../Common/Minimal/comtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/comtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/comtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/comtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/comtest.o ../../Common/Minimal/comtest.c
+
+${OBJECTDIR}/_ext/1163846883/semtest.o: ../../Common/Minimal/semtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/semtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/semtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/semtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/semtest.o ../../Common/Minimal/semtest.c
+
+${OBJECTDIR}/_ext/1163846883/QPeek.o: ../../Common/Minimal/QPeek.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/QPeek.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" -o ${OBJECTDIR}/_ext/1163846883/QPeek.o ../../Common/Minimal/QPeek.c
+
+${OBJECTDIR}/_ext/1163846883/IntQueue.o: ../../Common/Minimal/IntQueue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" -o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ../../Common/Minimal/IntQueue.c
+
+${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" -o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ../../Common/Minimal/GenQTest.c
+
+${OBJECTDIR}/_ext/1472/main.o: ../main.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main.o.d" -o ${OBJECTDIR}/_ext/1472/main.o ../main.c
+
+${OBJECTDIR}/_ext/809743516/ParTest.o: ../ParTest/ParTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/809743516
+ @${RM} ${OBJECTDIR}/_ext/809743516/ParTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/809743516/ParTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/809743516/ParTest.o.d" -o ${OBJECTDIR}/_ext/809743516/ParTest.o ../ParTest/ParTest.c
+
+${OBJECTDIR}/_ext/1472/lcd.o: ../lcd.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/lcd.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/lcd.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/lcd.o.d" -o ${OBJECTDIR}/_ext/1472/lcd.o ../lcd.c
+
+${OBJECTDIR}/_ext/821501661/serial.o: ../serial/serial.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial.o.d" -o ${OBJECTDIR}/_ext/821501661/serial.o ../serial/serial.c
+
+${OBJECTDIR}/_ext/1472/timertest.o: ../timertest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest.o.d" -o ${OBJECTDIR}/_ext/1472/timertest.o ../timertest.c
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer.o: ../IntQueueTimer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ../IntQueueTimer.c
+
+${OBJECTDIR}/_ext/1472/printf-stdarg.o: ../printf-stdarg.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" -o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ../printf-stdarg.c
+
+${OBJECTDIR}/_ext/1163846883/flash_timer.o: ../../Common/Minimal/flash_timer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" -o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ../../Common/Minimal/flash_timer.c
+
+${OBJECTDIR}/_ext/1472/main_blinky.o: ../main_blinky.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_blinky.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_blinky.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_blinky.o.d" -o ${OBJECTDIR}/_ext/1472/main_blinky.o ../main_blinky.c
+
+${OBJECTDIR}/_ext/1472/main_full.o: ../main_full.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_full.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_full.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_full.o.d" -o ${OBJECTDIR}/_ext/1472/main_full.o ../main_full.c
+
+${OBJECTDIR}/_ext/449926602/timers.o: ../../../Source/timers.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/timers.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/timers.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_REAL_ICE=1 -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/timers.o.d" -o ${OBJECTDIR}/_ext/449926602/timers.o ../../../Source/timers.c
+
+else
+${OBJECTDIR}/_ext/332309696/port.o: ../../../Source/portable/MPLAB/PIC32MX/port.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/332309696
+ @${RM} ${OBJECTDIR}/_ext/332309696/port.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/332309696/port.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/332309696/port.o.d" -o ${OBJECTDIR}/_ext/332309696/port.o ../../../Source/portable/MPLAB/PIC32MX/port.c
+
+${OBJECTDIR}/_ext/449926602/queue.o: ../../../Source/queue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/queue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/queue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/queue.o.d" -o ${OBJECTDIR}/_ext/449926602/queue.o ../../../Source/queue.c
+
+${OBJECTDIR}/_ext/449926602/tasks.o: ../../../Source/tasks.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/tasks.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/tasks.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/tasks.o.d" -o ${OBJECTDIR}/_ext/449926602/tasks.o ../../../Source/tasks.c
+
+${OBJECTDIR}/_ext/449926602/list.o: ../../../Source/list.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/list.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/list.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/list.o.d" -o ${OBJECTDIR}/_ext/449926602/list.o ../../../Source/list.c
+
+${OBJECTDIR}/_ext/1884096877/heap_2.o: ../../../Source/portable/MemMang/heap_2.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1884096877
+ @${RM} ${OBJECTDIR}/_ext/1884096877/heap_2.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1884096877/heap_2.o.d" -o ${OBJECTDIR}/_ext/1884096877/heap_2.o ../../../Source/portable/MemMang/heap_2.c
+
+${OBJECTDIR}/_ext/1163846883/blocktim.o: ../../Common/Minimal/blocktim.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/blocktim.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/blocktim.o.d" -o ${OBJECTDIR}/_ext/1163846883/blocktim.o ../../Common/Minimal/blocktim.c
+
+${OBJECTDIR}/_ext/1163846883/comtest.o: ../../Common/Minimal/comtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/comtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/comtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/comtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/comtest.o ../../Common/Minimal/comtest.c
+
+${OBJECTDIR}/_ext/1163846883/semtest.o: ../../Common/Minimal/semtest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/semtest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/semtest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/semtest.o.d" -o ${OBJECTDIR}/_ext/1163846883/semtest.o ../../Common/Minimal/semtest.c
+
+${OBJECTDIR}/_ext/1163846883/QPeek.o: ../../Common/Minimal/QPeek.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/QPeek.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/QPeek.o.d" -o ${OBJECTDIR}/_ext/1163846883/QPeek.o ../../Common/Minimal/QPeek.c
+
+${OBJECTDIR}/_ext/1163846883/IntQueue.o: ../../Common/Minimal/IntQueue.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/IntQueue.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/IntQueue.o.d" -o ${OBJECTDIR}/_ext/1163846883/IntQueue.o ../../Common/Minimal/IntQueue.c
+
+${OBJECTDIR}/_ext/1163846883/GenQTest.o: ../../Common/Minimal/GenQTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/GenQTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/GenQTest.o.d" -o ${OBJECTDIR}/_ext/1163846883/GenQTest.o ../../Common/Minimal/GenQTest.c
+
+${OBJECTDIR}/_ext/1472/main.o: ../main.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main.o.d" -o ${OBJECTDIR}/_ext/1472/main.o ../main.c
+
+${OBJECTDIR}/_ext/809743516/ParTest.o: ../ParTest/ParTest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/809743516
+ @${RM} ${OBJECTDIR}/_ext/809743516/ParTest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/809743516/ParTest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/809743516/ParTest.o.d" -o ${OBJECTDIR}/_ext/809743516/ParTest.o ../ParTest/ParTest.c
+
+${OBJECTDIR}/_ext/1472/lcd.o: ../lcd.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/lcd.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/lcd.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/lcd.o.d" -o ${OBJECTDIR}/_ext/1472/lcd.o ../lcd.c
+
+${OBJECTDIR}/_ext/821501661/serial.o: ../serial/serial.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/821501661
+ @${RM} ${OBJECTDIR}/_ext/821501661/serial.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/821501661/serial.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/821501661/serial.o.d" -o ${OBJECTDIR}/_ext/821501661/serial.o ../serial/serial.c
+
+${OBJECTDIR}/_ext/1472/timertest.o: ../timertest.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/timertest.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/timertest.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/timertest.o.d" -o ${OBJECTDIR}/_ext/1472/timertest.o ../timertest.c
+
+${OBJECTDIR}/_ext/1472/IntQueueTimer.o: ../IntQueueTimer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/IntQueueTimer.o.d" -o ${OBJECTDIR}/_ext/1472/IntQueueTimer.o ../IntQueueTimer.c
+
+${OBJECTDIR}/_ext/1472/printf-stdarg.o: ../printf-stdarg.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/printf-stdarg.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/printf-stdarg.o.d" -o ${OBJECTDIR}/_ext/1472/printf-stdarg.o ../printf-stdarg.c
+
+${OBJECTDIR}/_ext/1163846883/flash_timer.o: ../../Common/Minimal/flash_timer.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1163846883
+ @${RM} ${OBJECTDIR}/_ext/1163846883/flash_timer.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1163846883/flash_timer.o.d" -o ${OBJECTDIR}/_ext/1163846883/flash_timer.o ../../Common/Minimal/flash_timer.c
+
+${OBJECTDIR}/_ext/1472/main_blinky.o: ../main_blinky.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_blinky.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_blinky.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_blinky.o.d" -o ${OBJECTDIR}/_ext/1472/main_blinky.o ../main_blinky.c
+
+${OBJECTDIR}/_ext/1472/main_full.o: ../main_full.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/1472
+ @${RM} ${OBJECTDIR}/_ext/1472/main_full.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/1472/main_full.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/1472/main_full.o.d" -o ${OBJECTDIR}/_ext/1472/main_full.o ../main_full.c
+
+${OBJECTDIR}/_ext/449926602/timers.o: ../../../Source/timers.c nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} ${OBJECTDIR}/_ext/449926602
+ @${RM} ${OBJECTDIR}/_ext/449926602/timers.o.d
+ @${FIXDEPS} "${OBJECTDIR}/_ext/449926602/timers.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -ffunction-sections -I"../" -I"../../Common/include" -I"../../../Source/include" -I"../../../Source/portable/MPLAB/PIC32MX" -I"../../../../Source/portable/MPLAB/PIC32MX" -MMD -MF "${OBJECTDIR}/_ext/449926602/timers.o.d" -o ${OBJECTDIR}/_ext/449926602/timers.o ../../../Source/timers.c
+
+endif
+
+# ------------------------------------------------------------------------------------
+# Rules for buildStep: link
+ifeq ($(TYPE_IMAGE), DEBUG_RUN)
+dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -mdebugger -D__MPLAB_DEBUGGER_REAL_ICE=1 -mprocessor=$(MP_PROCESSOR_OPTION) -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--defsym=__MPLAB_DEBUG=1,--defsym=__ICD2RAM=1,--defsym=__DEBUG=1,--defsym=__MPLAB_DEBUGGER_REAL_ICE=1,--gc-sections
+else
+dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
+ @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
+ ${MP_CC} $(MP_EXTRA_LD_PRE) -mprocessor=$(MP_PROCESSOR_OPTION) -o dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED} -Wl,--defsym=__MPLAB_BUILD=1$(MP_EXTRA_LD_POST)$(MP_LINKER_FILE_OPTION),--gc-sections
+ ${MP_CC_DIR}\\xc32-bin2hex dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}
+endif
+
+
+# Subprojects
+.build-subprojects:
+
+
+# Subprojects
+.clean-subprojects:
+
+# Clean Targets
+.clean-conf: ${CLEAN_SUBPROJECTS}
+ ${RM} -r build/EXPLORER_16_PIC32MX795
+ ${RM} -r dist/EXPLORER_16_PIC32MX795
+
+# Enable dependency checking
+.dep.inc: .depcheck-impl
+
+DEPFILES=$(shell mplabwildcard ${POSSIBLE_DEPFILES})
+ifneq (${DEPFILES},)
+include ${DEPFILES}
+endif
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties
new file mode 100644
index 000000000..dae0a1581
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-genesis.properties
@@ -0,0 +1,14 @@
+#
+#Tue May 08 15:07:25 BST 2012
+EXPLORER_16_PIC32MX795.languagetoolchain.dir=C\:\\devtools\\Microchip\\xc32\\v1.00\\bin
+conf.ids=EXPLORER_16_PIC32MX360,EXPLORER_16_PIC32MX460,EXPLORER_16_PIC32MX795
+EXPLORER_16_PIC32MX460.languagetoolchain.dir=C\:\\devtools\\Microchip\\xc32\\v1.00\\bin
+EXPLORER_16_PIC32MX460.languagetoolchain.version=1.00
+EXPLORER_16_PIC32MX795.languagetoolchain.version=1.00
+EXPLORER_16_PIC32MX460.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=cb898dcf3b34ec81df6dc777105d00b0
+com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=0721942c201c5766886fb5f147185a2e
+EXPLORER_16_PIC32MX795.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=cb898dcf3b34ec81df6dc777105d00b0
+EXPLORER_16_PIC32MX360.languagetoolchain.version=1.00
+EXPLORER_16_PIC32MX360.languagetoolchain.dir=C\:\\devtools\\Microchip\\xc32\\v1.00\\bin
+EXPLORER_16_PIC32MX360.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=cb898dcf3b34ec81df6dc777105d00b0
+host.platform=windows
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk
new file mode 100644
index 000000000..9c0c861f6
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-impl.mk
@@ -0,0 +1,73 @@
+#
+# Generated Makefile - do not edit!
+#
+# Edit the Makefile in the project folder instead (../Makefile). Each target
+# has a pre- and a post- target defined where you can add customization code.
+#
+# This makefile implements macros and targets common to all configurations.
+#
+# NOCDDL
+
+
+# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
+# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
+# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
+# and .clean-reqprojects-conf unless SUB has the value 'no'
+SUB_no=NO
+SUBPROJECTS=${SUB_${SUB}}
+BUILD_SUBPROJECTS_=.build-subprojects
+BUILD_SUBPROJECTS_NO=
+BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
+CLEAN_SUBPROJECTS_=.clean-subprojects
+CLEAN_SUBPROJECTS_NO=
+CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
+
+
+# Project Name
+PROJECTNAME=RTOSDemo.X
+
+# Active Configuration
+DEFAULTCONF=EXPLORER_16_PIC32MX360
+CONF=${DEFAULTCONF}
+
+# All Configurations
+ALLCONFS=EXPLORER_16_PIC32MX360 EXPLORER_16_PIC32MX460 EXPLORER_16_PIC32MX795
+
+
+# build
+.build-impl: .build-pre
+ ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf
+
+
+# clean
+.clean-impl: .clean-pre
+ ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf
+
+# clobber
+.clobber-impl: .clobber-pre .depcheck-impl
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=EXPLORER_16_PIC32MX360 clean
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=EXPLORER_16_PIC32MX460 clean
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=EXPLORER_16_PIC32MX795 clean
+
+
+
+# all
+.all-impl: .all-pre .depcheck-impl
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=EXPLORER_16_PIC32MX360 build
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=EXPLORER_16_PIC32MX460 build
+ ${MAKE} SUBPROJECTS=${SUBPROJECTS} CONF=EXPLORER_16_PIC32MX795 build
+
+
+
+# dependency checking support
+.depcheck-impl:
+# @echo "# This code depends on make tool being used" >.dep.inc
+# @if [ -n "${MAKE_VERSION}" ]; then \
+# echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
+# echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
+# echo "include \$${DEPFILES}" >>.dep.inc; \
+# echo "endif" >>.dep.inc; \
+# else \
+# echo ".KEEP_STATE:" >>.dep.inc; \
+# echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
+# fi
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk
new file mode 100644
index 000000000..581d2bfba
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX360.mk
@@ -0,0 +1,35 @@
+#
+# Generated Makefile - do not edit!
+#
+#
+# This file contains information about the location of compilers and other tools.
+# If you commmit this file into your revision control server, you will be able to
+# to checkout the project and build it from the command line with make. However,
+# if more than one person works on the same project, then this file might show
+# conflicts since different users are bound to have compilers in different places.
+# In that case you might choose to not commit this file and let MPLAB X recreate this file
+# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
+# least once so the file gets created and the project can be built. Finally, you can also
+# avoid using this file at all if you are only building from the command line with make.
+# You can invoke make with the values of the macros:
+# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
+#
+SHELL=cmd.exe
+PATH_TO_IDE_BIN=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/
+# Adding MPLAB X bin directory to path.
+PATH:=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
+# Path to java used to run MPLAB X when this makefile was created
+MP_JAVA_PATH="C:\Program Files\Java\jre6/bin/"
+OS_CURRENT="$(shell uname -s)"
+MP_CC="C:\devtools\Microchip\xc32\v1.00\bin\xc32-gcc.exe"
+# MP_BC is not defined
+MP_AS="C:\devtools\Microchip\xc32\v1.00\bin\xc32-as.exe"
+MP_LD="C:\devtools\Microchip\xc32\v1.00\bin\xc32-ld.exe"
+MP_AR="C:\devtools\Microchip\xc32\v1.00\bin\xc32-ar.exe"
+DEP_GEN=${MP_JAVA_PATH}java -jar "C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+# MP_BC_DIR is not defined
+MP_AS_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+MP_LD_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+MP_AR_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+# MP_BC_DIR is not defined
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk
new file mode 100644
index 000000000..581d2bfba
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX460.mk
@@ -0,0 +1,35 @@
+#
+# Generated Makefile - do not edit!
+#
+#
+# This file contains information about the location of compilers and other tools.
+# If you commmit this file into your revision control server, you will be able to
+# to checkout the project and build it from the command line with make. However,
+# if more than one person works on the same project, then this file might show
+# conflicts since different users are bound to have compilers in different places.
+# In that case you might choose to not commit this file and let MPLAB X recreate this file
+# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
+# least once so the file gets created and the project can be built. Finally, you can also
+# avoid using this file at all if you are only building from the command line with make.
+# You can invoke make with the values of the macros:
+# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
+#
+SHELL=cmd.exe
+PATH_TO_IDE_BIN=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/
+# Adding MPLAB X bin directory to path.
+PATH:=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
+# Path to java used to run MPLAB X when this makefile was created
+MP_JAVA_PATH="C:\Program Files\Java\jre6/bin/"
+OS_CURRENT="$(shell uname -s)"
+MP_CC="C:\devtools\Microchip\xc32\v1.00\bin\xc32-gcc.exe"
+# MP_BC is not defined
+MP_AS="C:\devtools\Microchip\xc32\v1.00\bin\xc32-as.exe"
+MP_LD="C:\devtools\Microchip\xc32\v1.00\bin\xc32-ld.exe"
+MP_AR="C:\devtools\Microchip\xc32\v1.00\bin\xc32-ar.exe"
+DEP_GEN=${MP_JAVA_PATH}java -jar "C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+# MP_BC_DIR is not defined
+MP_AS_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+MP_LD_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+MP_AR_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+# MP_BC_DIR is not defined
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk
new file mode 100644
index 000000000..581d2bfba
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-local-EXPLORER_16_PIC32MX795.mk
@@ -0,0 +1,35 @@
+#
+# Generated Makefile - do not edit!
+#
+#
+# This file contains information about the location of compilers and other tools.
+# If you commmit this file into your revision control server, you will be able to
+# to checkout the project and build it from the command line with make. However,
+# if more than one person works on the same project, then this file might show
+# conflicts since different users are bound to have compilers in different places.
+# In that case you might choose to not commit this file and let MPLAB X recreate this file
+# for each user. The disadvantage of not commiting this file is that you must run MPLAB X at
+# least once so the file gets created and the project can be built. Finally, you can also
+# avoid using this file at all if you are only building from the command line with make.
+# You can invoke make with the values of the macros:
+# $ makeMP_CC="/opt/microchip/mplabc30/v3.30c/bin/pic30-gcc" ...
+#
+SHELL=cmd.exe
+PATH_TO_IDE_BIN=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/
+# Adding MPLAB X bin directory to path.
+PATH:=C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/:$(PATH)
+# Path to java used to run MPLAB X when this makefile was created
+MP_JAVA_PATH="C:\Program Files\Java\jre6/bin/"
+OS_CURRENT="$(shell uname -s)"
+MP_CC="C:\devtools\Microchip\xc32\v1.00\bin\xc32-gcc.exe"
+# MP_BC is not defined
+MP_AS="C:\devtools\Microchip\xc32\v1.00\bin\xc32-as.exe"
+MP_LD="C:\devtools\Microchip\xc32\v1.00\bin\xc32-ld.exe"
+MP_AR="C:\devtools\Microchip\xc32\v1.00\bin\xc32-ar.exe"
+DEP_GEN=${MP_JAVA_PATH}java -jar "C:/devtools/Microchip/MPLABX/mplab_ide/mplab_ide/modules/../../bin/extractobjectdependencies.jar"
+MP_CC_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+# MP_BC_DIR is not defined
+MP_AS_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+MP_LD_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+MP_AR_DIR="C:\devtools\Microchip\xc32\v1.00\bin"
+# MP_BC_DIR is not defined
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk
new file mode 100644
index 000000000..c3b4313f6
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Makefile-variables.mk
@@ -0,0 +1,27 @@
+#
+# Generated - do not edit!
+#
+# NOCDDL
+#
+CND_BASEDIR=`pwd`
+# EXPLORER_16_PIC32MX360 configuration
+CND_ARTIFACT_DIR_EXPLORER_16_PIC32MX360=dist/EXPLORER_16_PIC32MX360/production
+CND_ARTIFACT_NAME_EXPLORER_16_PIC32MX360=RTOSDemo.X.production.hex
+CND_ARTIFACT_PATH_EXPLORER_16_PIC32MX360=dist/EXPLORER_16_PIC32MX360/production/RTOSDemo.X.production.hex
+CND_PACKAGE_DIR_EXPLORER_16_PIC32MX360=${CND_DISTDIR}/EXPLORER_16_PIC32MX360/package
+CND_PACKAGE_NAME_EXPLORER_16_PIC32MX360=rtosdemo.x.tar
+CND_PACKAGE_PATH_EXPLORER_16_PIC32MX360=${CND_DISTDIR}/EXPLORER_16_PIC32MX360/package/rtosdemo.x.tar
+# EXPLORER_16_PIC32MX460 configuration
+CND_ARTIFACT_DIR_EXPLORER_16_PIC32MX460=dist/EXPLORER_16_PIC32MX460/production
+CND_ARTIFACT_NAME_EXPLORER_16_PIC32MX460=RTOSDemo.X.production.hex
+CND_ARTIFACT_PATH_EXPLORER_16_PIC32MX460=dist/EXPLORER_16_PIC32MX460/production/RTOSDemo.X.production.hex
+CND_PACKAGE_DIR_EXPLORER_16_PIC32MX460=${CND_DISTDIR}/EXPLORER_16_PIC32MX460/package
+CND_PACKAGE_NAME_EXPLORER_16_PIC32MX460=rtosdemo.x.tar
+CND_PACKAGE_PATH_EXPLORER_16_PIC32MX460=${CND_DISTDIR}/EXPLORER_16_PIC32MX460/package/rtosdemo.x.tar
+# EXPLORER_16_PIC32MX795 configuration
+CND_ARTIFACT_DIR_EXPLORER_16_PIC32MX795=dist/EXPLORER_16_PIC32MX795/production
+CND_ARTIFACT_NAME_EXPLORER_16_PIC32MX795=RTOSDemo.X.production.hex
+CND_ARTIFACT_PATH_EXPLORER_16_PIC32MX795=dist/EXPLORER_16_PIC32MX795/production/RTOSDemo.X.production.hex
+CND_PACKAGE_DIR_EXPLORER_16_PIC32MX795=${CND_DISTDIR}/EXPLORER_16_PIC32MX795/package
+CND_PACKAGE_NAME_EXPLORER_16_PIC32MX795=rtosdemo.x.tar
+CND_PACKAGE_PATH_EXPLORER_16_PIC32MX795=${CND_DISTDIR}/EXPLORER_16_PIC32MX795/package/rtosdemo.x.tar
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX360.bash b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX360.bash
new file mode 100644
index 000000000..df77b2f0e
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX360.bash
@@ -0,0 +1,73 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_CONF=EXPLORER_16_PIC32MX360
+CND_DISTDIR=dist
+TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+OUTPUT_BASENAME=RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+PACKAGE_TOP_DIR=rtosdemo.x/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/package
+rm -rf ${TMPDIR}
+mkdir -p ${TMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory ${TMPDIR}/rtosdemo.x/bin
+copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/package/rtosdemo.x.tar
+cd ${TMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/rtosdemo.x.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${TMPDIR}
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX460.bash b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX460.bash
new file mode 100644
index 000000000..cc2546cc1
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX460.bash
@@ -0,0 +1,73 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_CONF=EXPLORER_16_PIC32MX460
+CND_DISTDIR=dist
+TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+OUTPUT_BASENAME=RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+PACKAGE_TOP_DIR=rtosdemo.x/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/package
+rm -rf ${TMPDIR}
+mkdir -p ${TMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory ${TMPDIR}/rtosdemo.x/bin
+copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/package/rtosdemo.x.tar
+cd ${TMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/rtosdemo.x.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${TMPDIR}
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX795.bash b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX795.bash
new file mode 100644
index 000000000..4ccabcc3f
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/Package-EXPLORER_16_PIC32MX795.bash
@@ -0,0 +1,73 @@
+#!/bin/bash -x
+
+#
+# Generated - do not edit!
+#
+
+# Macros
+TOP=`pwd`
+CND_CONF=EXPLORER_16_PIC32MX795
+CND_DISTDIR=dist
+TMPDIR=build/${CND_CONF}/${IMAGE_TYPE}/tmp-packaging
+TMPDIRNAME=tmp-packaging
+OUTPUT_PATH=dist/${CND_CONF}/${IMAGE_TYPE}/RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+OUTPUT_BASENAME=RTOSDemo.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
+PACKAGE_TOP_DIR=rtosdemo.x/
+
+# Functions
+function checkReturnCode
+{
+ rc=$?
+ if [ $rc != 0 ]
+ then
+ exit $rc
+ fi
+}
+function makeDirectory
+# $1 directory path
+# $2 permission (optional)
+{
+ mkdir -p "$1"
+ checkReturnCode
+ if [ "$2" != "" ]
+ then
+ chmod $2 "$1"
+ checkReturnCode
+ fi
+}
+function copyFileToTmpDir
+# $1 from-file path
+# $2 to-file path
+# $3 permission
+{
+ cp "$1" "$2"
+ checkReturnCode
+ if [ "$3" != "" ]
+ then
+ chmod $3 "$2"
+ checkReturnCode
+ fi
+}
+
+# Setup
+cd "${TOP}"
+mkdir -p ${CND_DISTDIR}/${CND_CONF}/package
+rm -rf ${TMPDIR}
+mkdir -p ${TMPDIR}
+
+# Copy files and create directories and links
+cd "${TOP}"
+makeDirectory ${TMPDIR}/rtosdemo.x/bin
+copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
+
+
+# Generate tar file
+cd "${TOP}"
+rm -f ${CND_DISTDIR}/${CND_CONF}/package/rtosdemo.x.tar
+cd ${TMPDIR}
+tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/package/rtosdemo.x.tar *
+checkReturnCode
+
+# Cleanup
+cd "${TOP}"
+rm -rf ${TMPDIR}
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/configurations.xml b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/configurations.xml
new file mode 100644
index 000000000..ecbd3c3fe
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/configurations.xml
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="62">
+ <logicalFolder name="root" displayName="root" projectFiles="true">
+ <logicalFolder name="HeaderFiles"
+ displayName="Header Files"
+ projectFiles="true">
+ <logicalFolder name="f1" displayName="FreeRTOS Source" projectFiles="true">
+ <itemPath>../../../Source/portable/MPLAB/PIC32MX/portmacro.h</itemPath>
+ <itemPath>../../../Source/include/portable.h</itemPath>
+ <itemPath>../../../Source/include/task.h</itemPath>
+ <itemPath>../../../Source/include/croutine.h</itemPath>
+ <itemPath>../../../Source/include/FreeRTOS.h</itemPath>
+ <itemPath>../../../Source/include/list.h</itemPath>
+ <itemPath>../../../Source/include/projdefs.h</itemPath>
+ <itemPath>../../../Source/include/queue.h</itemPath>
+ <itemPath>../../../Source/include/semphr.h</itemPath>
+ </logicalFolder>
+ <itemPath>../FreeRTOSConfig.h</itemPath>
+ </logicalFolder>
+ <logicalFolder name="LinkerScript"
+ displayName="Linker Files"
+ projectFiles="true">
+ </logicalFolder>
+ <logicalFolder name="SourceFiles"
+ displayName="Source Files"
+ projectFiles="true">
+ <logicalFolder name="FreeRTOS Source"
+ displayName="FreeRTOS Source"
+ projectFiles="true">
+ <itemPath>../../../Source/portable/MPLAB/PIC32MX/port.c</itemPath>
+ <itemPath>../../../Source/portable/MPLAB/PIC32MX/port_asm.S</itemPath>
+ <itemPath>../../../Source/queue.c</itemPath>
+ <itemPath>../../../Source/tasks.c</itemPath>
+ <itemPath>../../../Source/list.c</itemPath>
+ <itemPath>../../../Source/portable/MemMang/heap_2.c</itemPath>
+ <itemPath>../../../Source/timers.c</itemPath>
+ </logicalFolder>
+ <logicalFolder name="Standard Demo Source"
+ displayName="Standard Demo Source"
+ projectFiles="true">
+ <itemPath>../../Common/Minimal/blocktim.c</itemPath>
+ <itemPath>../../Common/Minimal/comtest.c</itemPath>
+ <itemPath>../../Common/Minimal/semtest.c</itemPath>
+ <itemPath>../../Common/Minimal/QPeek.c</itemPath>
+ <itemPath>../../Common/Minimal/IntQueue.c</itemPath>
+ <itemPath>../../Common/Minimal/GenQTest.c</itemPath>
+ <itemPath>../../Common/Minimal/flash_timer.c</itemPath>
+ </logicalFolder>
+ <itemPath>../main.c</itemPath>
+ <itemPath>../ParTest/ParTest.c</itemPath>
+ <itemPath>../RegisterTestTasks.S</itemPath>
+ <itemPath>../lcd.c</itemPath>
+ <itemPath>../serial/serial.c</itemPath>
+ <itemPath>../serial/serial_isr.S</itemPath>
+ <itemPath>../timertest.c</itemPath>
+ <itemPath>../timertest_isr.S</itemPath>
+ <itemPath>../IntQueueTimer.c</itemPath>
+ <itemPath>../IntQueueTimer_isr.S</itemPath>
+ <itemPath>../printf-stdarg.c</itemPath>
+ <itemPath>../main_blinky.c</itemPath>
+ <itemPath>../main_full.c</itemPath>
+ </logicalFolder>
+ <logicalFolder name="ExternalFiles"
+ displayName="Important Files"
+ projectFiles="false">
+ <itemPath>Makefile</itemPath>
+ </logicalFolder>
+ </logicalFolder>
+ <sourceRootList>
+ <Elem>../</Elem>
+ </sourceRootList>
+ <projectmakefile>Makefile</projectmakefile>
+ <confs>
+ <conf name="EXPLORER_16_PIC32MX360" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <targetDevice>PIC32MX360F512L</targetDevice>
+ <targetHeader></targetHeader>
+ <platformTool>RealICEPlatformTool</platformTool>
+ <languageToolchain>XC32</languageToolchain>
+ <languageToolchainVersion>1.00</languageToolchainVersion>
+ <platform>3</platform>
+ </toolsSet>
+ <compileType>
+ <linkerTool>
+ <linkerLibItems>
+ </linkerLibItems>
+ </linkerTool>
+ </compileType>
+ <makeCustomizationType>
+ <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+ <makeCustomizationPreStep></makeCustomizationPreStep>
+ <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+ <makeCustomizationPostStep></makeCustomizationPostStep>
+ <makeCustomizationAlternativeFileToLoadEnabled>false</makeCustomizationAlternativeFileToLoadEnabled>
+ <makeCustomizationAlternativeFileToLoad></makeCustomizationAlternativeFileToLoad>
+ <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+ </makeCustomizationType>
+ <RealICEPlatformTool>
+ <property key="tracecontrol.disablemacros" value="true"/>
+ <property key="tracecontrol.medium" value="0"/>
+ <property key="tracecontrol.select" value="0"/>
+ </RealICEPlatformTool>
+ <XC32>
+ <property key="additional-warnings" value="false"/>
+ <property key="enable-app-io" value="false"/>
+ <property key="enable-omit-frame-pointer" value="false"/>
+ <property key="enable-symbols" value="true"/>
+ <property key="enable-unroll-loops" value="false"/>
+ <property key="exclude-floating-point" value="false"/>
+ <property key="extra-include-directories"
+ value="../;../../Common/include;../../../Source/include;../../../Source/portable/MPLAB/PIC32MX;../../../../Source/portable/MPLAB/PIC32MX"/>
+ <property key="generate-16-bit-code" value="false"/>
+ <property key="isolate-each-function" value="true"/>
+ <property key="make-warnings-into-errors" value="false"/>
+ <property key="optimization-level" value=""/>
+ <property key="place-data-into-section" value="false"/>
+ <property key="post-instruction-scheduling" value="default"/>
+ <property key="pre-instruction-scheduling" value="default"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="strict-ansi" value="false"/>
+ <property key="support-ansi" value="false"/>
+ <property key="use-indirect-calls" value="false"/>
+ </XC32>
+ <XC32-AS>
+ <property key="assembler-symbols" value=""/>
+ <property key="enable-symbols" value="true"/>
+ <property key="exclude-floating-point-library" value="false"/>
+ <property key="expand-macros" value="false"/>
+ <property key="extra-include-directories-for-assembler" value=""/>
+ <property key="extra-include-directories-for-preprocessor"
+ value="../;../../../Source/portable/MPLAB/PIC32MX"/>
+ <property key="false-conditionals" value="false"/>
+ <property key="keep-locals" value="false"/>
+ <property key="list-assembly" value="false"/>
+ <property key="list-file" value=""/>
+ <property key="list-section-info" value="false"/>
+ <property key="list-source" value="false"/>
+ <property key="list-symbols" value="false"/>
+ <property key="omit-debug-dirs" value="false"/>
+ <property key="omit-forms" value="false"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="warning-level" value=""/>
+ </XC32-AS>
+ <XC32-LD>
+ <property key="enable-check-sections" value="false"/>
+ <property key="exclude-floating-point-library" value="false"/>
+ <property key="exclude-standard-libraries" value="false"/>
+ <property key="extra-lib-directories" value=""/>
+ <property key="generate-16-bit-code" value="false"/>
+ <property key="generate-cross-reference-file" value="false"/>
+ <property key="heap-size" value=""/>
+ <property key="input-libraries" value=""/>
+ <property key="linker-symbols" value=""/>
+ <property key="map-file" value=""/>
+ <property key="no-startup-files" value="false"/>
+ <property key="optimization-level" value=""/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="remove-unused-sections" value="true"/>
+ <property key="report-memory-usage" value="false"/>
+ <property key="stack-size" value=""/>
+ <property key="symbol-stripping" value=""/>
+ <property key="trace-symbols" value=""/>
+ <property key="warn-section-align" value="false"/>
+ </XC32-LD>
+ <XC32Global>
+ <property key="legacy-libc" value="false"/>
+ </XC32Global>
+ </conf>
+ <conf name="EXPLORER_16_PIC32MX460" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <targetDevice>PIC32MX460F512L</targetDevice>
+ <targetHeader></targetHeader>
+ <platformTool>ICD3PlatformTool</platformTool>
+ <languageToolchain>XC32</languageToolchain>
+ <languageToolchainVersion>1.00</languageToolchainVersion>
+ <platform>3</platform>
+ </toolsSet>
+ <compileType>
+ <linkerTool>
+ <linkerLibItems>
+ </linkerLibItems>
+ </linkerTool>
+ </compileType>
+ <makeCustomizationType>
+ <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+ <makeCustomizationPreStep></makeCustomizationPreStep>
+ <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+ <makeCustomizationPostStep></makeCustomizationPostStep>
+ <makeCustomizationAlternativeFileToLoadEnabled>false</makeCustomizationAlternativeFileToLoadEnabled>
+ <makeCustomizationAlternativeFileToLoad></makeCustomizationAlternativeFileToLoad>
+ <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+ </makeCustomizationType>
+ <RealICEPlatformTool>
+ <property key="tracecontrol.disablemacros" value="true"/>
+ <property key="tracecontrol.medium" value="0"/>
+ <property key="tracecontrol.select" value="0"/>
+ </RealICEPlatformTool>
+ <XC32>
+ <property key="additional-warnings" value="false"/>
+ <property key="enable-app-io" value="false"/>
+ <property key="enable-omit-frame-pointer" value="false"/>
+ <property key="enable-symbols" value="true"/>
+ <property key="enable-unroll-loops" value="false"/>
+ <property key="exclude-floating-point" value="false"/>
+ <property key="extra-include-directories"
+ value="../;../../Common/include;../../../Source/include;../../../Source/portable/MPLAB/PIC32MX;../../../../Source/portable/MPLAB/PIC32MX"/>
+ <property key="generate-16-bit-code" value="false"/>
+ <property key="isolate-each-function" value="true"/>
+ <property key="make-warnings-into-errors" value="false"/>
+ <property key="optimization-level" value=""/>
+ <property key="place-data-into-section" value="false"/>
+ <property key="post-instruction-scheduling" value="default"/>
+ <property key="pre-instruction-scheduling" value="default"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="strict-ansi" value="false"/>
+ <property key="support-ansi" value="false"/>
+ <property key="use-indirect-calls" value="false"/>
+ </XC32>
+ <XC32-AS>
+ <property key="assembler-symbols" value=""/>
+ <property key="enable-symbols" value="true"/>
+ <property key="exclude-floating-point-library" value="false"/>
+ <property key="expand-macros" value="false"/>
+ <property key="extra-include-directories-for-assembler" value=""/>
+ <property key="extra-include-directories-for-preprocessor"
+ value="../;../../../Source/portable/MPLAB/PIC32MX"/>
+ <property key="false-conditionals" value="false"/>
+ <property key="keep-locals" value="false"/>
+ <property key="list-assembly" value="false"/>
+ <property key="list-file" value=""/>
+ <property key="list-section-info" value="false"/>
+ <property key="list-source" value="false"/>
+ <property key="list-symbols" value="false"/>
+ <property key="omit-debug-dirs" value="false"/>
+ <property key="omit-forms" value="false"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="warning-level" value=""/>
+ </XC32-AS>
+ <XC32-LD>
+ <property key="enable-check-sections" value="false"/>
+ <property key="exclude-floating-point-library" value="false"/>
+ <property key="exclude-standard-libraries" value="false"/>
+ <property key="extra-lib-directories" value=""/>
+ <property key="generate-16-bit-code" value="false"/>
+ <property key="generate-cross-reference-file" value="false"/>
+ <property key="heap-size" value=""/>
+ <property key="input-libraries" value=""/>
+ <property key="linker-symbols" value=""/>
+ <property key="map-file" value=""/>
+ <property key="no-startup-files" value="false"/>
+ <property key="optimization-level" value=""/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="remove-unused-sections" value="true"/>
+ <property key="report-memory-usage" value="false"/>
+ <property key="stack-size" value=""/>
+ <property key="symbol-stripping" value=""/>
+ <property key="trace-symbols" value=""/>
+ <property key="warn-section-align" value="false"/>
+ </XC32-LD>
+ <XC32Global>
+ <property key="legacy-libc" value="false"/>
+ </XC32Global>
+ </conf>
+ <conf name="EXPLORER_16_PIC32MX795" type="2">
+ <toolsSet>
+ <developmentServer>localhost</developmentServer>
+ <targetDevice>PIC32MX795F512L</targetDevice>
+ <targetHeader></targetHeader>
+ <platformTool>RealICEPlatformTool</platformTool>
+ <languageToolchain>XC32</languageToolchain>
+ <languageToolchainVersion>1.00</languageToolchainVersion>
+ <platform>3</platform>
+ </toolsSet>
+ <compileType>
+ <linkerTool>
+ <linkerLibItems>
+ </linkerLibItems>
+ </linkerTool>
+ </compileType>
+ <makeCustomizationType>
+ <makeCustomizationPreStepEnabled>false</makeCustomizationPreStepEnabled>
+ <makeCustomizationPreStep></makeCustomizationPreStep>
+ <makeCustomizationPostStepEnabled>false</makeCustomizationPostStepEnabled>
+ <makeCustomizationPostStep></makeCustomizationPostStep>
+ <makeCustomizationAlternativeFileToLoadEnabled>false</makeCustomizationAlternativeFileToLoadEnabled>
+ <makeCustomizationAlternativeFileToLoad></makeCustomizationAlternativeFileToLoad>
+ <makeCustomizationPutChecksumInUserID>false</makeCustomizationPutChecksumInUserID>
+ </makeCustomizationType>
+ <RealICEPlatformTool>
+ <property key="tracecontrol.disablemacros" value="true"/>
+ <property key="tracecontrol.medium" value="0"/>
+ <property key="tracecontrol.select" value="0"/>
+ </RealICEPlatformTool>
+ <XC32>
+ <property key="additional-warnings" value="false"/>
+ <property key="enable-app-io" value="false"/>
+ <property key="enable-omit-frame-pointer" value="false"/>
+ <property key="enable-symbols" value="true"/>
+ <property key="enable-unroll-loops" value="false"/>
+ <property key="exclude-floating-point" value="false"/>
+ <property key="extra-include-directories"
+ value="../;../../Common/include;../../../Source/include;../../../Source/portable/MPLAB/PIC32MX;../../../../Source/portable/MPLAB/PIC32MX"/>
+ <property key="generate-16-bit-code" value="false"/>
+ <property key="isolate-each-function" value="true"/>
+ <property key="make-warnings-into-errors" value="false"/>
+ <property key="optimization-level" value=""/>
+ <property key="place-data-into-section" value="false"/>
+ <property key="post-instruction-scheduling" value="default"/>
+ <property key="pre-instruction-scheduling" value="default"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="strict-ansi" value="false"/>
+ <property key="support-ansi" value="false"/>
+ <property key="use-indirect-calls" value="false"/>
+ </XC32>
+ <XC32-AS>
+ <property key="assembler-symbols" value=""/>
+ <property key="enable-symbols" value="true"/>
+ <property key="exclude-floating-point-library" value="false"/>
+ <property key="expand-macros" value="false"/>
+ <property key="extra-include-directories-for-assembler" value=""/>
+ <property key="extra-include-directories-for-preprocessor"
+ value="../;../../../Source/portable/MPLAB/PIC32MX"/>
+ <property key="false-conditionals" value="false"/>
+ <property key="keep-locals" value="false"/>
+ <property key="list-assembly" value="false"/>
+ <property key="list-file" value=""/>
+ <property key="list-section-info" value="false"/>
+ <property key="list-source" value="false"/>
+ <property key="list-symbols" value="false"/>
+ <property key="omit-debug-dirs" value="false"/>
+ <property key="omit-forms" value="false"/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="warning-level" value=""/>
+ </XC32-AS>
+ <XC32-LD>
+ <property key="enable-check-sections" value="false"/>
+ <property key="exclude-floating-point-library" value="false"/>
+ <property key="exclude-standard-libraries" value="false"/>
+ <property key="extra-lib-directories" value=""/>
+ <property key="generate-16-bit-code" value="false"/>
+ <property key="generate-cross-reference-file" value="false"/>
+ <property key="heap-size" value=""/>
+ <property key="input-libraries" value=""/>
+ <property key="linker-symbols" value=""/>
+ <property key="map-file" value=""/>
+ <property key="no-startup-files" value="false"/>
+ <property key="optimization-level" value=""/>
+ <property key="preprocessor-macros" value=""/>
+ <property key="remove-unused-sections" value="true"/>
+ <property key="report-memory-usage" value="false"/>
+ <property key="stack-size" value=""/>
+ <property key="symbol-stripping" value=""/>
+ <property key="trace-symbols" value=""/>
+ <property key="warn-section-align" value="false"/>
+ </XC32-LD>
+ <XC32Global>
+ <property key="legacy-libc" value="false"/>
+ </XC32Global>
+ </conf>
+ </confs>
+</configurationDescriptor>
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml
new file mode 100644
index 000000000..156bf1170
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/configurations.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configurationDescriptor version="62">
+ <projectmakefile>Makefile</projectmakefile>
+ <defaultConf>1</defaultConf>
+ <confs>
+ <conf name="EXPLORER_16_PIC32MX360" type="2">
+ <platformToolSN>:=MPLABCommUSB:=04D8:=9004:=0100:=Microchip Technology, Inc. (www.microchip.com):=MPLAB REAL ICE tm (www.microchip.com):=JIT092790085:=x:=en</platformToolSN>
+ <languageToolchainDir>C:\Program Files (x86)\Microchip\xc32\v1.00\bin</languageToolchainDir>
+ <mdbdebugger version="1">
+ <placeholder1>place holder 1</placeholder1>
+ <placeholder2>place holder 2</placeholder2>
+ </mdbdebugger>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ <conf name="EXPLORER_16_PIC32MX460" type="2">
+ <platformToolSN>:=MPLABCommUSB:=04D8:=9009:=0100:=Microchip Technology, Inc. (www.microchip.com):=MPLAB ICD3 tm (www.microchip.com):=JIT112942201:=x:=en</platformToolSN>
+ <languageToolchainDir>C:\Program Files (x86)\Microchip\xc32\v1.00\bin</languageToolchainDir>
+ <mdbdebugger version="1">
+ <placeholder1>place holder 1</placeholder1>
+ <placeholder2>place holder 2</placeholder2>
+ </mdbdebugger>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ <conf name="EXPLORER_16_PIC32MX795" type="2">
+ <platformToolSN>:=MPLABCommUSB:=04D8:=9004:=0100:=Microchip Technology, Inc. (www.microchip.com):=MPLAB REAL ICE tm (www.microchip.com):=JIT092790085:=x:=en</platformToolSN>
+ <languageToolchainDir>C:\Program Files (x86)\Microchip\xc32\v1.00\bin</languageToolchainDir>
+ <mdbdebugger version="1">
+ <placeholder1>place holder 1</placeholder1>
+ <placeholder2>place holder 2</placeholder2>
+ </mdbdebugger>
+ <runprofile version="6">
+ <args></args>
+ <rundir></rundir>
+ <buildfirst>true</buildfirst>
+ <console-type>0</console-type>
+ <terminal-type>0</terminal-type>
+ <remove-instrumentation>0</remove-instrumentation>
+ <environment>
+ </environment>
+ </runprofile>
+ </conf>
+ </confs>
+</configurationDescriptor>
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.properties b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.properties
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.properties
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.xml b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.xml
new file mode 100644
index 000000000..cc2c0e57c
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/private/private.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+ <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
+</project-private>
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.properties b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.properties
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.properties
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.xml b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.xml
new file mode 100644
index 000000000..d8edd796d
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.X/nbproject/project.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>com.microchip.mplab.nbide.embedded.makeproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/make-project/1">
+ <name>RTOSDemo</name>
+ <creation-uuid>55ff5cee-2e70-4454-810e-9beac606f4f5</creation-uuid>
+ <make-project-type>0</make-project-type>
+ <c-extensions>c</c-extensions>
+ <cpp-extensions/>
+ <header-extensions>h</header-extensions>
+ <sourceEncoding>ISO-8859-1</sourceEncoding>
+ <make-dep-projects/>
+ </data>
+ </configuration>
+</project>
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcp b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcp
new file mode 100644
index 000000000..1fb983ed5
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcp
@@ -0,0 +1,198 @@
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC32MX460F512L
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=./output
+dir_tmp=./output
+dir_sin=..\..\Source\portable\MPLAB\PIC32MX;.
+dir_inc=.;.;..\common\include;..\..\source\portable\mplab\pic32mx;..\..\source\include
+dir_lib=
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.s;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.a
+filter_lkr=*.ld
+[CAT_SUBFOLDERS]
+subfolder_src=FreeRTOS Source;Standard Demo Source
+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=FreeRTOS Source
+file_012=FreeRTOS Source
+file_013=FreeRTOS Source
+file_014=FreeRTOS Source
+file_015=FreeRTOS Source
+file_016=Standard Demo Source
+file_017=Standard Demo Source
+file_018=Standard Demo Source
+file_019=Standard Demo Source
+file_020=Standard Demo Source
+file_021=FreeRTOS Source
+file_022=Standard Demo Source
+file_023=Standard Demo Source
+file_024=.
+file_025=FreeRTOS Source
+file_026=.
+file_027=.
+file_028=.
+file_029=.
+file_030=.
+file_031=.
+file_032=.
+file_033=.
+file_034=.
+file_035=.
+file_036=.
+file_037=.
+[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
+file_023=no
+file_024=no
+file_025=no
+file_026=no
+file_027=no
+file_028=no
+file_029=no
+file_030=no
+file_031=no
+file_032=no
+file_033=no
+file_034=no
+file_035=no
+file_036=no
+file_037=no
+[OTHER_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
+file_023=no
+file_024=no
+file_025=no
+file_026=no
+file_027=no
+file_028=no
+file_029=no
+file_030=no
+file_031=no
+file_032=no
+file_033=no
+file_034=no
+file_035=no
+file_036=no
+file_037=yes
+[FILE_INFO]
+file_000=main.c
+file_001=ParTest\ParTest.c
+file_002=RegisterTestTasks.s
+file_003=lcd.c
+file_004=serial\serial.c
+file_005=serial\serial_isr.S
+file_006=timertest.c
+file_007=timertest_isr.S
+file_008=IntQueueTimer.c
+file_009=IntQueueTimer_isr.S
+file_010=printf-stdarg.c
+file_011=..\..\Source\portable\MPLAB\PIC32MX\port.c
+file_012=..\..\Source\portable\MPLAB\PIC32MX\port_asm.S
+file_013=..\..\Source\queue.c
+file_014=..\..\Source\tasks.c
+file_015=..\..\Source\list.c
+file_016=..\Common\Minimal\blocktim.c
+file_017=..\Common\Minimal\comtest.c
+file_018=..\Common\Minimal\semtest.c
+file_019=..\Common\Minimal\QPeek.c
+file_020=..\Common\Minimal\IntQueue.c
+file_021=..\..\Source\portable\MemMang\heap_2.c
+file_022=..\Common\Minimal\GenQTest.c
+file_023=..\Common\Minimal\flash_timer.c
+file_024=main_full.c
+file_025=..\..\Source\timers.c
+file_026=main_blinky.c
+file_027=FreeRTOSConfig.h
+file_028=..\..\Source\portable\MPLAB\PIC32MX\portmacro.h
+file_029=..\..\Source\include\portable.h
+file_030=..\..\Source\include\task.h
+file_031=..\..\Source\include\croutine.h
+file_032=..\..\Source\include\FreeRTOS.h
+file_033=..\..\Source\include\list.h
+file_034=..\..\Source\include\projdefs.h
+file_035=..\..\Source\include\queue.h
+file_036=..\..\Source\include\semphr.h
+file_037=PIC32MX_MPLAB.map
+[SUITE_INFO]
+suite_guid={14495C23-81F8-43F3-8A44-859C583D7760}
+suite_state=
+[TOOL_SETTINGS]
+TS{CB0AF4B8-4022-429D-8F99-8A56782B2C6D}=--keep-locals --gdwarf-2
+TS{9C698E0A-CBC9-4EFF-AE7D-B569F93E7322}=-g -DMPLAB_PIC32MX_PORT -Wall -fomit-frame-pointer
+TS{77F59DA1-3C53-4677-AC5F-A03EB0125170}=--defsym=_min_heap_size=0 --defsym=_min_heap_size=0 -Map="$(BINDIR_)$(TARGETBASE).map" -o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)" -O3
+TS{0396C0A1-9052-4E4F-8B84-EF0162B1B4E9}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=
+Post-BuildEnabled=1
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcs b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcs
new file mode 100644
index 000000000..d68ac1151
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcs
@@ -0,0 +1,7 @@
+[Header]
+MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}
+Version=1.0
+[TOOL_LOC_STAMPS]
+tool_loc{92E15EC6-5E91-4BF4-B5FA-C80AD2601AA7}=C:\devtools\Microchip\mplabc32\v2.02\bin\pic32-ar.exe
+tool_loc{430F471F-7ECB-4852-A80D-DEF9A5C8E751}=C:\devtools\Microchip\mplabc32\v2.02\bin\pic32-gcc.exe
+tool_loc{C68E5105-1196-4333-A0BF-3DC57271E614}=C:\devtools\Microchip\mplabc32\v2.02\bin\pic32-ld.exe
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcw b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcw
new file mode 100644
index 000000000..e216e37ef
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RTOSDemo.mcw
Binary files differ
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/RegisterTestTasks.S b/FreeRTOS/Demo/PIC32MX_MPLAB/RegisterTestTasks.S
new file mode 100644
index 000000000..7e9e87c38
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/RegisterTestTasks.S
@@ -0,0 +1,354 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+
+#include <p32xxxx.h>
+#include <sys/asm.h>
+
+ .set nomips16
+ .set noreorder
+
+
+ .global vRegTest1
+ .global vRegTest2
+
+
+ .set noreorder
+ .set noat
+ .ent vRegTest1
+
+/* Address of $4 ulStatus1 is held in A0, so don't mess with the value of $4 */
+
+vRegTest1:
+ addiu $1, $0, 0x11
+ addiu $2, $0, 0x12
+ addiu $3, $0, 0x13
+ addiu $5, $0, 0x15
+ addiu $6, $0, 0x16
+ addiu $7, $0, 0x17
+ addiu $8, $0, 0x18
+ addiu $9, $0, 0x19
+ addiu $10, $0, 0x110
+ addiu $11, $0, 0x111
+ addiu $12, $0, 0x112
+ addiu $13, $0, 0x113
+ addiu $14, $0, 0x114
+ addiu $15, $0, 0x115
+ addiu $16, $0, 0x116
+ addiu $17, $0, 0x117
+ addiu $18, $0, 0x118
+ addiu $19, $0, 0x119
+ addiu $20, $0, 0x120
+ addiu $21, $0, 0x121
+ addiu $22, $0, 0x122
+ addiu $23, $0, 0x123
+ addiu $24, $0, 0x124
+ addiu $25, $0, 0x125
+ addiu $30, $0, 0x130
+
+ addiu $1, $1, -0x11
+ beq $1, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $2, $2, -0x12
+ beq $2, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $3, $3, -0x13
+ beq $3, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $5, $5, -0x15
+ beq $5, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $6, $6, -0x16
+ beq $6, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $7, $7, -0x17
+ beq $7, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $8, $8, -0x18
+ beq $8, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $9, $9, -0x19
+ beq $9, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $10, $10, -0x110
+ beq $10, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $11, $11, -0x111
+ beq $11, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $12, $12, -0x112
+ beq $12, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $13, $13, -0x113
+ beq $13, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $14, $14, -0x114
+ beq $14, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $15, $15, -0x115
+ beq $15, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $16, $16, -0x116
+ beq $16, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $17, $17, -0x117
+ beq $17, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $18, $18, -0x118
+ beq $18, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $19, $19, -0x119
+ beq $19, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $20, $20, -0x120
+ beq $20, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $21, $21, -0x121
+ beq $21, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $22, $22, -0x122
+ beq $22, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $23, $23, -0x123
+ beq $23, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $24, $24, -0x124
+ beq $24, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $25, $25, -0x125
+ beq $25, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $30, $30, -0x130
+ beq $30, $0, .+12
+ nop
+ sw $0, 0($4)
+ jr $31
+ nop
+
+ .end vRegTest1
+
+
+ .set noreorder
+ .set noat
+ .ent vRegTest2
+
+vRegTest2:
+
+ addiu $1, $0, 0x10
+ addiu $2, $0, 0x20
+ addiu $3, $0, 0x30
+ addiu $5, $0, 0x50
+ addiu $6, $0, 0x60
+ addiu $7, $0, 0x70
+ addiu $8, $0, 0x80
+ addiu $9, $0, 0x90
+ addiu $10, $0, 0x100
+ addiu $11, $0, 0x110
+ addiu $12, $0, 0x120
+ addiu $13, $0, 0x130
+ addiu $14, $0, 0x140
+ addiu $15, $0, 0x150
+ addiu $16, $0, 0x160
+ addiu $17, $0, 0x170
+ addiu $18, $0, 0x180
+ addiu $19, $0, 0x190
+ addiu $20, $0, 0x200
+ addiu $21, $0, 0x210
+ addiu $22, $0, 0x220
+ addiu $23, $0, 0x230
+ addiu $24, $0, 0x240
+ addiu $25, $0, 0x250
+ addiu $30, $0, 0x300
+
+ addiu $1, $1, -0x10
+ beq $1, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $2, $2, -0x20
+ beq $2, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $3, $3, -0x30
+ beq $3, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $5, $5, -0x50
+ beq $5, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $6, $6, -0x60
+ beq $6, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $7, $7, -0x70
+ beq $7, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $8, $8, -0x80
+ beq $8, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $9, $9, -0x90
+ beq $9, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $10, $10, -0x100
+ beq $10, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $11, $11, -0x110
+ beq $11, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $12, $12, -0x120
+ beq $12, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $13, $13, -0x130
+ beq $13, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $14, $14, -0x140
+ beq $14, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $15, $15, -0x150
+ beq $15, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $16, $16, -0x160
+ beq $16, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $17, $17, -0x170
+ beq $17, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $18, $18, -0x180
+ beq $18, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $19, $19, -0x190
+ beq $19, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $20, $20, -0x200
+ beq $20, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $21, $21, -0x210
+ beq $21, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $22, $22, -0x220
+ beq $22, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $23, $23, -0x230
+ beq $23, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $24, $24, -0x240
+ beq $24, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $25, $25, -0x250
+ beq $25, $0, .+12
+ nop
+ sw $0, 0($4)
+ addiu $30, $30, -0x300
+ beq $30, $0, .+12
+ nop
+ sw $0, 0($4)
+ jr $31
+ nop
+
+ .end vRegTest2
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/lcd.c b/FreeRTOS/Demo/PIC32MX_MPLAB/lcd.c
new file mode 100644
index 000000000..263b191bd
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/lcd.c
@@ -0,0 +1,273 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+/* peripheral library include */
+#include <plib.h>
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+
+/* Demo includes. */
+#include "lcd.h"
+
+/*
+ * The LCD is written to by more than one task so is controlled by this
+ * 'gatekeeper' task. This is the only task that is actually permitted to
+ * access the LCD directly. Other tasks wanting to display a message send
+ * the message to the gatekeeper.
+ */
+static void vLCDTask( void *pvParameters );
+
+/*
+ * Setup the peripherals required to communicate with the LCD.
+ */
+static void prvSetupLCD( void );
+
+/*
+ * Move to the first (0) or second (1) row of the LCD.
+ */
+static void prvLCDGotoRow( unsigned short usRow );
+
+/*
+ * Write a string of text to the LCD.
+ */
+static void prvLCDPutString( char *pcString );
+
+/*
+ * Clear the LCD.
+ */
+static void prvLCDClear( void );
+
+/*-----------------------------------------------------------*/
+
+/* Brief delay to permit the LCD to catch up with commands. */
+#define lcdVERY_SHORT_DELAY ( 1 )
+#define lcdSHORT_DELAY ( 4 / portTICK_RATE_MS )
+#define lcdLONG_DELAY ( 15 / portTICK_RATE_MS )
+
+/* LCD specific definitions. */
+#define LCD_CLEAR_DISPLAY_CMD 0x01
+#define LCD_CURSOR_HOME_CMD 0x02
+#define LCD_ENTRY_MODE_CMD 0x04
+#define LCD_ENTRY_MODE_INCREASE 0x02
+#define LCD_DISPLAY_CTRL_CMD 0x08
+#define LCD_DISPLAY_CTRL_DISPLAY_ON 0x04
+#define LCD_FUNCTION_SET_CMD 0x20
+#define LCD_FUNCTION_SET_8_BITS 0x10
+#define LCD_FUNCTION_SET_2_LINES 0x08
+#define LCD_FUNCTION_SET_LRG_FONT 0x04
+#define LCD_NEW_LINE 0xC0
+#define LCD_COMMAND_ADDRESS 0x00
+#define LCD_DATA_ADDRESS 0x01
+
+/* The length of the queue used to send messages to the LCD gatekeeper task. */
+#define lcdQUEUE_SIZE 3
+
+/*-----------------------------------------------------------*/
+
+/* The queue used to send messages to the LCD task. */
+xQueueHandle xLCDQueue;
+
+/* LCD access functions. */
+static void prvLCDCommand( char cCommand );
+static void prvLCDData( char cChar );
+
+/*-----------------------------------------------------------*/
+
+xQueueHandle xStartLCDTask( void )
+{
+ /* Create the queue used by the LCD task. Messages for display on the LCD
+ are received via this queue. */
+ xLCDQueue = xQueueCreate( lcdQUEUE_SIZE, sizeof( xLCDMessage ));
+
+ /* Start the task that will write to the LCD. The LCD hardware is
+ initialised from within the task itself so delays can be used. */
+ xTaskCreate( vLCDTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY + 1, NULL );
+
+ return xLCDQueue;
+}
+/*-----------------------------------------------------------*/
+
+static void prvLCDGotoRow( unsigned short usRow )
+{
+ if(usRow == 0)
+ {
+ prvLCDCommand( LCD_CURSOR_HOME_CMD );
+ }
+ else
+ {
+ prvLCDCommand( LCD_NEW_LINE );
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvLCDCommand( char cCommand )
+{
+ PMPSetAddress( LCD_COMMAND_ADDRESS );
+ PMPMasterWrite( cCommand );
+ vTaskDelay( lcdSHORT_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvLCDData( char cChar )
+{
+ PMPSetAddress( LCD_DATA_ADDRESS );
+ PMPMasterWrite( cChar );
+ vTaskDelay( lcdVERY_SHORT_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void prvLCDPutString( char *pcString )
+{
+ /* Write out each character with appropriate delay between each. */
+ while(*pcString)
+ {
+ prvLCDData(*pcString);
+ pcString++;
+ vTaskDelay(lcdSHORT_DELAY);
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvLCDClear(void)
+{
+ prvLCDCommand(LCD_CLEAR_DISPLAY_CMD);
+}
+/*-----------------------------------------------------------*/
+
+static void prvSetupLCD(void)
+{
+ /* Wait for proper power up. */
+ vTaskDelay( lcdLONG_DELAY );
+
+ /* Open the PMP port */
+ mPMPOpen((PMP_ON | PMP_READ_WRITE_EN | PMP_CS2_CS1_EN |
+ PMP_LATCH_POL_HI | PMP_CS2_POL_HI | PMP_CS1_POL_HI |
+ PMP_WRITE_POL_HI | PMP_READ_POL_HI),
+ (PMP_MODE_MASTER1 | PMP_WAIT_BEG_4 | PMP_WAIT_MID_15 |
+ PMP_WAIT_END_4),
+ PMP_PEN_0, 0);
+
+ /* Wait for the LCD to power up correctly. */
+ vTaskDelay( lcdLONG_DELAY );
+ vTaskDelay( lcdLONG_DELAY );
+ vTaskDelay( lcdLONG_DELAY );
+
+ /* Set up the LCD function. */
+ prvLCDCommand( LCD_FUNCTION_SET_CMD | LCD_FUNCTION_SET_8_BITS | LCD_FUNCTION_SET_2_LINES | LCD_FUNCTION_SET_LRG_FONT );
+
+ /* Turn the display on. */
+ prvLCDCommand( LCD_DISPLAY_CTRL_CMD | LCD_DISPLAY_CTRL_DISPLAY_ON );
+
+ /* Clear the display. */
+ prvLCDCommand( LCD_CLEAR_DISPLAY_CMD );
+ vTaskDelay( lcdLONG_DELAY );
+
+ /* Increase the cursor. */
+ prvLCDCommand( LCD_ENTRY_MODE_CMD | LCD_ENTRY_MODE_INCREASE );
+ vTaskDelay( lcdLONG_DELAY );
+ vTaskDelay( lcdLONG_DELAY );
+ vTaskDelay( lcdLONG_DELAY );
+}
+/*-----------------------------------------------------------*/
+
+static void vLCDTask(void *pvParameters)
+{
+xLCDMessage xMessage;
+unsigned short usRow = 0;
+
+ /* Initialise the hardware. This uses delays so must not be called prior
+ to the scheduler being started. */
+ prvSetupLCD();
+
+ /* Welcome message. */
+ prvLCDPutString( "www.FreeRTOS.org" );
+
+ for(;;)
+ {
+ /* Wait for a message to arrive that requires displaying. */
+ while( xQueueReceive( xLCDQueue, &xMessage, portMAX_DELAY ) != pdPASS );
+
+ /* Clear the current display value. */
+ prvLCDClear();
+
+ /* Switch rows each time so we can see that the display is still being
+ updated. */
+ prvLCDGotoRow( usRow & 0x01 );
+ usRow++;
+ prvLCDPutString( xMessage.pcMessage );
+
+ /* Delay the requested amount of time to ensure the text just written
+ to the LCD is not overwritten. */
+ vTaskDelay( xMessage.xMinDisplayTime );
+ }
+}
+
+
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/lcd.h b/FreeRTOS/Demo/PIC32MX_MPLAB/lcd.h
new file mode 100644
index 000000000..fdb7030d4
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/lcd.h
@@ -0,0 +1,88 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#ifndef LCD_INC_H
+#define LCD_INC_H
+
+/* Create the task that will control the LCD. Returned is a handle to the queue
+on which messages to get written to the LCD should be written. */
+xQueueHandle xStartLCDTask( void );
+
+typedef struct
+{
+ /* The minimum amount of time the message should remain on the LCD without
+ being overwritten. */
+ portTickType xMinDisplayTime;
+
+ /* A pointer to the string to be displayed. */
+ char *pcMessage;
+
+} xLCDMessage;
+
+
+#endif /* LCD_INC_H */
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/main.c b/FreeRTOS/Demo/PIC32MX_MPLAB/main.c
new file mode 100644
index 000000000..20ea9ed34
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/main.c
@@ -0,0 +1,223 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+/******************************************************************************
+ * This project provides two demo applications. A simple blinky style project,
+ * and a more comprehensive test and demo application. The
+ * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to
+ * select between the two. The simply blinky demo is implemented and described
+ * in main_blinky.c. The more comprehensive test and demo application is
+ * implemented and described in main_full.c.
+ *
+ * This file implements the code that is not demo specific, including the
+ * hardware setup and FreeRTOS hook functions.
+ */
+
+/* Kernel includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+
+/* Standard demo includes. */
+#include "partest.h"
+
+/* Core configuratin fuse settings */
+#pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1, FWDTEN = OFF
+#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_2
+#pragma config CP = OFF, BWP = OFF, PWP = OFF
+
+/* Additional config fuse settings for other supported processors */
+#if defined(__32MX460F512L__)
+ #pragma config UPLLEN = OFF
+#elif defined(__32MX795F512L__)
+ #pragma config UPLLEN = OFF
+ #pragma config FSRSSEL = PRIORITY_7
+#endif
+
+/*-----------------------------------------------------------*/
+
+/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo,
+or 0 to run the more comprehensive test and demo application. */
+#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1
+
+/*-----------------------------------------------------------*/
+
+/*
+ * Set up the hardware ready to run this demo.
+ */
+static void prvSetupHardware( void );
+
+/*
+ * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.
+ * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0.
+ */
+extern void main_blinky( void );
+extern void main_full( void );
+
+/*-----------------------------------------------------------*/
+
+/*
+ * Create the demo tasks then start the scheduler.
+ */
+int main( void )
+{
+ /* Prepare the hardware to run this demo. */
+ prvSetupHardware();
+
+ /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top
+ of this file. */
+ #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1
+ {
+ main_blinky();
+ }
+ #else
+ {
+ main_full();
+ }
+ #endif
+
+ return 0;
+}
+/*-----------------------------------------------------------*/
+
+static void prvSetupHardware( void )
+{
+ /* Set the system and peripheral bus speeds and enable the program cache*/
+ SYSTEMConfigPerformance( configCPU_CLOCK_HZ - 1 );
+ mOSCSetPBDIV( OSC_PB_DIV_2 );
+
+ /* Setup to use the external interrupt controller. */
+ INTEnableSystemMultiVectoredInt();
+
+ portDISABLE_INTERRUPTS();
+
+ /* Setup the digital IO for the LED's. */
+ vParTestInitialise();
+}
+/*-----------------------------------------------------------*/
+
+void vApplicationMallocFailedHook( void )
+{
+ /* vApplicationMallocFailedHook() will only be called if
+ configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook
+ function that will get called if a call to pvPortMalloc() fails.
+ pvPortMalloc() is called internally by the kernel whenever a task, queue,
+ timer or semaphore is created. It is also called by various parts of the
+ demo application. If heap_1.c or heap_2.c are used, then the size of the
+ heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE in
+ FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used
+ to query the size of free heap space that remains (although it does not
+ provide information on how the remaining heap might be fragmented). */
+ taskDISABLE_INTERRUPTS();
+ for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+void vApplicationIdleHook( void )
+{
+ /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set
+ to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle
+ task. It is essential that code added to this hook function never attempts
+ to block in any way (for example, call xQueueReceive() with a block time
+ specified, or call vTaskDelay()). If the application makes use of the
+ vTaskDelete() API function (as this demo application does) then it is also
+ important that vApplicationIdleHook() is permitted to return to its calling
+ function, because it is the responsibility of the idle task to clean up
+ memory allocated by the kernel to any task that has since been deleted. */
+}
+/*-----------------------------------------------------------*/
+
+void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName )
+{
+ ( void ) pcTaskName;
+ ( void ) pxTask;
+
+ /* Run time task stack overflow checking is performed if
+ configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook function is
+ called if a task stack overflow is detected. Note the system/interrupt
+ stack is not checked. */
+ taskDISABLE_INTERRUPTS();
+ for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+void vApplicationTickHook( void )
+{
+ /* This function will be called by each tick interrupt if
+ configUSE_TICK_HOOK is set to 1 in FreeRTOSConfig.h. User code can be
+ added here, but the tick hook is called from an interrupt context, so
+ code must not attempt to block, and only the interrupt safe FreeRTOS API
+ functions can be used (those that end in FromISR()). */
+}
+/*-----------------------------------------------------------*/
+
+void _general_exception_handler( unsigned long ulCause, unsigned long ulStatus )
+{
+ /* This overrides the definition provided by the kernel. Other exceptions
+ should be handled here. */
+ for( ;; );
+}
+/*-----------------------------------------------------------*/
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/main_blinky.c b/FreeRTOS/Demo/PIC32MX_MPLAB/main_blinky.c
new file mode 100644
index 000000000..bb953b1d0
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/main_blinky.c
@@ -0,0 +1,283 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+/******************************************************************************
+ * NOTE 1: This project provides two demo applications. A simple blinky style
+ * project, and a more comprehensive test and demo application. The
+ * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select
+ * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY
+ * in main.c. This file implements the simply blinky style version.
+ *
+ * NOTE 2: This file only contains the source code that is specific to the
+ * basic demo. Generic functions, such FreeRTOS hook functions, and functions
+ * required to configure the hardware, are defined in main.c.
+ ******************************************************************************
+ *
+ * main_blinky() creates one queue, two tasks, and one software timer. It then
+ * starts the scheduler.
+ *
+ * The Blinky Software Timer:
+ * This demonstrates an auto-reload software timer. The timer callback function
+ * does nothing but toggle an LED.
+ *
+ * The Queue Send Task:
+ * The queue send task is implemented by the prvQueueSendTask() function in
+ * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly
+ * block for 200 milliseconds, before sending the value 100 to the queue that
+ * was created within main_blinky(). Once the value is sent, the task loops
+ * back around to block for another 200 milliseconds.
+ *
+ * The Queue Receive Task:
+ * The queue receive task is implemented by the prvQueueReceiveTask() function
+ * in this file. prvQueueReceiveTask() sits in a loop where it repeatedly
+ * blocks on attempts to read data from the queue that was created within
+ * main_blinky(). When data is received, the task checks the value of the
+ * data, and if the value equals the expected 100, toggles the LED. The 'block
+ * time' parameter passed to the queue receive function specifies that the
+ * task should be held in the Blocked state indefinitely to wait for data to
+ * be available on the queue. The queue receive task will only leave the
+ * Blocked state when the queue send task writes to the queue. As the queue
+ * send task writes to the queue every 200 milliseconds, the queue receive
+ * task leaves the Blocked state every 200 milliseconds, and therefore toggles
+ * the LED every 200 milliseconds.
+ */
+
+/* Standard includes. */
+#include <stdio.h>
+
+/* Kernel includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+#include "timers.h"
+
+/* Standard demo includes. */
+#include "partest.h"
+
+/* Priorities at which the tasks are created. */
+#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 )
+#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
+
+/* The rate at which data is sent to the queue. The 200ms value is converted
+to ticks using the portTICK_RATE_MS constant. */
+#define mainQUEUE_SEND_FREQUENCY_MS ( 200 / portTICK_RATE_MS )
+
+/* The number of items the queue can hold. This is 1 as the receive task
+will remove items as they are added, meaning the send task should always find
+the queue empty. */
+#define mainQUEUE_LENGTH ( 1 )
+
+/* Values passed to the two tasks just to check the task parameter
+functionality. */
+#define mainQUEUE_SEND_PARAMETER ( 0x1111UL )
+#define mainQUEUE_RECEIVE_PARAMETER ( 0x22UL )
+
+/* The period of the blinky software timer. The period is specified in ms and
+converted to ticks using the portTICK_RATE_MS constant. */
+#define mainBLINKY_TIMER_PERIOD ( 50 / portTICK_RATE_MS )
+
+/* The LED used by the communicating tasks and the blinky timer respectively. */
+#define mainTASKS_LED ( 0 )
+#define mainTIMER_LED ( 1 )
+
+/* Misc. */
+#define mainDONT_BLOCK ( 0 )
+
+/*-----------------------------------------------------------*/
+
+/*
+ * The tasks as described in the comments at the top of this file.
+ */
+static void prvQueueReceiveTask( void *pvParameters );
+static void prvQueueSendTask( void *pvParameters );
+
+/*
+ * The callback function for the blinky software timer, as described at the top
+ * of this file.
+ */
+static void prvBlinkyTimerCallback( xTimerHandle xTimer );
+
+/*
+ * Called by main() to create the simply blinky style application if
+ * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.
+ */
+void main_blinky( void );
+
+/*-----------------------------------------------------------*/
+
+/* The queue used by both tasks. */
+static xQueueHandle xQueue = NULL;
+
+/*-----------------------------------------------------------*/
+
+void main_blinky( void )
+{
+xTimerHandle xTimer;
+
+ /* Create the queue. */
+ xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( unsigned long ) );
+
+ if( xQueue != NULL )
+ {
+ /* Create the two tasks as described in the comments at the top of this
+ file. */
+ xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */
+ ( signed char * ) "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */
+ configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */
+ ( void * ) mainQUEUE_RECEIVE_PARAMETER, /* The parameter passed to the task - just to check the functionality. */
+ mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */
+ NULL ); /* The task handle is not required, so NULL is passed. */
+
+ xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, ( void * ) mainQUEUE_SEND_PARAMETER, mainQUEUE_SEND_TASK_PRIORITY, NULL );
+
+ /* Create the blinky software timer as described at the top of this
+ file. */
+ xTimer = xTimerCreate( ( const signed char * ) "Blinky", /* A text name, purely to help debugging. */
+ ( mainBLINKY_TIMER_PERIOD ), /* The timer period. */
+ pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */
+ ( void * ) 0, /* The ID is not used, so can be set to anything. */
+ prvBlinkyTimerCallback /* The callback function that inspects the status of all the other tasks. */
+ );
+
+ if( xTimer != NULL )
+ {
+ xTimerStart( xTimer, mainDONT_BLOCK );
+ }
+
+ /* Start the tasks and timer running. */
+ vTaskStartScheduler();
+ }
+
+ /* If all is well, the scheduler will now be running, and the following
+ line will never be reached. If the following line does execute, then
+ there was insufficient FreeRTOS heap memory available for the idle and/or
+ timer tasks to be created. See the memory management section on the
+ FreeRTOS web site for more details. */
+ for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+static void prvQueueSendTask( void *pvParameters )
+{
+portTickType xNextWakeTime;
+const unsigned long ulValueToSend = 100UL;
+
+ /* Check the task parameter is as expected. */
+ configASSERT( ( ( unsigned long ) pvParameters ) == mainQUEUE_SEND_PARAMETER );
+
+ /* Initialise xNextWakeTime - this only needs to be done once. */
+ xNextWakeTime = xTaskGetTickCount();
+
+ for( ;; )
+ {
+ /* Place this task in the blocked state until it is time to run again.
+ The block time is specified in ticks, the constant used converts ticks
+ to ms. While in the Blocked state this task will not consume any CPU
+ time. */
+ vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS );
+
+ /* Send to the queue - causing the queue receive task to unblock and
+ toggle the LED. 0 is used as the block time so the sending operation
+ will not block - it shouldn't need to block as the queue should always
+ be empty at this point in the code. */
+ xQueueSend( xQueue, &ulValueToSend, 0U );
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvQueueReceiveTask( void *pvParameters )
+{
+unsigned long ulReceivedValue;
+
+ /* Check the task parameter is as expected. */
+ configASSERT( ( ( unsigned long ) pvParameters ) == mainQUEUE_RECEIVE_PARAMETER );
+
+ for( ;; )
+ {
+ /* Wait until something arrives in the queue - this task will block
+ indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
+ FreeRTOSConfig.h. */
+ xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
+
+ /* To get here something must have been received from the queue, but
+ is it the expected value? If it is, toggle the LED. */
+ if( ulReceivedValue == 100UL )
+ {
+ vParTestToggleLED( mainTASKS_LED );
+ ulReceivedValue = 0U;
+ }
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvBlinkyTimerCallback( xTimerHandle xTimer )
+{
+ /* This function is called when the blinky software time expires. All the
+ function does is toggle the LED. LED mainTIMER_LED should therefore toggle
+ with the period set by mainBLINKY_TIMER_PERIOD. */
+ vParTestToggleLED( mainTIMER_LED );
+}
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/main_full.c b/FreeRTOS/Demo/PIC32MX_MPLAB/main_full.c
new file mode 100644
index 000000000..5fb701a51
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/main_full.c
@@ -0,0 +1,439 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+/******************************************************************************
+ * NOTE 1: This project provides two demo applications. A simple blinky style
+ * project, and a more comprehensive test and demo application. The
+ * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select
+ * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY
+ * in main.c. This file implements the comprehensive test and demo version.
+ *
+ * NOTE 2: This file only contains the source code that is specific to the
+ * full demo. Generic functions, such FreeRTOS hook functions, and functions
+ * required to configure the hardware, are defined in main.c.
+ ******************************************************************************
+ *
+ * main_full() creates all the demo application tasks and software timers, then
+ * starts the scheduler. The WEB documentation provides more details of the
+ * standard demo application tasks. In addition to the standard demo tasks, the
+ * following tasks and tests are defined and/or created within this file:
+ *
+ * "LCD" task - the LCD task is a 'gatekeeper' task. It is the only task that
+ * is permitted to access the display directly. Other tasks wishing to write a
+ * message to the LCD send the message on a queue to the LCD task instead of
+ * accessing the LCD themselves. The LCD task just blocks on the queue waiting
+ * for messages - waking and displaying the messages as they arrive.
+ *
+ * "Check" timer - The check software timer period is initially set to three
+ * seconds. The callback function associated with the check software timer
+ * checks that all the standard demo tasks, and the register check tasks, are
+ * not only still executing, but are executing without reporting any errors. If
+ * the check software timer discovers that a task has either stalled, or
+ * reported an error, then it changes its own execution period from the initial
+ * three seconds, to just 200ms. The check software timer callback function
+ * also writes a status message to the LCD (via the LCD task). If all the demo
+ * tasks are executing with their expected behaviour then the check task writes
+ * a count of the number of times the high frequency interrupt has incremented
+ * ulHighFrequencyTimerInterrupts - which is one in every 20,000 interrupts.
+ *
+ * "Register test" tasks - These tasks are used in part to test the kernel port.
+ * They set each processor register to a known value, then check that the
+ * register still contains that value. Each of the tasks sets the registers
+ * to different values, and will get swapping in and out between setting and
+ * then subsequently checking the register values. Discovery of an incorrect
+ * value would be indicative of an error in the task switching mechanism.
+ *
+ * By way of demonstration, the demo application defines
+ * configMAX_SYSCALL_INTERRUPT_PRIORITY to be 3, configKERNEL_INTERRUPT_PRIORITY
+ * to be 1, and all other interrupts as follows:
+ *
+ * + The UART is allocated a priority of 2. This means it can interrupt the
+ * RTOS tick, and can also safely use queues.
+ * + Two timers are configured to generate interrupts just to test the nesting
+ * and queue access mechanisms. These timers are allocated priorities 2 and 3
+ * respectively. Even though they both access the same two queues, the
+ * priority 3 interrupt can safely interrupt the priority 2 interrupt. Both
+ * can interrupt the RTOS tick.
+ * + Finally a high frequency timer interrupt is configured to use priority 4 -
+ * therefore kernel activity will never prevent the high frequency timer from
+ * executing immediately that the interrupt is raised (within the limitations
+ * of the hardware itself). It would not be safe to access a queue from this
+ * interrupt as it is above configMAX_SYSCALL_INTERRUPT_PRIORITY.
+ *
+ * See the online documentation for this demo for more information on interrupt
+ * usage.
+ */
+
+/* Standard includes. */
+#include <stdio.h>
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+#include "task.h"
+#include "queue.h"
+#include "timers.h"
+
+/* Demo application includes. */
+#include "partest.h"
+#include "blocktim.h"
+#include "flash_timer.h"
+#include "semtest.h"
+#include "GenQTest.h"
+#include "QPeek.h"
+#include "lcd.h"
+#include "comtest2.h"
+#include "timertest.h"
+#include "IntQueue.h"
+
+/*-----------------------------------------------------------*/
+
+/* The period after which the check timer will expire, in ms, provided no errors
+have been reported by any of the standard demo tasks. ms are converted to the
+equivalent in ticks using the portTICK_RATE_MS constant. */
+#define mainCHECK_TIMER_PERIOD_MS ( 3000UL / portTICK_RATE_MS )
+
+/* The period at which the check timer will expire, in ms, if an error has been
+reported in one of the standard demo tasks. ms are converted to the equivalent
+in ticks using the portTICK_RATE_MS constant. */
+#define mainERROR_CHECK_TIMER_PERIOD_MS ( 200UL / portTICK_RATE_MS )
+
+/* The priorities of the various demo application tasks. */
+#define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 )
+#define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2 )
+#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 )
+#define mainINTEGER_TASK_PRIORITY ( tskIDLE_PRIORITY )
+#define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY )
+
+/* The LED controlled by the 'check' software timer. */
+#define mainCHECK_LED ( 7 )
+
+/* The LED used by the comtest tasks. mainCOM_TEST_LED + 1 is also used.
+See the comtest.c file for more information. */
+#define mainCOM_TEST_LED ( 4 )
+
+/* Baud rate used by the comtest tasks. */
+#define mainCOM_TEST_BAUD_RATE ( 115200 )
+
+/* Misc. */
+#define mainDONT_BLOCK ( 0 )
+
+/* Dimension the buffer used to hold the value of the high frequency timer
+count when it is converted to a string. */
+#define mainMAX_STRING_LENGTH ( 20 )
+
+/* The frequency at which the "fast interrupt test" interrupt will occur. */
+#define mainTEST_INTERRUPT_FREQUENCY ( 20000 )
+
+/* The number of timer clocks expected to occur between each "fast interrupt
+test" interrupt. */
+#define mainEXPECTED_CLOCKS_BETWEEN_INTERRUPTS ( ( configCPU_CLOCK_HZ >> 1 ) / mainTEST_INTERRUPT_FREQUENCY )
+
+/* The number of nano seconds between each core clock. */
+#define mainNS_PER_CLOCK ( ( unsigned long ) ( ( 1.0 / ( double ) ( configCPU_CLOCK_HZ >> 1 ) ) * 1000000000.0 ) )
+
+/* The number of LEDs that should be controlled by the flash software timer
+standard demo. */
+#define mainNUM_FLASH_TIMER_LEDS ( 3 )
+
+/*-----------------------------------------------------------*/
+
+/*
+ * The check timer callback function, as described at the top of this file.
+ */
+static void prvCheckTimerCallback( xTimerHandle xTimer );
+
+/*
+ * It is important to ensure the high frequency timer test does not start before
+ * the kernel. It is therefore started from inside a software timer callback
+ * function, which will not execute until the timer service/daemon task is
+ * executing. A one-shot timer is used, so the callback function will only
+ * execute once (unless it is manually reset/restarted).
+ */
+static void prvSetupHighFrequencyTimerTest( xTimerHandle xTimer );
+
+/*
+ * Tasks that test the context switch mechanism by filling the processor
+ * registers with known values, then checking that the values contained
+ * within the registers is as expected. The tasks are likely to get swapped
+ * in and out between setting the register values and checking the register
+ * values.
+ */
+static void prvRegTestTask1( void *pvParameters );
+static void prvRegTestTask2( void *pvParameters );
+
+/*-----------------------------------------------------------*/
+
+/* The queue used to send messages to the LCD task. */
+static xQueueHandle xLCDQueue;
+
+/* Flag used by prvRegTestTask1() and prvRegTestTask2() to indicate their status
+(pass/fail). */
+volatile unsigned long ulStatus1 = pdPASS;
+
+/* Variables incremented by prvRegTestTask1() and prvRegTestTask2() respectively on
+each iteration of their function. This is used to detect either task stopping
+their execution.. */
+volatile unsigned long ulRegTest1Cycles = 0, ulRegTest2Cycles = 0;
+
+/*-----------------------------------------------------------*/
+
+/*
+ * Create the demo tasks then start the scheduler.
+ */
+int main_full( void )
+{
+xTimerHandle xTimer = NULL;
+
+ /* Create the LCD task - this returns the queue to use when writing
+ messages to the LCD. */
+ xLCDQueue = xStartLCDTask();
+
+ /* Create all the other standard demo tasks. */
+ vStartLEDFlashTimers( mainNUM_FLASH_TIMER_LEDS );
+ vCreateBlockTimeTasks();
+ vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );
+ vStartGenericQueueTasks( mainGEN_QUEUE_TASK_PRIORITY );
+ vStartQueuePeekTasks();
+ vStartInterruptQueueTasks();
+
+ /* Create the tasks defined within this file. */
+ xTaskCreate( prvRegTestTask1, ( const signed char * const ) "Reg1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
+ xTaskCreate( prvRegTestTask2, ( const signed char * const ) "Reg2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
+
+ /* The PIC32MX795 uses an 8 deep fifo where TX interrupts are asserted
+ whilst the TX buffer is empty. This causes an issue with the test driver so
+ it is not used in this demo */
+ #if !defined(__32MX795F512L__)
+ vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED );
+ #endif
+
+ /* Create the software timer that performs the 'check' functionality, as
+ described at the top of this file. */
+ xTimer = xTimerCreate( ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */
+ ( mainCHECK_TIMER_PERIOD_MS ), /* The timer period, in this case 3000ms (3s). */
+ pdTRUE, /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */
+ ( void * ) 0, /* The ID is not used, so can be set to anything. */
+ prvCheckTimerCallback /* The callback function that inspects the status of all the other tasks. */
+ );
+
+ if( xTimer != NULL )
+ {
+ xTimerStart( xTimer, mainDONT_BLOCK );
+ }
+
+ /* A software timer is also used to start the high frequency timer test.
+ This is to ensure the test does not start before the kernel. This time a
+ one shot software timer is used. */
+ xTimer = xTimerCreate( ( const signed char * ) "HighHzTimerSetup", 1, pdFALSE, ( void * ) 0, prvSetupHighFrequencyTimerTest );
+ if( xTimer != NULL )
+ {
+ xTimerStart( xTimer, mainDONT_BLOCK );
+ }
+
+ /* Finally start the scheduler. */
+ vTaskStartScheduler();
+
+ /* If all is well, the scheduler will now be running, and the following line
+ will never be reached. If the following line does execute, then there was
+ insufficient FreeRTOS heap memory available for the idle and/or timer tasks
+ to be created. See the memory management section on the FreeRTOS web site
+ for more details. */
+ for( ;; );
+}
+/*-----------------------------------------------------------*/
+
+static void prvRegTestTask1( void *pvParameters )
+{
+extern void vRegTest1( volatile unsigned long * );
+
+ for( ;; )
+ {
+ /* Perform the register test function. */
+ vRegTest1( &ulStatus1 );
+
+ /* Increment the counter so the check task knows we are still
+ running. */
+ ulRegTest1Cycles++;
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvRegTestTask2( void *pvParameters )
+{
+extern void vRegTest2( volatile unsigned long * );
+
+ for( ;; )
+ {
+ /* Perform the register test function. */
+ vRegTest2( &ulStatus1 );
+
+ /* Increment the counter so the check task knows we are still
+ running. */
+ ulRegTest2Cycles++;
+ }
+}
+/*-----------------------------------------------------------*/
+
+static void prvCheckTimerCallback( xTimerHandle xTimer )
+{
+static long lChangedTimerPeriodAlready = pdFALSE;
+static unsigned long ulLastRegTest1Value = 0, ulLastRegTest2Value = 0;
+
+/* Buffer into which the high frequency timer count is written as a string. */
+static char cStringBuffer[ mainMAX_STRING_LENGTH ];
+
+/* The count of the high frequency timer interrupts. */
+extern unsigned long ulHighFrequencyTimerInterrupts;
+static xLCDMessage xMessage = { ( 200 / portTICK_RATE_MS ), cStringBuffer };
+
+ /* Has either register check 1 or 2 task discovered an error? */
+ if( ulStatus1 != pdPASS )
+ {
+ xMessage.pcMessage = "Error: Reg test1";
+ }
+
+ /* Check that the register test 1 task is still running. */
+ if( ulLastRegTest1Value == ulRegTest1Cycles )
+ {
+ xMessage.pcMessage = "Error: Reg test2";
+ }
+ ulLastRegTest1Value = ulRegTest1Cycles;
+
+
+ /* Check that the register test 2 task is still running. */
+ if( ulLastRegTest2Value == ulRegTest2Cycles )
+ {
+ xMessage.pcMessage = "Error: Reg test3";
+ }
+ ulLastRegTest2Value = ulRegTest2Cycles;
+
+
+ /* Have any of the standard demo tasks detected an error in their
+ operation? */
+ if( xAreGenericQueueTasksStillRunning() != pdTRUE )
+ {
+ xMessage.pcMessage = "Error: Gen Q";
+ }
+ else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
+ {
+ xMessage.pcMessage = "Error: Q Peek";
+ }
+ else if( xAreComTestTasksStillRunning() != pdTRUE )
+ {
+ xMessage.pcMessage = "Error: COM test";
+ }
+ else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
+ {
+ xMessage.pcMessage = "Error: Blck time";
+ }
+ else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
+ {
+ xMessage.pcMessage = "Error: Sem test";
+ }
+ else if( xAreIntQueueTasksStillRunning() != pdTRUE )
+ {
+ xMessage.pcMessage = "Error: Int queue";
+ }
+
+ if( xMessage.pcMessage != cStringBuffer )
+ {
+ /* An error string has been logged. If the timer period has not yet
+ been changed it should be changed now. Increasing the frequency of the
+ LED gives visual feedback of the error status (although it is written
+ to the LCD too!). */
+ if( lChangedTimerPeriodAlready == pdFALSE )
+ {
+ lChangedTimerPeriodAlready = pdTRUE;
+
+ /* This call to xTimerChangePeriod() uses a zero block time.
+ Functions called from inside of a timer callback function must
+ *never* attempt to block as to do so could impact other software
+ timers. */
+ xTimerChangePeriod( xTimer, ( mainERROR_CHECK_TIMER_PERIOD_MS ), mainDONT_BLOCK );
+ }
+ }
+ else
+ {
+ /* Write the ulHighFrequencyTimerInterrupts value to the string
+ buffer. It will only be displayed if no errors have been detected. */
+ sprintf( cStringBuffer, "Pass %u", ( unsigned int ) ulHighFrequencyTimerInterrupts );
+ }
+
+ /* Send the status message to the LCD task for display on the LCD. This is
+ a timer callback function, so the queue send function *must not* block. */
+ xQueueSend( xLCDQueue, &xMessage, mainDONT_BLOCK );
+ vParTestToggleLED( mainCHECK_LED );
+}
+/*-----------------------------------------------------------*/
+
+static void prvSetupHighFrequencyTimerTest( xTimerHandle xTimer )
+{
+ /* Setup the high frequency, high priority, timer test. It is setup in this
+ software timer callback to ensure it does not start before the kernel does.
+ This is a one shot timer - so the setup routine will only be executed once. */
+ vSetupTimerTest( mainTEST_INTERRUPT_FREQUENCY );
+}
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/printf-stdarg.c b/FreeRTOS/Demo/PIC32MX_MPLAB/printf-stdarg.c
new file mode 100644
index 000000000..8eb6da335
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/printf-stdarg.c
@@ -0,0 +1,286 @@
+/*
+ Copyright 2001, 2002 Georges Menie (www.menie.org)
+ stdarg version contributed by Christian Ettinger
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ 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 Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+/*
+ putchar is the only external dependency for this file,
+ if you have a working putchar, leave it commented out.
+ If not, uncomment the define below and
+ replace outbyte(c) by your own function call.
+
+#define putchar(c) outbyte(c)
+*/
+
+#include <stdarg.h>
+
+static void printchar(char **str, int c)
+{
+ extern int putchar(int c);
+
+ if (str) {
+ **str = c;
+ ++(*str);
+ }
+ else (void)putchar(c);
+}
+
+#define PAD_RIGHT 1
+#define PAD_ZERO 2
+
+static int prints(char **out, const char *string, int width, int pad)
+{
+ register int pc = 0, padchar = ' ';
+
+ if (width > 0) {
+ register int len = 0;
+ register const char *ptr;
+ for (ptr = string; *ptr; ++ptr) ++len;
+ if (len >= width) width = 0;
+ else width -= len;
+ if (pad & PAD_ZERO) padchar = '0';
+ }
+ if (!(pad & PAD_RIGHT)) {
+ for ( ; width > 0; --width) {
+ printchar (out, padchar);
+ ++pc;
+ }
+ }
+ for ( ; *string ; ++string) {
+ printchar (out, *string);
+ ++pc;
+ }
+ for ( ; width > 0; --width) {
+ printchar (out, padchar);
+ ++pc;
+ }
+
+ return pc;
+}
+
+/* the following should be enough for 32 bit int */
+#define PRINT_BUF_LEN 12
+
+static int printi(char **out, int i, int b, int sg, int width, int pad, int letbase)
+{
+ char print_buf[PRINT_BUF_LEN];
+ register char *s;
+ register int t, neg = 0, pc = 0;
+ register unsigned int u = i;
+
+ if (i == 0) {
+ print_buf[0] = '0';
+ print_buf[1] = '\0';
+ return prints (out, print_buf, width, pad);
+ }
+
+ if (sg && b == 10 && i < 0) {
+ neg = 1;
+ u = -i;
+ }
+
+ s = print_buf + PRINT_BUF_LEN-1;
+ *s = '\0';
+
+ while (u) {
+ t = u % b;
+ if( t >= 10 )
+ t += letbase - '0' - 10;
+ *--s = t + '0';
+ u /= b;
+ }
+
+ if (neg) {
+ if( width && (pad & PAD_ZERO) ) {
+ printchar (out, '-');
+ ++pc;
+ --width;
+ }
+ else {
+ *--s = '-';
+ }
+ }
+
+ return pc + prints (out, s, width, pad);
+}
+
+static int print( char **out, const char *format, va_list args )
+{
+ register int width, pad;
+ register int pc = 0;
+ char scr[2];
+
+ for (; *format != 0; ++format) {
+ if (*format == '%') {
+ ++format;
+ width = pad = 0;
+ if (*format == '\0') break;
+ if (*format == '%') goto out;
+ if (*format == '-') {
+ ++format;
+ pad = PAD_RIGHT;
+ }
+ while (*format == '0') {
+ ++format;
+ pad |= PAD_ZERO;
+ }
+ for ( ; *format >= '0' && *format <= '9'; ++format) {
+ width *= 10;
+ width += *format - '0';
+ }
+ if( *format == 's' ) {
+ register char *s = (char *)va_arg( args, int );
+ pc += prints (out, s?s:"(null)", width, pad);
+ continue;
+ }
+ if( *format == 'd' ) {
+ pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a');
+ continue;
+ }
+ if( *format == 'x' ) {
+ pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a');
+ continue;
+ }
+ if( *format == 'X' ) {
+ pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A');
+ continue;
+ }
+ if( *format == 'u' ) {
+ pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a');
+ continue;
+ }
+ if( *format == 'c' ) {
+ /* char are converted to int then pushed on the stack */
+ scr[0] = (char)va_arg( args, int );
+ scr[1] = '\0';
+ pc += prints (out, scr, width, pad);
+ continue;
+ }
+ }
+ else {
+ out:
+ printchar (out, *format);
+ ++pc;
+ }
+ }
+ if (out) **out = '\0';
+ va_end( args );
+ return pc;
+}
+
+int printf(const char *format, ...)
+{
+ va_list args;
+
+ va_start( args, format );
+ return print( 0, format, args );
+}
+
+int sprintf(char *out, const char *format, ...)
+{
+ va_list args;
+
+ va_start( args, format );
+ return print( &out, format, args );
+}
+
+
+int snprintf( char *buf, unsigned int count, const char *format, ... )
+{
+ va_list args;
+
+ ( void ) count;
+
+ va_start( args, format );
+ return print( &buf, format, args );
+}
+
+
+#ifdef TEST_PRINTF
+int main(void)
+{
+ char *ptr = "Hello world!";
+ char *np = 0;
+ int i = 5;
+ unsigned int bs = sizeof(int)*8;
+ int mi;
+ char buf[80];
+
+ mi = (1 << (bs-1)) + 1;
+ printf("%s\n", ptr);
+ printf("printf test\n");
+ printf("%s is null pointer\n", np);
+ printf("%d = 5\n", i);
+ printf("%d = - max int\n", mi);
+ printf("char %c = 'a'\n", 'a');
+ printf("hex %x = ff\n", 0xff);
+ printf("hex %02x = 00\n", 0);
+ printf("signed %d = unsigned %u = hex %x\n", -3, -3, -3);
+ printf("%d %s(s)%", 0, "message");
+ printf("\n");
+ printf("%d %s(s) with %%\n", 0, "message");
+ sprintf(buf, "justif: \"%-10s\"\n", "left"); printf("%s", buf);
+ sprintf(buf, "justif: \"%10s\"\n", "right"); printf("%s", buf);
+ sprintf(buf, " 3: %04d zero padded\n", 3); printf("%s", buf);
+ sprintf(buf, " 3: %-4d left justif.\n", 3); printf("%s", buf);
+ sprintf(buf, " 3: %4d right justif.\n", 3); printf("%s", buf);
+ sprintf(buf, "-3: %04d zero padded\n", -3); printf("%s", buf);
+ sprintf(buf, "-3: %-4d left justif.\n", -3); printf("%s", buf);
+ sprintf(buf, "-3: %4d right justif.\n", -3); printf("%s", buf);
+
+ return 0;
+}
+
+/*
+ * if you compile this file with
+ * gcc -Wall $(YOUR_C_OPTIONS) -DTEST_PRINTF -c printf.c
+ * you will get a normal warning:
+ * printf.c:214: warning: spurious trailing `%' in format
+ * this line is testing an invalid % at the end of the format string.
+ *
+ * this should display (on 32bit int machine) :
+ *
+ * Hello world!
+ * printf test
+ * (null) is null pointer
+ * 5 = 5
+ * -2147483647 = - max int
+ * char a = 'a'
+ * hex ff = ff
+ * hex 00 = 00
+ * signed -3 = unsigned 4294967293 = hex fffffffd
+ * 0 message(s)
+ * 0 message(s) with %
+ * justif: "left "
+ * justif: " right"
+ * 3: 0003 zero padded
+ * 3: 3 left justif.
+ * 3: 3 right justif.
+ * -3: -003 zero padded
+ * -3: -3 left justif.
+ * -3: -3 right justif.
+ */
+
+#endif
+
+
+/* To keep linker happy. */
+int write( int i, char* c, int n)
+{
+ return 0;
+}
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial.c b/FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial.c
new file mode 100644
index 000000000..458cc8054
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial.c
@@ -0,0 +1,223 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+
+/* BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER.
+
+NOTE: This driver is primarily to test the scheduler functionality. It does
+not effectively use the buffers or DMA and is therefore not intended to be
+an example of an efficient driver. */
+
+/* Standard include file. */
+#include <stdlib.h>
+#include <plib.h>
+
+/* Scheduler include files. */
+#include "FreeRTOS.h"
+#include "queue.h"
+#include "task.h"
+
+/* Demo app include files. */
+#include "serial.h"
+
+/* Hardware setup. */
+#define serSET_FLAG ( 1 )
+
+/* The queues used to communicate between tasks and ISR's. */
+static xQueueHandle xRxedChars;
+static xQueueHandle xCharsForTx;
+
+/* Flag used to indicate the tx status. */
+static portBASE_TYPE xTxHasEnded;
+
+/*-----------------------------------------------------------*/
+
+/* The UART interrupt handler. As this uses the FreeRTOS assembly interrupt
+entry point the IPL setting in the following prototype has no effect. The
+interrupt priority is set by the call to ConfigIntUART2() in
+xSerialPortInitMinimal(). */
+void __attribute__( (interrupt(ipl0), vector(_UART2_VECTOR))) vU2InterruptWrapper( void );
+
+/*-----------------------------------------------------------*/
+
+xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
+{
+unsigned short usBRG;
+
+ /* Create the queues used by the com test task. */
+ xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
+ xCharsForTx = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
+
+ /* Configure the UART and interrupts. */
+ usBRG = (unsigned short)(( (float)configPERIPHERAL_CLOCK_HZ / ( (float)16 * (float)ulWantedBaud ) ) - (float)0.5);
+ OpenUART2( UART_EN, UART_RX_ENABLE | UART_TX_ENABLE | UART_INT_TX | UART_INT_RX_CHAR, usBRG );
+ ConfigIntUART2( ( configKERNEL_INTERRUPT_PRIORITY + 1 ) | UART_INT_SUB_PR0 | UART_TX_INT_EN | UART_RX_INT_EN );
+
+ xTxHasEnded = pdTRUE;
+
+ /* Only a single port is implemented so we don't need to return anything. */
+ return NULL;
+}
+/*-----------------------------------------------------------*/
+
+signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
+{
+ /* Only one port is supported. */
+ ( void ) pxPort;
+
+ /* Get the next character from the buffer. Return false if no characters
+ are available or arrive before xBlockTime expires. */
+ if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )
+ {
+ return pdTRUE;
+ }
+ else
+ {
+ return pdFALSE;
+ }
+}
+/*-----------------------------------------------------------*/
+
+signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
+{
+ /* Only one port is supported. */
+ ( void ) pxPort;
+
+ /* Return false if after the block time there is no room on the Tx queue. */
+ if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) != pdPASS )
+ {
+ return pdFAIL;
+ }
+
+ /* A critical section should not be required as xTxHasEnded will not be
+ written to by the ISR if it is already 0 (is this correct?). */
+ if( xTxHasEnded )
+ {
+ xTxHasEnded = pdFALSE;
+ IFS1SET = _IFS1_U2TXIF_MASK;
+ }
+
+ return pdPASS;
+}
+/*-----------------------------------------------------------*/
+
+void vSerialClose( xComPortHandle xPort )
+{
+}
+/*-----------------------------------------------------------*/
+
+void vU2InterruptHandler( void )
+{
+/* Declared static to minimise stack use. */
+static char cChar;
+static portBASE_TYPE xHigherPriorityTaskWoken;
+
+ xHigherPriorityTaskWoken = pdFALSE;
+
+ /* Are any Rx interrupts pending? */
+ if( IFS1bits.U2RXIF == 1)
+ {
+ while( U2STAbits.URXDA )
+ {
+ /* Retrieve the received character and place it in the queue of
+ received characters. */
+ cChar = U2RXREG;
+ xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken );
+ }
+ IFS1CLR = _IFS1_U2RXIF_MASK;
+ }
+
+ /* Are any Tx interrupts pending? */
+ if( IFS1bits.U2TXIF == 1 )
+ {
+ while( !( U2STAbits.UTXBF ) )
+ {
+ if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
+ {
+ /* Send the next character queued for Tx. */
+ U2TXREG = cChar;
+ }
+ else
+ {
+ /* Queue empty, nothing to send. */
+ xTxHasEnded = pdTRUE;
+ break;
+ }
+ }
+
+ IFS1CLR = _IFS1_U2TXIF_MASK;
+ }
+
+ /* If sending or receiving necessitates a context switch, then switch now. */
+ portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
+}
+
+
+
+
+
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial_isr.S b/FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial_isr.S
new file mode 100644
index 000000000..e0f822c3b
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/serial/serial_isr.S
@@ -0,0 +1,24 @@
+#include <p32xxxx.h>
+#include <sys/asm.h>
+#include "ISR_Support.h"
+
+ .set nomips16
+ .set noreorder
+
+ .extern vU2InterruptHandler
+ .extern xISRStackTop
+ .global vU2InterruptWrapper
+
+ .set noreorder
+ .set noat
+ .ent vU2InterruptWrapper
+
+vU2InterruptWrapper:
+
+ portSAVE_CONTEXT
+ jal vU2InterruptHandler
+ nop
+ portRESTORE_CONTEXT
+
+ .end vU2InterruptWrapper
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/timertest.c b/FreeRTOS/Demo/PIC32MX_MPLAB/timertest.c
new file mode 100644
index 000000000..44d51b129
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/timertest.c
@@ -0,0 +1,137 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+/* High speed timer test as described in main.c. */
+
+
+/* Scheduler includes. */
+#include "FreeRTOS.h"
+
+/* The maximum value the 16bit timer can contain. */
+#define timerMAX_COUNT 0xffff
+
+/* The timer 2 interrupt handler. As this interrupt uses the FreeRTOS assembly
+entry point the IPL setting in the following function prototype has no effect.
+The interrupt priority is set by ConfigIntTimer2() in vSetupTimerTest(). */
+void __attribute__( (interrupt(ipl0), vector(_TIMER_2_VECTOR))) vT2InterruptWrapper( void );
+
+/*-----------------------------------------------------------*/
+
+/* Incremented every 20,000 interrupts, so should count in seconds. */
+unsigned long ulHighFrequencyTimerInterrupts = 0;
+
+/* The frequency at which the timer is interrupting. */
+static unsigned long ulFrequencyHz;
+
+/*-----------------------------------------------------------*/
+
+void vSetupTimerTest( unsigned short usFrequencyHz )
+{
+ /* Remember the frequency so it can be used from the ISR. */
+ ulFrequencyHz = ( unsigned long ) usFrequencyHz;
+
+ /* T2 is used to generate interrupts above the kernel and max syscall interrupt
+ priority. */
+ T2CON = 0;
+ TMR2 = 0;
+
+ /* Timer 2 is going to interrupt at usFrequencyHz Hz. */
+ PR2 = ( unsigned short ) ( ( configPERIPHERAL_CLOCK_HZ / ( unsigned long ) usFrequencyHz ) - 1 );
+
+ /* Setup timer 2 interrupt priority to be above the kernel priority so
+ the timer jitter is not effected by the kernel activity. */
+ ConfigIntTimer2( T2_INT_ON | ( configMAX_SYSCALL_INTERRUPT_PRIORITY + 1 ) );
+
+ /* Clear the interrupt as a starting condition. */
+ IFS0bits.T2IF = 0;
+
+ /* Enable the interrupt. */
+ IEC0bits.T2IE = 1;
+
+ /* Start the timer. */
+ T2CONbits.TON = 1;
+}
+/*-----------------------------------------------------------*/
+
+void vT2InterruptHandler( void )
+{
+static unsigned long ulCalls = 0;
+
+ ++ulCalls;
+ if( ulCalls >= ulFrequencyHz )
+ {
+ /* Increment the count that will be shown on the LCD.
+ The increment occurs once every 20,000 interrupts so
+ ulHighFrequencyTimerInterrupts should count in seconds. */
+ ulHighFrequencyTimerInterrupts++;
+ ulCalls = 0;
+ }
+
+ /* Clear the timer interrupt. */
+ IFS0CLR = _IFS0_T2IF_MASK;
+}
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/timertest.h b/FreeRTOS/Demo/PIC32MX_MPLAB/timertest.h
new file mode 100644
index 000000000..14801c0c8
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/timertest.h
@@ -0,0 +1,76 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#ifndef TIMER_TEST_H
+#define TIMER_TEST_H
+
+/* Setup the high frequency timer interrupt. */
+void vSetupTimerTest( unsigned short usFrequencyHz );
+
+#endif /* TIMER_TEST_H */
+
+
+
diff --git a/FreeRTOS/Demo/PIC32MX_MPLAB/timertest_isr.S b/FreeRTOS/Demo/PIC32MX_MPLAB/timertest_isr.S
new file mode 100644
index 000000000..0f0d94b57
--- /dev/null
+++ b/FreeRTOS/Demo/PIC32MX_MPLAB/timertest_isr.S
@@ -0,0 +1,90 @@
+/*
+ FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
+
+
+ ***************************************************************************
+ * *
+ * FreeRTOS tutorial books are available in pdf and paperback. *
+ * Complete, revised, and edited pdf reference manuals are also *
+ * available. *
+ * *
+ * Purchasing FreeRTOS documentation will not only help you, by *
+ * ensuring you get running as quickly as possible and with an *
+ * in-depth knowledge of how to use FreeRTOS, it will also help *
+ * the FreeRTOS project to continue with its mission of providing *
+ * professional grade, cross platform, de facto standard solutions *
+ * for microcontrollers - completely free of charge! *
+ * *
+ * >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
+ * *
+ * Thank you for using FreeRTOS, and thank you for your support! *
+ * *
+ ***************************************************************************
+
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
+ >>>NOTE<<< The modification to the GPL is included to allow you to
+ distribute a combined work that includes FreeRTOS without being obliged to
+ provide the source code for proprietary components outside of the FreeRTOS
+ kernel. FreeRTOS 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 and the FreeRTOS license exception along with FreeRTOS; if not it
+ can be viewed here: http://www.freertos.org/a00114.html and also obtained
+ by writing to Richard Barry, contact details for whom are available on the
+ FreeRTOS WEB site.
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong? *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+
+ http://www.FreeRTOS.org - Documentation, training, latest information,
+ license and contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool.
+
+ Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
+ the code with commercial support, indemnification, and middleware, under
+ the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
+ provide a safety engineered and independently SIL3 certified version under
+ the SafeRTOS brand: http://www.SafeRTOS.com.
+*/
+
+#include <p32xxxx.h>
+#include <sys/asm.h>
+#include "ISR_Support.h"
+
+ .set nomips16
+ .set noreorder
+
+ .extern vT2InterruptHandler
+ .extern xISRStackTop
+ .global vT2InterruptWrapper
+
+ .set noreorder
+ .set noat
+ .ent vT2InterruptWrapper
+
+vT2InterruptWrapper:
+
+ portSAVE_CONTEXT
+ jal vT2InterruptHandler
+ nop
+ portRESTORE_CONTEXT
+
+ .end vT2InterruptWrapper
+