FreeRTOS's vTaskDelay(x) is the FreeRTOS equivalent to rtems_task_wake_after(x), it suspends a task for x Ticks. The previously used sys_arch_delay(x) would add x/10 before passing it to rtems_task_wake_after. Due to the fact that portTICK_RATE_MS was set to wrong value the previous impl always called with rtems_task_wake_after(1). --- rtemslwip/xilinx/xlwipopts.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rtemslwip/xilinx/xlwipopts.h b/rtemslwip/xilinx/xlwipopts.h index 23b942f..8befd67 100644 --- a/rtemslwip/xilinx/xlwipopts.h +++ b/rtemslwip/xilinx/xlwipopts.h @@ -30,6 +30,6 @@ /* These macros allow RTEMS to pretend to be FreeRTOS for Xilinx drivers */ #define tskIDLE_PRIORITY RTEMS_MAXIMUM_PRIORITY #define portTICK_RATE_MS (1000 / rtems_clock_get_ticks_per_second()) -#define vTaskDelay(x) sys_arch_delay(x) +#define vTaskDelay(x) rtems_task_wake_after(x) #endif /* __XLWIPOPTS_H__ */ -- 2.34.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel