[ale] UART Debugging headache w/ embedded Linux SBC
John Mills
johnmills at speakeasy.net
Mon Jan 16 14:32:17 EST 2006
Christopher -
Thanks for the note.
On Mon, 16 Jan 2006, Christopher Fowler wrote:
> My concern would be why the line is not getting reset. Possibly the
> kernel has locked up while servicing the interrupt? When the board
> locks up do you know what the kernel is actually doing at that point?
I guess the kernel could be doing almost anything at that point. There's
quite a bit going on in normal activity. I suspect this scenario:
1. UART receives some input or detects something that sets its IRQ while a
normal character interrupt is being handled.
2. The condition reflected by the IRQ is not tested nor reset at exit by
the driver.
3. The persistent IRQ results in a tight loop of exit-renter-re-exit-...
at the ISR level.
Naturally that's just guesswork at this point, and carries a number of
assumptions.
> Is this UART on a separate PC/104 module is it part of the SBC? Is the
> SBC the TS-7200?
The UART is on a separate, specially built PC/104 board that also carries
a modem (which may be signalling something to the UART). The SBC is
actually a TS-7250 (lighter-weight sibling of TS-7200).
Next step is a look at the modem's signals with a 'scope. Other approaches
and/or leads are naturally welcome.
Cheers.
- Mills
> On Mon, 2006-01-16 at 14:03 -0500, John Mills wrote:
> > ALErs (particularly embedded-processor wonks) -
> > I have an ARM/linux single-board computer that experiences irregular
> > but fairly frequent (~1s. to 3:45hr.) lockups. It appears that an
> > off-board 16550A UART has requested an interrupt that was not
> > successfully reset by the (generic) kernel driver. It may send 200
> > packets fine, then lock - effectively freezing the board.
More information about the Ale
mailing list