This is the mail archive of the ecos-discuss@sourceware.org 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]

Fwd: Interrupt stacking issues


Sorry - forgot to send it to the mailing list...


---------- Forwarded message ----------
From: Alan Bowman <alan.michael.bowman@gmail.com>
Date: 19 July 2012 11:10
Subject: Re: [ECOS] Interrupt stacking issues
To: Martin Hans <mha@sophion.com>


> what are you using the serial port for?

I'm sending commands to my board, and some of them run to hundreds of
characters long.  I'm also receiving responses back, although I've
never had any issue with that side of the link.  I have three ports in
use, and I think I've seen the same issue with all three.  It's more
repeatable with one, though, as I have more control over the data
being sent.

> I've had the problem that I would miss interrupts because I was using diag_printf. This function apparently disables interrupts. Switching to printf and configuring printf such that it is interrupt driven fixed that situation for me.

I don't think this is quite the same thing.  I don't think I'm missing
interrupts (at least, I'm definitely not when I have a "working"
configuration).  When it breaks, though, I have what seems to be the
same interrupt piled on top of itself a load of times until the stack
overflows.  It's like there's a place where the old ISR is still on
the stack when it gets re-enabled and run again... and again.. etc.
It's more likely the DSR/scheduler, rather than the ISR itself,
though.

Alan

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


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