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]

RE: Assabet lock-up after 30 seconds



On 16-Mar-2001 Richard Panton wrote:
> We've just investigated a nasty problem with the Assabet board that I'm
> quite surprised no-one has mentioned on this list before.
> 
> Problem:
>     After 30 seconds of inactivity, the Assabet board appears to lock up,
> failing to respond to interrupts. However, pressing the STOP button in GDB
> appears to unlock the system.
> 
> Reason:
>     The RS232 driver on Assabet has an auto-power-down mode. So, after 30
> seconds of no GDB packets being transmitted, the RS232 drivers power down.
> When the next packet is sent from Assabet, the first 6 characters are
> corrupted because the RS232 drivers power up VERY slowly. This means that
> the GDB front-end does NOT see a valid GDB packet, and so will not send an
> acknowlegment (or a NAK). The code on the Assabet board sits in a loop in
> the cyg_hal_diag_mangler_gdb_putc() routine, with interrupts disabled,
> waiting for the ACK (or for a CTRLC, which explains why the STOP button
> unlocks the system).
> 
> Does anyone have any good ideas for a solution? The only ideas I have
> about this are not what I would call good:
> 
> * There's no way of forcing the RS232 drivers to stay on that we can see.
> 
> * Having a separate thread that printf()s something every 29 seconds will
> work, but that requires a KERNEL and timers in the eCos build.
> 
> * Sending 6 NUL characters before each packet would work, but would
> probably screw up the GDB protocol.
> 
> * Toggling the RS232 power (to power-off, then back to auto-power-off) MAY
> work, provided there's a 6 character delay before transmitting the first
> character of the GDB packet. Of EVERY GDB packet....
> 

What version of Assabet do you have? 
Do you think this is endemic to the SA-1110 (possibly revision sensitive)?

I ask because I've had the same Assabet on my desk turned on running RedBoot
for literally *months* and it's always responsive when I get back to it.


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