I2C not always starting up properly
I have a design with an STM32F415 MCU which has two I2C-peripherals: a CAT24AA16 serial EEPROM and a TSC2007 touch screen controller on the same I2C bus. I2C setup is standard as generated by CubeMX.
I find that 90% of the time the system starts up OK with both peripherals working fine, but in the other 10% the system starts up with always both peripherals seemingly not working and HAL_I2C_IsDeviceReady giving HAL_ERROR as result on both peripherals. Usually giving one or more system resets on the MCU (without power-cycling the whole PCB) solves the problem which leads me to believe that it's not the peripherals that are in some wrong state but something within the MCU is. Giving the statistical nature of the problem, it could perhaps be a register or variable which is not initialised properly and has an undefined power-up state.
Has anyone experienced this and/or has any tips where to look for a solution?
