diff -rbupN org_arm/FreeRTOSConfig.h "C:\\Users\\bill\\Documents\\Arduino\\libraries\\FreeRTOS_ARM\\utility/FreeRTOSConfig.h"
--- org_arm/FreeRTOSConfig.h	2014-04-24 07:08:09.374220100 -0700
+++ "C:\\Users\\bill\\Documents\\Arduino\\libraries\\FreeRTOS_ARM\\utility/FreeRTOSConfig.h"	2014-08-14 06:25:23.372590700 -0700
@@ -72,7 +72,7 @@
  * executed prior to this project being built.  Once it has been executed
  * remove the #error line below.
  */
-#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.
+//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.
 
 /*-----------------------------------------------------------
  * Application specific definitions.
@@ -87,16 +87,30 @@
  *----------------------------------------------------------*/
 
 #include <stdint.h>
+#if 0  // WHG
 extern uint32_t SystemCoreClock;
+#else  // WHG
+
+/* WHG definitions for Arduino */
+#define INCLUDE_uxTaskGetStackHighWaterMark 1
+#define INCLUDE_xTaskGetIdleTaskHandle 1
+#define configENABLE_BACKWARD_COMPATIBILITY 0
+#endif  // WHG
 
 #define configUSE_PREEMPTION			1
+#if 1  // WHG
+#define configUSE_IDLE_HOOK				1
+#define configUSE_TICK_HOOK				1
+#define configCPU_CLOCK_HZ				( F_CPU )
+#else  // WHG
 #define configUSE_IDLE_HOOK				0
 #define configUSE_TICK_HOOK				0
 #define configCPU_CLOCK_HZ				( SystemCoreClock )
+#endif  // WHG
 #define configTICK_RATE_HZ				( ( TickType_t ) 1000 )
 #define configMAX_PRIORITIES			( 5 )
 #define configMINIMAL_STACK_SIZE		( ( unsigned short ) 130 )
-#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 40960 ) )
+#define configTOTAL_HEAP_SIZE			( ( size_t ) ( 0 ) )  // WHG uses type 3 heap
 #define configMAX_TASK_NAME_LEN			( 10 )
 #define configUSE_TRACE_FACILITY		0
 #define configUSE_16_BIT_TICKS			0
@@ -146,7 +160,7 @@ function. */
 routine that makes calls to interrupt safe FreeRTOS API functions.  DO NOT CALL
 INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
 PRIORITY THAN THIS! (higher priorities are lower numeric values. */
-#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY	10
+#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY	1//10  WHG
 
 /* Interrupt priorities used by the kernel port layer itself.  These are generic
 to all Cortex-M ports, and do not rely on any particular library functions. */
@@ -157,13 +171,25 @@ See http://www.FreeRTOS.org/RTOS-Cortex-
 
 /* Normal assert() semantics without relying on the provision of an assert.h
 header file. */
-#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
+// WHG
+// FreeRTOS default configASSERT
+//#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
+
+void assertBlink();
+#define configASSERT( x ) if( ( x ) == 0 )  assertBlink()
+
+//void assertMsg(const char*, int);
+//#define configASSERT( x ) if( ( x ) == 0 ) assertMsg(__FILE__,__LINE__)
+//////////////////////WHG/////////////////////////////
 
 /* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
 standard names. */
+//------------------------------------------------------------------------------
+#if 0 //  WHG defined in port.c
 #define vPortSVCHandler SVC_Handler
 #define xPortPendSVHandler PendSV_Handler
 #define xPortSysTickHandler SysTick_Handler
-
+#endif  // WHG
+//------------------------------------------------------------------------------
 #endif /* FREERTOS_CONFIG_H */
 
diff -rbupN org_arm/port.c "C:\\Users\\bill\\Documents\\Arduino\\libraries\\FreeRTOS_ARM\\utility/port.c"
--- org_arm/port.c	2014-04-24 07:08:18.078737600 -0700
+++ "C:\\Users\\bill\\Documents\\Arduino\\libraries\\FreeRTOS_ARM\\utility/port.c"	2014-08-13 13:07:18.542446900 -0700
@@ -68,9 +68,34 @@
  *----------------------------------------------------------*/
 
 /* Scheduler includes. */
+#include <Arduino.h>
 #include "FreeRTOS.h"
 #include "task.h"
+//------------------------------------------------------------------------------
+// Mods for Arduino - WHG
+int sysTickEnabled = 0;
+
+#ifdef CORE_TEENSY
+// Teensy 3.0, 3.1
+#define vPortSVCHandler svcall_isr
+#define xPortPendSVHandler pendablesrvreq_isr
+
+extern volatile unsigned long systick_millis_count;
+void systick_isr() {
+  systick_millis_count++;
+  if (sysTickEnabled) xPortSysTickHandler();
+}
+#else  // CORE_TEENSY
+// Due
+#define vPortSVCHandler svcHook
+#define xPortPendSVHandler pendSVHook
 
+int sysTickHook(void) {
+  if (sysTickEnabled) xPortSysTickHandler();
+  return 0;
+}
+#endif  // CORE_TEENSY
+//------------------------------------------------------------------------------
 /* For backward compatibility, ensure configKERNEL_INTERRUPT_PRIORITY is
 defined.  The value should also ensure backward compatibility.
 FreeRTOS.org versions prior to V4.4.0 did not include this definition. */
@@ -634,6 +659,9 @@ void xPortSysTickHandler( void )
  */
 __attribute__(( weak )) void vPortSetupTimerInterrupt( void )
 {
+ // can't replace weak version in same file
+  sysTickEnabled = 1; // WHG for Arduino
+  return;  // WHG
 	/* Calculate the constants required to configure the tick interrupt. */
 	#if configUSE_TICKLESS_IDLE == 1
 	{
@@ -651,8 +679,12 @@ __attribute__(( weak )) void vPortSetupT
 
 #if( configASSERT_DEFINED == 1 )
 
-	void vPortValidateInterruptPriority( void )
-	{
+void vPortValidateInterruptPriority( void )
+{
+#ifndef CORE_TEENSY
+  // Due uses priority zero interrupts do ignore problems.
+  return;
+#endif  // CORE_TEENSY
 	uint32_t ulCurrentInterrupt;
 	uint8_t ucCurrentPriority;
 
