I2C Interrupt missed in MSP430 when FreeRTOS used

I have a CCS project where I use MSP430F5239 as a I2C Master. The communication with slave was tested to be successful. I introduced FreeRTOS to my Application. (I2C ISR + a new task that handles data to/from I2C) Any I2C transaction that happens before the start of scheduler works fine. But the transactions done inside the task keeps failing. I guess this has to do with missing I2C Interrupts. Is there any change that I have to do in “Port files” of FreeRTOS ? Is there any change required based on my clock frequency or MSP430 part being used ? I was want to know if anyone have already been successful in implementing something similar ?

I2C Interrupt missed in MSP430 when FreeRTOS used

Hi Raja,
I guess this has to do with missing I2C Interrupts.
Doesn’t sound very likely, unless you disable interrupt for long periods of time. What makes you think it is missing interrupts?
Is there any change that I have to do in “Port files” of FreeRTOS ? Is there any change required based on my clock frequency or MSP430 part being used ?
You can check your FreeRTOSConfig.h Often we start with an example file that comes from a working demo project.
I was want to know if anyone have already been successful in implementing something similar ?
Loads and loads of peripheral drivers have been successfully implemented that work well with FreeRTOS 🙂 Does it always fail? Or just sometimes? I think that you will have to debug more and see what happens differently after the scheduler has started compared to before. If you like, you can attach some of the interrupt-handling code? And also the code in your task? When your device is the master in a protocol like I2C or SPI, it means that you determine the speed of communication. Developing a slave driver for these protocols can be a pain because of the time constraints.