According to the FrreRTOS docs, you should not be using vSemaphoreCreateBinary. It says.
NOTE: The vSemaphoreCreateBinary() macro remains in the source code to ensure backward compatibility, but it should not be used in new designs. Use the xSemaphoreCreateBinary() function instead.
Also, in many cases, it is faster and more memory efficient to use a direct to task notification in place of a binary semaphore.