#define configTICK_RATE_HZ ( ( portTickType ) 1000 )\r
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )\r
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 90 )\r
-#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 60 * 1024 ) )\r
+#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 30 * 1024 ) )\r
#define configMAX_TASK_NAME_LEN ( 10 )\r
#define configUSE_TRACE_FACILITY 1\r
#define configUSE_16_BIT_TICKS 0\r
#define configIDLE_SHOULD_YIELD 1\r
#define configUSE_MUTEXES 1\r
-#define configQUEUE_REGISTRY_SIZE 0\r
-#define configGENERATE_RUN_TIME_STATS 1\r
+#define configQUEUE_REGISTRY_SIZE 8\r
#define configCHECK_FOR_STACK_OVERFLOW 2\r
#define configUSE_RECURSIVE_MUTEXES 1\r
#define configUSE_MALLOC_FAILED_HOOK 1\r
#define INCLUDE_vTaskDelayUntil 1\r
#define INCLUDE_vTaskDelay 1\r
\r
-#ifdef __ICCARM__ /* Stop these prototypes being included in the asm files. */\r
+/* Run time stats gathering definitions. */\r
+#ifdef __ICCARM__\r
+ /* The #ifdef just prevents this C specific syntax from being included in\r
+ assembly files. */\r
void vMainConfigureTimerForRunTimeStats( void );\r
unsigned long ulMainGetRunTimeCounterValue( void );\r
#endif\r
+#define configGENERATE_RUN_TIME_STATS 1\r
#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vMainConfigureTimerForRunTimeStats()\r
#define portGET_RUN_TIME_COUNTER_VALUE() ulMainGetRunTimeCounterValue()\r
\r
-/* Use the system definition, if there is one */\r
+/* Cortex-M specific definitions. */\r
#ifdef __NVIC_PRIO_BITS\r
+ /* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */\r
#define configPRIO_BITS __NVIC_PRIO_BITS\r
#else\r
#define configPRIO_BITS 4 /* 15 priority levels */\r
#endif\r
\r
+/* The lowest interrupt priority that can be used in a call to a "set priority"\r
+function. */\r
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0xf\r
+\r
+/* The highest interrupt priority that can be used by any interrupt service\r
+routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL\r
+INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER\r
+PRIORITY THAN THIS! (higher priorities are lower numeric values. */\r
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5\r
\r
-/* The lowest priority. */\r
-#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )\r
-/* Priority 5, or 160 as only the top three bits are implemented. */\r
+/* Interrupt priorities used by the kernel port layer itself. These are generic\r
+to all Cortex-M ports, and do not rely on any particular library functions. */\r
+#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )\r
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )\r
\r
+/* Normal assert() semantics without relying on the provision of an assert.h\r
+header file. */\r
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); } \r
\r
+/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS\r
+standard names. */\r
#define vPortSVCHandler SVC_Handler\r
#define xPortPendSVHandler PendSV_Handler\r
#define xPortSysTickHandler SysTick_Handler\r
\r
+/******************************************************************************\r
+ * Network configuration constants follow from here.\r
+ *****************************************************************************/\r
+\r
/* MAC address configuration. */\r
#define configMAC_ADDR0 0x00\r
#define configMAC_ADDR1 0x12\r