xTaskCreateRestricted( &xRegTest2Parameters, NULL );\r
xTaskCreateRestricted( &xCheckTaskParameters, NULL );\r
\r
+ /* Print out the amount of free heap space so configTOTAL_HEAP_SIZE can be\r
+ tuned. The heap size is set to be very small in this example and will need\r
+ to be increased before many more tasks, queues or semaphores can be \r
+ created. */\r
+ debug_printf( "There are %d bytes of unused heap space, although the idle task is yet to be created.\r\n", xPortGetFreeHeapSize() );\r
+\r
/* Start the scheduler. */\r
vTaskStartScheduler();\r
\r
" BNE prvDeleteMe \n"\r
" CMP R12, #112 \n"\r
" BNE prvDeleteMe \n"\r
+ :::"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r8", "r9", "r10", "r11", "r12"\r
);\r
\r
/* Send mainREG_TEST_1_STILL_EXECUTING to the check task to indicate that this \r
" BNE prvDeleteMe \n"\r
" CMP R12, #12 \n"\r
" BNE prvDeleteMe \n"\r
+ :::"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r8", "r9", "r10", "r11", "r12"\r
);\r
\r
/* Send mainREG_TEST_2_STILL_EXECUTING to the check task to indicate that this \r
\r
void hard_fault_handler(unsigned int * hardfault_args)\r
{\r
-unsigned int stacked_r0;\r
-unsigned int stacked_r1;\r
-unsigned int stacked_r2;\r
-unsigned int stacked_r3;\r
-unsigned int stacked_r12;\r
-unsigned int stacked_lr;\r
-unsigned int stacked_pc;\r
-unsigned int stacked_psr;\r
+volatile unsigned int stacked_r0;\r
+volatile unsigned int stacked_r1;\r
+volatile unsigned int stacked_r2;\r
+volatile unsigned int stacked_r3;\r
+volatile unsigned int stacked_r12;\r
+volatile unsigned int stacked_lr;\r
+volatile unsigned int stacked_pc;\r
+volatile unsigned int stacked_psr;\r
\r
stacked_r0 = ((unsigned long) hardfault_args[0]);\r
stacked_r1 = ((unsigned long) hardfault_args[1]);\r
" BNE prvDeleteMe \n"\r
" CMP R12, #112 \n"\r
" BNE prvDeleteMe \n"\r
+ :::"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r8", "r9", "r10", "r11", "r12"\r
);\r
\r
/* Send mainREG_TEST_1_STILL_EXECUTING to the check task to indicate that this \r
" BNE prvDeleteMe \n"\r
" CMP R12, #12 \n"\r
" BNE prvDeleteMe \n"\r
+ :::"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r8", "r9", "r10", "r11", "r12"\r
);\r
\r
/* Send mainREG_TEST_2_STILL_EXECUTING to the check task to indicate that this \r