I’m in charge of porting an application from V7.1.0 to v9 without dynamic allocation.
Porting was very straightforward, but I found out that application wasn’t working correctly at runtime.
The reason was the substitution of vSemaphoreCreateBinary with xSemaphoreCreateBinaryStatic.
While the the former is actually a macro that creates the semaphore and ‘give’ it, the latter just creates the semaphore. Hence an explicit xSemaphoreGive is required.