Greg Ungerer wrote:
> Hi Olivier,
> Olivier Bouyssou wrote:
> > In my design I use a st16c2550 device from Exar (a 16550A like). One of
> > his interrupt line is connected to IRQ7 of the 5206e.
> > My problems occur when i use this device : the kernel freeze and
> > enter in a infinit loop after a variable time of use.
> > So my questions are :
> > - Does the driver (serial.c) for the 16550 of the uClinux distribution
> > for ColdFire work correctly ?
> Yep, I use it with a Connectix modem chip (which has built in 16550
> > - Is it possible to use the interruptions of level 7 without affected
> > the operation of the kernel ?
> Most definately. IRQ7 is special on the ColdFire's. It is, when enabled,
> a Non-maskable interrupt. The usual cli/sti protections don't apply
> to it. So the code for something like the serial.c driver is simply
> not going to work as you expect.
> I would strongly recommend using another IRQ line if you have one spare.
Thank you for your answer.
Also, I insist because I do not have an interruption of free :
- irq7 & irq4 for the st16c2550.
- irq1 for a CS8900.
I tried to modify the functions sti and cli in way to mask irq7 via
register IMR or register FCR of the 16550.
But now I obtain "spurious interrupts", because it happens sometimes that
the core take into account the interruption during the instruction which
clear the pending bit.
I could call rs_interrupte when that arrives but it is not beautiful.
I looked at serial.c and it seems to to me that it must be possible to share
an interruption with some modifications. what do you think about it ?
In this case the mofications hardware would be simpler...
-- Olivier Bouyssou (F1NXH), Paratronic firstname.lastname@example.org 22 rue paul verlaine 31570 st Foy d'Aigrefeuille Tel : +188.8.131.52.81.82 Fax : +184.108.40.206.54.16 This message resent by the email@example.com list server http://www.uClinux.com/
This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:37 EST