80 Commits

Author SHA1 Message Date
Gareth McMullin
241bf765ec DFU: Protect bootloader sectors if needed.
Check address bounds on erase/set address.
2012-05-22 21:47:18 +12:00
Gareth McMullin
de49a9a21f Remove dependencies on make clean. 2012-05-19 11:54:22 +12:00
Gareth McMullin
32c1af05de Don't clobber watchpoints used for trace. 2012-05-19 11:53:41 +12:00
Gareth McMullin
38bea69f8a Fixed some issues with trace port capture.
Process last capture even on timeout.  Prevents last bit getting lost.
On timeout, don't allow next edge to resync decoder.
Timeout on 6 bit periods instead of 5.
Set systick interrupt to low priority.
2012-04-29 20:35:19 +12:00
Gareth McMullin
86626085d8 Fixed TRACESWO capture.
'mon traceswo' reports serial number and interface/endpoint no for libusb.
Interrupt priorities set so TIM3 for trace is highest priority.
Increased trace endpoint packet size to 64.
Buffer many trace packets into a single usb packet.  Stall on overflow.
Fixed stop bit detection in TIM3 interrupt handler.
2012-04-22 12:27:18 +12:00
Gareth McMullin
b39572e17c Correct jtag port init to not interfere with usb vbus detect. 2012-04-22 12:21:24 +12:00
Gareth McMullin
c1e9425725 Cleaned up traceswo capture routine. 2012-04-20 17:56:41 +12:00
Gareth McMullin
21ecbd23ea Added capture of SWO, passed to host over a vendor specific USB interface. 2012-04-18 19:15:44 +12:00
Gareth McMullin
c0493ee0e8 Monitor USB VBUS to control D+ pull-up resistor. 2012-03-24 19:25:16 +13:00
Gareth McMullin
a43cbf65c9 Report FP registers as feature "org.gnu.gdb.arm.vfp".
This allows GDB to synthesise single precision registers S0-S32.
2012-02-12 14:59:42 +13:00
Gareth McMullin
38d8147774 Added FP register support. 2012-02-12 14:24:54 +13:00
Gareth McMullin
a08e0bdd9c Made command handlers static. 2012-02-12 14:24:18 +13:00
Gareth McMullin
35a9e10f49 Accept partial match of monitor commands. 2012-02-12 12:02:50 +13:00
Gareth McMullin
4282244fb4 stm32f4: Fixed chunk padding for flash programming. 2012-02-08 20:43:12 +13:00
Gareth McMullin
f5d8bda6e6 Support DFU GET_STATUS request when in application mode. 2012-01-19 21:51:42 +13:00
Piotr Esden-Tempski
a7f14e3cc0 Changed the unique id generation to be 8 characters long. This is so Mac OS X uses the the unique id for naming the device file instead of the location. 2012-01-16 22:54:37 -08:00
Gareth McMullin
53ebc6770e Configure CDC ACM packet size in a #define for easy access.
This doesn't work for >64 bytes.  Suspect bug in libopencm3.
2012-01-09 23:15:10 +13:00
Gareth McMullin
7e0de5b86b Inline GPIO functions and optimise for speed.
This gives a modest but measurable performance improvement.
2012-01-08 18:49:58 +13:00
Gareth McMullin
9663274572 Advertise that we accept SET_LINE_CODING and ignore it on GDB interface.
This fixes SetCommState failure on Windows.
2012-01-07 18:46:17 +13:00
Gareth McMullin
edaae3957a Use USB Interface Association Descriptors.
This allows windows to see it as a composite device and load different
driver for each interface.
2011-12-29 12:49:47 +13:00
Mike Smith
af45139767 Use a single static program buffer rather than allocating several on the stack. 2011-12-26 02:54:44 -08:00
Mike Smith
00651032ad Merge commit '4e0cd081b09d9bd3d444062ca1081fa59c31fc0b'
* commit '4e0cd081b09d9bd3d444062ca1081fa59c31fc0b':
  Improved magic number garbage in cortexm3.c
  Cleaned up debug output on linux build.
  Removed #if LIGHT for unfinished hardware.
  Implement gdb 'qCRC' packet to support 'compare-sections' command.
