Although this is a very old proposal, I'd like to respond to it. The biggest problem with the proposed solution is that the function pointed to by pCallback will be called ( executed ) from either a different task or worse, from the idle task. Note that no guarantees can be given about the available stack space, the current task priority, or task specific privileges. When task-A terminates, its termination code should be better executed from the task-A context. This means that also vTaskDelete()...
For those who get here, looking for the latestxCheckLoopback(), please find it attached. It has two modifications, one for FreeRTOS_ARP.c and one for FreeRTOS_ARP.h. It must be called from the xNetworkInterfaceOutput() function: BaseType_t xNetworkInterfaceOutput( NetworkBufferDescriptor_t * const pxBuffer, BaseType_t bReleaseAfterSend ) { if( xCheckLoopback( pxBuffer, bReleaseAfterSend ) != 0 ) { /* The packet has been sent back to the IP-task. The IP-task will further handle it. Do not release...
#include "Zynq/x_emacpsif.h" Needs -I $(TCP)/source/portable/NetworkInterface/ Whereas #include "x_emacpsif.h" Needs -I $(TCP)/source/portable/NetworkInterface/Zynq/ Maybe you have both -I directories already? I am afraid to break other projects when we change this. In earlier versions we had xemacpsif.h, but it led to confusion. But you are right, Zynq/x_emacpsif.h is a bit double.
Yes it makes sense not to include web pages if the driver has not been enabled. PS the forum has recently moved to a brand new place: https://forums.freertos.org Thanks, Hein