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: Ctrl-C/Break with RedBoot, GDB and TCP


> -----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 

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