]> git.sur5r.net Git - freertos/commitdiff
Update flop.c and FreeRTOS.h to include a macro (and a default null implementation...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 9 May 2013 09:52:34 +0000 (09:52 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Thu, 9 May 2013 09:52:34 +0000 (09:52 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1887 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Demo/Common/Minimal/flop.c
FreeRTOS/Source/include/FreeRTOS.h

index dc9d25b50f293bb2372c151fa213786785f91b0e..0d3673da53abd60f488fd2d850759d60e50bb3e4 100644 (file)
@@ -132,6 +132,11 @@ volatile unsigned short *pusTaskCheckVariable;
 volatile portDOUBLE dAnswer;\r
 short sError = pdFALSE;\r
 \r
+       /* Some ports require that tasks that use a hardware floating point unit\r
+       tell the kernel that they require a floating point context before any\r
+       floating point instructions are executed. */\r
+       portTASK_USES_FLOATING_POINT();\r
+\r
        d1 = 123.4567;\r
        d2 = 2345.6789;\r
        d3 = -918.222;\r
@@ -184,6 +189,11 @@ volatile unsigned short *pusTaskCheckVariable;
 volatile portDOUBLE dAnswer;\r
 short sError = pdFALSE;\r
 \r
+       /* Some ports require that tasks that use a hardware floating point unit\r
+       tell the kernel that they require a floating point context before any\r
+       floating point instructions are executed. */\r
+       portTASK_USES_FLOATING_POINT();\r
+\r
        d1 = -389.38;\r
        d2 = 32498.2;\r
        d3 = -2.0001;\r
@@ -238,6 +248,11 @@ const size_t xArraySize = 10;
 size_t xPosition;\r
 short sError = pdFALSE;\r
 \r
+       /* Some ports require that tasks that use a hardware floating point unit\r
+       tell the kernel that they require a floating point context before any\r
+       floating point instructions are executed. */\r
+       portTASK_USES_FLOATING_POINT();\r
+\r
        /* The variable this task increments to show it is still running is passed in \r
        as the parameter. */\r
        pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
@@ -295,6 +310,11 @@ const size_t xArraySize = 10;
 size_t xPosition;\r
 short sError = pdFALSE;\r
 \r
+       /* Some ports require that tasks that use a hardware floating point unit\r
+       tell the kernel that they require a floating point context before any\r
+       floating point instructions are executed. */\r
+       portTASK_USES_FLOATING_POINT();\r
+\r
        /* The variable this task increments to show it is still running is passed in \r
        as the parameter. */\r
        pusTaskCheckVariable = ( unsigned short * ) pvParameters;\r
index f29380f6f5148f67df1bf131f774ba6bfdc30c20..eb3b2a50e5da4b65ae2f03f0b07ec7386c23f892 100644 (file)
@@ -568,6 +568,10 @@ typedef portBASE_TYPE (*pdTASK_HOOK_CODE)( void * );
        #define configUSE_QUEUE_SETS 0\r
 #endif\r
 \r
+#ifndef portTASK_USES_FLOATING_POINT\r
+       #define portTASK_USES_FLOATING_POINT()\r
+#endif\r
+\r
 /* For backward compatability. */\r
 #define eTaskStateGet eTaskGetState\r
 \r