]> 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 def4554a57e6ff550817d11baf8afb3a2ad7700e..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
@@ -559,10 +571,10 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
 \r
 /* The MSP430X port uses this callback function to configure its tick interrupt.\r
 This allows the application to choose the tick interrupt source.\r
-configTICK_INTERRUPT_VECTOR must also be set in FreeRTOSConfig.h to the correct\r
+configTICK_VECTOR must also be set in FreeRTOSConfig.h to the correct\r
 interrupt vector for the chosen tick interrupt source.  This implementation of\r
 vApplicationSetupTimerInterrupt() generates the tick from timer A0, so in this\r
-case configTICK_INTERRUPT_VECTOR is set to TIMER0_A0_VECTOR. */\r
+case configTICK_VECTOR is set to TIMER0_A0_VECTOR. */\r
 void vApplicationSetupTimerInterrupt( void )\r
 {\r
 const unsigned short usACLK_Frequency_Hz = 32768;\r