Commit Graph

23 Commits

Author SHA1 Message Date
Gareth McMullin 5020d1f05d Move semihosting support to cortexm.c.
Try to implement more syscalls.
2013-05-18 15:33:58 +12:00
Paul Fertser aca421d0bb Basic semihosting support
Implement bare minimum necessary to support console IO.

This works with standard newlib builds and is based on the reference
documentation:
http://infocenter.arm.com/help/topic/com.arm.doc.dui0471c/CHDJHHDI.html

Tested using gcc-arm-none-eabi-4_7-2013q1-20130313 for both
stm32f1-based BMP and stm32f0 target.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-05-18 15:33:58 +12:00
Paul Fertser 9c95f039cf Make code compatible with newlib-nano and use it for stlink
With gcc-arm-none-eabi-4_7-2013q1-20130313 and -O2 I get
   text    data     bss     dec     hex filename
  45744     304    2376   48424    bd28 blackmagic

With -Os the results are even more impressive:
   text    data     bss     dec     hex filename
  37900     304    2376   40580    9e84 blackmagic

Since -Os might lower the debugging speed, do not enable it yet in the
absence of real measurements.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-04-14 11:48:59 -07:00
Gareth McMullin f526a82773 Move breakpoint packet handler out of main gdb loop.
Use gdb_putpacketz for constant strings.
2012-11-03 20:38:27 +13:00
Gareth McMullin 538f4d41b6 Clean up whitespace. 2012-11-03 19:59:01 +13:00
Gareth McMullin dac1f60dc2 Clean up ancient bad typing and malloc madness. 2012-11-03 19:52:09 +13:00
Gareth McMullin 50b6c623d6 Check for null pointer before decalaring register array. 2012-11-03 19:04:27 +13:00
Gareth McMullin 0990c2224c Allow target attachment to timeout and report failure.
This is needed for if the target device is held in reset.
2012-11-03 16:42:46 +13:00
Gareth McMullin d64cec686a Signal on halt is now returned by target_halt_wait().
Fault unwinding is now handled internally in target implementation.
GDB server doesn't need to know about it.
2012-06-30 20:29:08 +12:00
Gareth McMullin 466bb66424 Made cur_target, last_target static in gdb_main.c.
Added target destroy notify mechanism.
2012-06-27 21:26:08 +12:00
Gareth McMullin 03fdd23e9c Added mechanism for target driver to add new monitor commands. 2012-06-24 21:41:32 +12:00
Gareth McMullin 6089a66dce Renamed target_flash_write_words to target_flash_write.
Buffer from GDB may not be aligned or integer number of words.
Corrected alignment in in STM32F1 driver.
2012-06-18 20:53:06 +12:00
Gareth McMullin a73f06c147 Cleaned up debug output on linux build. 2011-12-18 17:01:10 +13:00
Gareth McMullin c7c31d2502 Implement gdb 'qCRC' packet to support 'compare-sections' command. 2011-12-17 21:46:22 +13:00
Gareth McMullin 540573bc18 Fixed qSupported resonse. 2011-11-26 17:04:48 +13:00
Mike Smith ffda30f393 Add support for a more comprehensive target description, including the additional v7m registers.
This doesn't work with vanilla gdb, as for reasons unknown said vanilla gdb doesn't support XML target descriptions queried from the remote.

Add code to the fault unwinder to deal with the stack alignment fixup and FP registers.  Avoid saving/restoring registers that don't get trashed.
2011-11-25 17:07:46 -08:00
Gareth McMullin d73ac40ef1 Added preliminary support for the STM32F4. 2011-11-12 19:15:52 +13:00
Gareth McMullin adabaa7592 Halt and detach target if host releases DTR.
Port reads 0x04 (EOF) when DTR is released.  GDB loop detaches from
target if EOF is read.
Fixes bug 3307433.
2011-07-02 20:47:39 +12:00
Gareth McMullin be91386c0a Minor changes to allow a build for Windows hosts with libftdi. 2011-03-29 20:01:15 +13:00
Gareth McMullin 32cabac0f3 Stack is now unwound on hardfault. 2011-02-21 20:57:56 +13:00
Gareth McMullin 981a906898 Changed some uint32_t to unsigned long to remove warnings. 2011-02-07 08:32:33 +13:00
Gareth McMullin 5788445ab2 Changed to use sprintf/sscanf by default.
Overridden by STM32 platform.h to use newling siprintf/siscanf.
2011-02-06 19:36:01 +13:00
Gareth McMullin 406617a2a4 Import of working source tree. 2011-02-04 20:23:52 +13:00