I’m trying to send basic UDP packets to my PC with the zero-copy sendto(…) method on the STM32F4. I’m using the example given on the FreeRTOS website. I noticed that everytime I run the sendto function xTXDescriptorSemaphore will be taken but are never released. While examening the code I found the only place that releases xTXDescriptorSemaphore is in the vClearTXbuffers, which is never called because
( ulISREvents & EMAC_IF_TX_EVENT ) != 0 is never true because tx interrupts are not implemented.
/* Bit map of outstanding ETH interrupt events for processing. Currently only
the Rx interrupt is handled, although code is included for other events to
enable future expansion. */
If TX interrupt is for future expansion, how should I release xTXDescriptorSemaphore? It feels wrong to modify STM32Fxx/Networkinterface.c directly