]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/IAR/RISC-V/port.c
Remove driver files that generate compiler warnings from the RISC-V_Renode_Emulator_S...
[freertos] / FreeRTOS / Source / portable / IAR / RISC-V / port.c
index dd32a8e50ef5b072d4742cb0dc302b3b975ca273..a5ec465538b65faa0ce4da61a14cff055d9398c4 100644 (file)
@@ -34,6 +34,9 @@
 #include "task.h"\r
 #include "portmacro.h"\r
 \r
+/* Standard includes. */\r
+#include "string.h"\r
+\r
 #ifndef configCLINT_BASE_ADDRESS\r
        #warning configCLINT_BASE_ADDRESS must be defined in FreeRTOSConfig.h.  If the target chip includes a Core Local Interrupter (CLINT) then set configCLINT_BASE_ADDRESS to the CLINT base address.  Otherwise set configCLINT_BASE_ADDRESS to 0.\r
 #endif\r
@@ -57,6 +60,11 @@ interrupt stack after the scheduler has started. */
 #ifdef configISR_STACK_SIZE_WORDS\r
        static __attribute__ ((aligned(16))) StackType_t xISRStack[ configISR_STACK_SIZE_WORDS ] = { 0 };\r
        const StackType_t xISRStackTop = ( StackType_t ) &( xISRStack[ configISR_STACK_SIZE_WORDS & ~portBYTE_ALIGNMENT_MASK ] );\r
+\r
+       /* Don't use 0xa5 as the stack fill bytes as that is used by the kernerl for\r
+       the task stacks, and so will legitimately appear in many positions within\r
+       the ISR stack. */\r
+       #define portISR_STACK_FILL_BYTE 0xee\r
 #else\r
        extern const uint32_t __freertos_irq_stack_top[];\r
        const StackType_t xISRStackTop = ( StackType_t ) __freertos_irq_stack_top;\r
@@ -77,17 +85,12 @@ const uint64_t *pullNextTime = &ullNextTime;
 const size_t uxTimerIncrementsForOneTick = ( size_t ) ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ); /* Assumes increment won't go over 32-bits. */\r
 volatile uint64_t * const pullMachineTimerCompareRegisterBase = ( uint64_t * ) ( configCLINT_BASE_ADDRESS + 0x4000 );\r
 volatile uint64_t * pullMachineTimerCompareRegister = 0;\r
-\r
 /* Set configCHECK_FOR_STACK_OVERFLOW to 3 to add ISR stack checking to task\r
 stack checking.  A problem in the ISR stack will trigger an assert, not call the\r
 stack overflow hook function (because the stack overflow hook is specific to a\r
 task stack, not the ISR stack). */\r
-#if( configCHECK_FOR_STACK_OVERFLOW > 2 )\r
+#if defined( configISR_STACK_SIZE_WORDS ) && ( configCHECK_FOR_STACK_OVERFLOW > 2 )\r
        #warning This path not tested, or even compiled yet.\r
-       /* Don't use 0xa5 as the stack fill bytes as that is used by the kernerl for\r
-       the task stacks, and so will legitimately appear in many positions within\r
-       the ISR stack. */\r
-       #define portISR_STACK_FILL_BYTE 0xee\r
 \r
        static const uint8_t ucExpectedStackBytes[] = {\r
                                                                        portISR_STACK_FILL_BYTE, portISR_STACK_FILL_BYTE, portISR_STACK_FILL_BYTE, portISR_STACK_FILL_BYTE,             \\r