This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Question about 'plf_abort_isr' handler
- From: Sergei Gavrikov <w3sg at SoftHome dot net>
- To: ecos-discuss list <ecos-discuss at ecos dot sourceware dot org>
- Date: Fri, 19 Jan 2007 16:54:52 +0200 (EET)
- Subject: [ECOS] Question about 'plf_abort_isr' handler
Hello eCos veterans,
I did found one cool thing was applied for some (old?) targets
<plf>_misc.c:<plf>_abort_isr(...)
and that ISR handler has the 3rd parameter (HAL_SavedRegisters *regs).
It seems (I don't known) that is a deprecated feature, but I'd liked it,
because I have no JTAG for my target, my question is, What is a modern
fashion for such a CTRLC_SUPPORT? I do find this is a nice alternative
method to wake up GDB ;) My target does have a button had been wired to
an EXTINT.
I did this, look at that, please, and it works for me (but it seems that
I lose the highest CPU frame info)r. What did I miss?
On Press that `Abort' button, I get in GDB
Program received signal SIGINT, Interrupt.
[Switching to Thread 3]
cyg_hal_user_break (regs=0x0) at current/src/hal_misc.c:138
138 CYGARC_HAL_GET_RETURN_ADDRESS_BACKUP(_cyg_hal_compiler_dummy);
Current language: auto; currently c
(gdb) bt
#0 cyg_hal_user_break (regs=0x0) at current/src/hal_misc.c:138
#1 0x810192cc in olpcl2294_abort_isr (vector=14, data=0)
at current/src/olpcl2294_misc.c:84
#2 0x81010430 in IRQ ()
#3 0x81010430 in IRQ ()
This is my implementation
#ifdef CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
static cyg_interrupt abort_interrupt;
static cyg_handle_t abort_interrupt_handle;
static cyg_uint32
myplf_abort_isr (cyg_vector_t vector, CYG_ADDRWORD data)
{
cyg_hal_user_break ((CYG_ADDRWORD *) 0);
cyg_drv_interrupt_acknowledge (CYGNUM_HAL_INTERRUPT_EINT0);
return CYG_ISR_HANDLED;
}
#endif
any help would be appreciated
Thanks,
Sergei
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss