This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: serial line ISR problem -- again:(


On Tue, Sep 09, 2003 at 02:10:24PM +0200, Eric Doenges wrote:
> Since I'm not familiar with 16550 programming, I don't know if you are
> using it correctly (you might want to check your code against the
> generic 16550 driver included with eCos).

I use few references both printed and online and I thought I'm familiar
with UART programming until I started playing with ECOS:(

> Are you sure COM1 is located
> at IO address 0x3f8 and uses IRQ 4 ? Many boards' BIOSes allow you to
> change at least the interrupt line used.

I'm 100% sure address is correct. When I poll serial line status
register in for(;;) readen values corresponds to what I see on
osciloscope. The problem is I cannot get ISR to work. I thought it was
some mistake in ECOS interface -- ie. creating thread or assigning to a
wrong vector (actually I have to use CYGNUM_HAL_ISR_MIN + COM_IRQ
instead COM_IRQ).

Or that I have to cug_scheduler_start() to actually enable IRQs.

So if you don't see error in that portion, I belive there is some mistake
in UART initialization. Doesn't it hurd, that ECOS may have already
assigned some ISR to serial port? -- but it shouldn't, as I check it
with HAL_INTERRUPT_IN_USE(), right?

-- 
Piotr Trojanek

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]