]> git.sur5r.net Git - freertos/blobdiff - Demo/MSP430X_MSP430F5438_IAR/main.c
Start to adjust to support both small and large memory models in the MSP430X IAR...
[freertos] / Demo / MSP430X_MSP430F5438_IAR / main.c
index b904b10bd6fe46be0747c4cf2a59063354a2cdb7..e38845e629e38e2c2b935f34757ebc85ad7d99bc 100644 (file)
@@ -183,6 +183,9 @@ information.  */
 \r
 /* The maximum number of lines of text that can be displayed on the LCD. */\r
 #define mainMAX_LCD_LINES                              ( 8 )\r
+\r
+/* Just used to ensure parameters are passed into tasks correctly. */\r
+#define mainTASK_PARAMETER_CHECK_VALUE ( ( void * ) 0xDEAD )\r
 /*-----------------------------------------------------------*/\r
 \r
 /*\r
@@ -266,7 +269,7 @@ void main( void )
                \r
                /* Create the LCD, button poll and register test tasks, as described at\r
                the top of this file. */\r
-               xTaskCreate( prvLCDTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE * 2, NULL, mainLCD_TASK_PRIORITY, NULL );\r
+               xTaskCreate( prvLCDTask, ( signed char * ) "LCD", configMINIMAL_STACK_SIZE * 2, mainTASK_PARAMETER_CHECK_VALUE, mainLCD_TASK_PRIORITY, NULL );\r
                xTaskCreate( prvButtonPollTask, ( signed char * ) "BPoll", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
                xTaskCreate( vRegTest1Task, ( signed char * ) "Reg1", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
                xTaskCreate( vRegTest2Task, ( signed char * ) "Reg2", configMINIMAL_STACK_SIZE, NULL, 0, NULL );\r
@@ -304,6 +307,15 @@ unsigned char ucLine = 1;
        First print out the number of bytes that remain in the FreeRTOS heap.  This\r
        can be viewed in the terminal IO window within the IAR Embedded Workbench. */\r
        printf( "%d bytes of heap space remain unallocated\n", ( int ) xPortGetFreeHeapSize() );\r
+       fflush( stdout );\r
+       \r
+       /* Just as a test of the port, and for no functional reason, check the task\r
+       parameter contains its expected value. */\r
+       if( pvParameters != mainTASK_PARAMETER_CHECK_VALUE )\r
+       {\r
+               halLcdPrintLine( "Invalid parameter", ucLine,  OVERWRITE_TEXT );\r
+               ucLine++;               \r
+       }\r
 \r
        for( ;; )\r
        {\r