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 on TCP problem


Damir Salantic wrote:
> 
> Hi.
> 
> I'm having problems with Ctrl-C support during debug over TCP, using CVS
> Redboot and eCos..
> I found out the following:
> When I press Ctrl-C following functions are called:
> -__default_interrupt_vsr
> - cs8900_isr()  (just masks interupt)
> - eth_drv_dsr()
> - ecos_synch_eth_drv_dsr()
> - cyg_flag_setbits() sets alarm_flag
> Here interrupt processing ends.
> - alarm_thread() calls eth_drv_run_deliveries()
> - hal_ctrlc_check()
> - cyg_hal_user_break( (CYG_ADDRWORD *)hal_saved_interrupt_state );
> 
> Last function sets breakpoint on address from which we entered
> __default_interrupt_vsr(), but we are not any more in ISR (nor DSR), but in
> alarm thread. So program will not stop on breakpoint.

Yes you are still in the DSR. cyg_hal_user_break should ste a breakpoint on
the return address from the interrupt (after the DSR finishes). You should
investigate why that isn't happening.

Jifl
-- 
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine


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