This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Ctrl-C/Break with RedBoot, GDB and TCP
- To: 'Gary Thomas' <gthomas at redhat dot com>
- Subject: RE: [ECOS] Ctrl-C/Break with RedBoot, GDB and TCP
- From: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>
- Date: Thu, 26 Oct 2000 10:49:38 -0700
- Cc: "Ecos-List (E-mail)" <ecos-discuss at sourceware dot cygnus dot com>
> -----Original Message-----
> From: Gary Thomas [mailto:gthomas@redhat.com]
> Subject: RE: [ECOS] Ctrl-C/Break with RedBoot, GDB and TCP
[...]
> > So How do we do that ?
>
> Does your application include the TCP/IP stack?
No. (Not yet).
[...]
> If you don't have TCP/IP included in your application, then
> any interrupts
> from the ethernet device should come into the system via the "default"
> interrupt handler. This handler should call into RedBoot
> appropriately.
>
> Finally, your application needs to have CYGSEM_USE_HAL_MONITOR set for
> any of this to work properly (IIRC).
I think I need CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT too.
I've dome some printf'ing too and the problem is probably the
hal_saved_interrupt_state variable which is used in hal_ctrlc_isr (file
hal_if.c) as an argument to cyg_hal_user_break.
(By the way this variable is declared as a 'struct HAL_SavedRegisters*' and
is transtyped to a 'CYGADDRWORD*' when passed to cyg_hal_user_break which in
turn trantype its argument to plain 'HAL_SavedRegisters*' not a struct... So
far I've only found one arch that defined HAL_SavedRegisters as a struct,
but all define it as a type. It won't compile if you try to access a member
of the struct)
Thanks
--
Fabrice Gautier
fabrice_gautier@sdesigns.com