Re: Synchronization between ISR and IST - I2C Based device
- From: Geoff <moc.liamtoh@gnirrevliseht>
- Date: Fri, 22 Dec 2006 10:28:32 -0800
Never ever block in an ISR, leave that to the IST.
It sounds to me that your system design is a little flawed, your idea of a layered I2C driver is probably better then having the I2C driver in for each of your devices.
The i2c driver will service all interrupts then marshall the data to attached i2c devices.
Geoff
--
Mams wrote:
Dear Greats,.
We are using dual I2C Philips UART with single interrupt line source.
We have implemented ISR that reads the Interrupt Status Register
through I2C communication and resolves the proper UART1/UART2 logical
interrupt.
We having 3 devices communicating in I2C line from application layer
continuously. We are using I2C drivers (with critical sections in
place) to restrict I2C bus access.
The problem we are facing one of the device holds the I2C bus longer
time and if an interrupt comes from I2C UART. Then the ISR service may
not get the bus and the ISR will wait for bus release (dead lock occurs
here and the system hangs).
We like to know how to getrid of this deadlock condition by
1. applying any intermediate level driver (Which will resolve the
interrupt (UART1/UART2) in the driver level)
2. any mechanism to have synchronization between ISR and Driver
3. Sharing of interrupts
Kindly provide us some information, we are in high pressure.
With regards,
mams
- Follow-Ups:
- Re: Synchronization between ISR and IST - I2C Based device
- From: Srivathsan
- Re: Synchronization between ISR and IST - I2C Based device
- References:
- Prev by Date: Re: eboot run Undefined instruction exception
- Next by Date: Re: ISR load
- Previous by thread: Synchronization between ISR and IST - I2C Based device
- Next by thread: Re: Synchronization between ISR and IST - I2C Based device
- Index(es):
Relevant Pages
|
Loading