Re: How to immediately receive incoming packets in a UDP server under ThreadX?
The MIIM driver is used just initially to set up the PHY. After that, with low frequency - 0.5 seconds or so, to check that the PHY hasn't lost the link. So it's pretty low priority, it can stay the way it is.
Yes, a semaphore may be expensive. If possible use an event flag - those should be much lighter if implemented correctly and they come in bunches: at least 32 of them because they use just a bit.
I think ThreadX has those. Anyway, pick whatever mechanism is the lightest.