Re: Exar multi port serial, Com16550 driver interrupt problem
From: Suhan (isphsuhan_at_gmail.com)
Date: 11/08/04
- Next message: Steven: "why the def file doesn't function?"
- Previous message: TienSung: "Re: Trouble insalling SMIVGX Smart motion Display driver WinCE5.0"
- In reply to: vijay: "Re: Exar multi port serial, Com16550 driver interrupt problem"
- Next in thread: Martin: "RE: Exar multi port serial, Com16550 driver interrupt problem"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 8 Nov 2004 10:19:23 +0900
I haven't been working on this for a long time so the details are a bit
fuzzy but here it goes.
First of all, I decided to use different dlls for each UART. That simplified
the code considerably because I didn't have to try to set the code up to
support multiple UARTs. If time is a constraint you could try that mehod as
well. (example.. xr1.dll, xr2.dll, etc...)
How are your interrupts set up?? Microsoft recommend keeping the ISR routine
as short as possible. However, in this case I had to set up a small routine
that checked the chip for which UART was calling the interrupt. The 16L788
has one interrupt pin for different independant interrupts. So you have to
check the chip each time an interrupt occurs to find out which UART the
interrupt is from. I think this might be your biggest problem. 16C550
compatible means that it shares the same register configuration. However,
because this is a multiple UART chip, you'll have to think about how the
interrupt and chip selects are set up.
To save time, I changed the hardware to the ST16C554DCQ chip. This chip has
independant interrupts and chip selects for each UART and is also 16C550
compatible. This might save you a lot of work because I don't really think
the 16L788 with one interrupt, and one chip select for multiple UARTs is a
good configuration for Windows CE.
Hope that helps...:)
ISPH
MechShadez
MS MVP (Windows Embedded)
"vijay" <vijaya_mit@hotmail.com> wrote in message
news:aea5c7a2.0411062311.6581704f@posting.google.com...
> "Bill T" <btheisen@itis.com> wrote in message
news:<udlSv4$wEHA.1512@TK2MSFTNGP12.phx.gbl>...
> > Vijay
> >
> > It looks like you are trying to make the MS serial driver work with the
Exar
> > UARTS. Are you aware that Exar offers a CE serial driver for there
multiple
> > UARTS?
> >
> > "vijay" <vijaya_mit@hotmail.com> wrote in message
> > news:aea5c7a2.0411060350.1c181463@posting.google.com...
> > > Hi,
> > > i am facing problems in interrupt recognition for the com16550
> > > driver
> > > The driver is for a octal serial port with shared irq. i am having
> > > separate
> > > instance of the com16550 driver for each port in the octal. The
> > > detection
> > > as to which port caused the interrupt is done in ISR.
> > >
> > > The problem seems to be in the SL_getinterrupttype function reading
> > > interrupt
> > > type from IIR register. The value read indicates that there is no
> > > interrupt
> > > when data is sent( the value of IIR is often "0xb" but sometimes shows
> > > rx
> > > interrupt or modem intr when transmitting data !!!)
> > > i can send one byte or max 16 bytes ( max size limited to 16 even
> > > though
> > > fifo size is 64) but after that when interrupt occurs the interrupt is
> > > not
> > > rightly recognised.
> > >
> > > even though i went thru the mailing list i couldnt find any solution..
> > > the register stride is 1 and addresses seems to b ok
> > > ...i must be missing something
> > >
> > > please can anyone help me out with this ..
> > > thanks in advance
> > >
> > > Summary of my platform:
> > > Processor: Hitachi SH3 (7727)
> > > WinCE version: 4.2
> > > Platform Builder version: 4.2
> > > Download transport: Ethernet
> > > Debugger transport: Serial (115200 8-N-1) (SCI port)
> > > Octal Uart :Exar XR16L2750
> > > Dual Uart :Exar XR16L788
> > >
> > >
>
> Bill thanks for the reply..
>
> we contacted exar before ,they dont have a WinCE driver for XR16L788..
> but the XR16L788 octal uart is supposed to b 16C550 compatible so i
guessed
> that the MS com16550 driver might work with it..
>
> we have a dual uart from exar for which the WinCE driver from exar is
giving
> similar problems..the interrupt from the octal and the dual uart is
connected
> to the PINT0 (octal shared interrupt) and PINT1 and PINT2 respectively
>
> i dont have any debugger working hence its proving tough to debug..
> neither the kitl is setup..i am relying on debug messages from the driver
> I must b missing something .it would b helpful if someone can point out
> or give some suggestions
- Next message: Steven: "why the def file doesn't function?"
- Previous message: TienSung: "Re: Trouble insalling SMIVGX Smart motion Display driver WinCE5.0"
- In reply to: vijay: "Re: Exar multi port serial, Com16550 driver interrupt problem"
- Next in thread: Martin: "RE: Exar multi port serial, Com16550 driver interrupt problem"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|
|