[ECOS] Ctrl-C on TCP problem

Damir Salantic damir@INTESIS.hr
Wed Sep 26 03:53:00 GMT 2001


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.

If we set
cyg_hal_user_break( (CYG_ADDRWORD *)NULL);
program will stop, but always on this line.

Where am I wrong?
How to stop execution on current instruction when pressed Ctrl-C ?

Thanks
Damir Salantic




More information about the Ecos-discuss mailing list