I am running into the issue if I create a mutex before I try to read EEPROM that is connected to the I2C bus, the action pulls the clock line down and leaves the code hanging. I am using xSemaphoreCreate() function provided by FreeRTOS, but have also tried xSemaphoreCreateBinary() and xSemaphoreCreateCounting(). The static versions of the semaphores did not work either. I am using the I2C library provided by FreeScale Semiconductor. Attached is a picture showing the mutex was successfully created, then an attempt to read EEPROM on the I2C bus was made and pulls the clockline low.
Was wondering if anyone could provide some insight to this, thanks!