System Description:
-------------------
We have a custom LPC1778 board. We have connected a FerroRam chip
MB85RC256V to I2C0 Bus. The I2C clock rate is 100kHz.
The system has one Timer Interrupt coming at every 2ms and
interrupt load as about 200uS.
We are using CMSIS V2.00 lpc177x_8x libraries for handling
I2C communication. Basically we are calling
"I2C_MasterTransferData(...)" function with
required parameters. The I2C is used in POLLING mode. The calls to
the library function are made from the Main Program. The program is
required to write and read the memeory in blocks of 64Bytes.
Surely the Timer Interrupt, interrupts the library call.
Problem:
--------
After the system starts we observe some values getting written
at the non-addressed locations.
Observations:
-------------
If we disable interrupt across the library call, everything works fine.
1. I2C Specs does not talk about any timeouts.
2. What are we missing, Which part of the driver is required to be immutable.
Any help will be highly appreciated.
Thanks in advance,
Vijay Vaidya