]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo/src/main.c
Correct alignment issue in GCC and RVDS Cortex-A9 port that was preventing full float...
[freertos] / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / RTOSDemo / src / main.c
index 12935c525dfaa2bfe64fe39e38f477ce8e12e73f..44013c6c42521adf7ac2eeab4c29f9b0c4f30c72 100644 (file)
@@ -334,6 +334,23 @@ void vApplicationTickHook( void )
 \r
                /* Use mutexes from interrupts. */\r
                vInterruptSemaphorePeriodicTest();\r
+\r
+               /* Test flop alignment in interrupts - calling printf from an interrupt\r
+               is BAD! */\r
+               #if( configASSERT_DEFINED == 1 )\r
+               {\r
+               char cBuf[ 20 ];\r
+               UBaseType_t uxSavedInterruptStatus;\r
+\r
+                       uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR();\r
+                       {\r
+                               sprintf( cBuf, "%1.3f", 1.234 );\r
+                       }\r
+                       portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus );\r
+\r
+                       configASSERT( strcmp( cBuf, "1.234" ) == 0 );\r
+               }\r
+               #endif /* configASSERT_DEFINED */\r
        }\r
        #endif\r
 }\r