2011-12-26 02:47:38 -08:00
Mike Smith
bc4c87e45b Add support for Cortex-M0, and specifically for the NXP LPC11xx devices. 2011-12-26 02:34:45 -08:00
Gareth McMullin
4e0cd081b0 Improved magic number garbage in cortexm3.c 2011-12-18 17:46:36 +13:00
Gareth McMullin
a73f06c147 Cleaned up debug output on linux build. 2011-12-18 17:01:10 +13:00
Gareth McMullin
8061205260 Removed #if LIGHT for unfinished hardware. 2011-12-18 16:43:02 +13:00
Gareth McMullin
c7c31d2502 Implement gdb 'qCRC' packet to support 'compare-sections' command. 2011-12-17 21:46:22 +13:00
Mike Smith
2653222d08 Tweak the flash uploader to handle unaligned start and end pointers,
padding with all-1s so that overlapping data is preserved.
2011-12-14 23:41:40 -08:00
Mike Smith
bba42ff6c9 Merge branch 'master' of git://github.com/gsmcmullin/blackmagic 2011-12-14 23:10:53 -08:00
Gareth McMullin
45eee497d0 stm32f4: Improve behaviour when a section doesn't end on a word boundary.
This may not be an acceptable fix.  It may be possible for the linker
to place another section on the remainder of the offending work.
2011-12-14 22:59:42 +13:00
Gareth McMullin
c5b4022ed8 Default to DTR=1 if no request received.
This is needed on Mac where opening the port doesn't assert DTR.
Thanks to Mike Smith.
2011-12-07 20:57:10 +13:00
Mike Smith
c9860e7716 Make it possible to build with libopencm3 installed in a nonstandard location 2011-12-05 23:01:24 -08:00
Gareth McMullin
61cfbf16c6 Fixed flash stub for STM32F2 and STM32F4.
Added JTAG idcodes for these devices.
2011-12-02 21:55:14 +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
Mike Smith
8babb37472 Add a prototype for the F4 probe routine to silence a warning 2011-11-25 17:04:47 -08:00
Mike Smith
fa7ae87e25 Mention the CCM (CPU-only RAM) in the F4. 2011-11-25 17:04:23 -08:00
Gareth McMullin
f06bded8dd linux: Set SO_REUSEADDR on gdb server socket.
Renamed HOST environment variable to PROBE_HOST.

Thanks to Michael Smith for the patch.
2011-11-25 22:55:07 +13:00
Gareth McMullin
d73ac40ef1 Added preliminary support for the STM32F4. 2011-11-12 19:15:52 +13:00
Gareth McMullin
7b13bae8dc Don't send anything on USB if not configured or DTR is released. 2011-11-12 13:46:16 +13:00
Gareth McMullin
33e1352c34 Merge branch 'master' of github.com:gsmcmullin/blackmagic 2011-10-30 13:43:33 +13:00
Gareth McMullin
d85a399559 Updated to build with new libopenstm32 with f1/f2 split. 2011-10-30 13:42:27 +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
bd779aa618 Defined and used register definitions for DWT. 2011-04-27 21:57:35 +12:00
Gareth McMullin
40eeb1788b Defined and used register names for flash beakpoints. 2011-04-27 21:57:35 +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
c9ea16312b Added more ARM7TDMI functions. Still not usable. 2011-03-12 21:03:42 +13:00
Gareth McMullin
c062e60059 cm3_reset polls for reset to complete. cm3_fault_unwind checks FORCED in HFSR. 2011-03-12 13:57:32 +13:00
Gareth McMullin
4c75ac524b Started halt/resume for ARM7TDMI. 2011-03-11 00:02:08 +13:00
Gareth McMullin
fcdbf8efc8 Added a skeleton of an ARM7TDMI driver. No support yet. 2011-03-09 19:03:41 +13:00