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]

GDB Ctrl-C problem



Hi,

I'm porting eCos to a MIPS architecture from TX39/JMR3904
template. My problem is that when I press Ctrl-C in GDB,
the program stops at breakpoint() (in hal_stub.c) which contains
only one instruction: HAL_BREAKPOINT(_breakinst). How
could I let the GDB stop exactly at the interrupted instruction
rather than the breakpoint instruction itself? By looking into
cyg_hal_user_break(), it seems that it might help if
CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS is defined,
since in that case it will call breakpoint() instead of calling
HAL_BREAKPOINT() directly, and it seems that breakpoint()
should handle the program counter stuff. But in fact the breakpoint()
contains only one instruction HAL_BREAKPOINT(), so it makes
no difference. Could cyg_hal_gdb_interrupt() help? Can I replace
breakpoint() with cyg_hal_gdb_interrupt() in cyg_hal_user_break()?

The following is my configurations:

- eCos v1.3.1
- GDB stubs
      GDB Ctrl-C support enabled
      GDB break support disabled
      Startup type = ROM
      loaded and run by ICE
- application
      GDB stubs included
      GDB Ctrl-C support enabled
      GDB break support disabled
      Work with a ROM Monitor = GDB stubs
      Startup type = RAM

Thank you.



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