Gareth McMullin
01d0390b54
Fixed build for stlink platform.
2012-06-28 20:49:32 +12:00
Gareth McMullin
22993fb5bd
Clear target error on attaching.
...
Fixes possible lock-up on devices booting from blank flash.
2012-06-28 20:11:53 +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
4581da2034
Added option byte programming commands for STM32F1.
2012-06-26 21:02:11 +12:00
Gareth McMullin
29b9e103fb
Fixed crash on monitor commands with no attached target.
2012-06-26 19:48:50 +12:00
Gareth McMullin
94516329a0
Added 'erase_mass' command for STM32F1 and cleaned up some magic numbers.
2012-06-26 19:42:41 +12:00
Gareth McMullin
0e768664ac
Added 'vector_catch' command to control trapped vectors on Cortex-M.
2012-06-25 21:19:09 +12:00
Gareth McMullin
b0d41d155a
Made SAM3X monitor commands static.
2012-06-25 21:16:20 +12:00
Gareth McMullin
8b7c6bbaba
Added monitor commands to set GPNVM bits on SAM3X.
2012-06-24 21:55:22 +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
a16123997b
Added target.c for common target routines.
2012-06-24 19:08:49 +12:00
Gareth McMullin
8872315e82
Updated lmi, nxp and stm32f4 drivers to use adiv5_target_ap().
2012-06-24 14:44:02 +12:00
Gareth McMullin
cb19164f2f
Added flash erase function for Atmel SAM3X.
2012-06-23 21:13:08 +12:00
Gareth McMullin
c09cbe8719
First cut at an Atmel SAM3X driver.
2012-06-22 23:13:25 +12:00
Gareth McMullin
33905d7203
Check target error after target specific probes.
2012-06-21 20:54:56 +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
bc7e7d2112
Removed target header files containing a single prototype.
...
Target probe prototypes are all in target.h now.
2012-06-18 20:27:06 +12:00
Gareth McMullin
bc5a6f022b
Renamed Cortex-M driver appropriately since it support M0, M3 and M4F.
2012-06-18 19:56:19 +12:00
Gareth McMullin
0599bdc5c4
Cleaned up STM32F1 driver and renamed appropriately.
2012-06-18 19:46:41 +12:00
Gareth McMullin
3a0cc44bbe
Cleaned up access to ADIv5 AP in Cortex-M driver.
2012-06-18 19:28:06 +12:00
Gareth McMullin
8920864cb3
Cleaned up access to ADIv5 AP for target.
2012-06-18 19:19:13 +12:00
Gareth McMullin
54f4467c0f
Added stlink platform for Discovery boards and ST's ST-Link hardware.
2012-06-10 19:06:37 +12:00
Gareth McMullin
89bcdcc60a
Moved stm32 generic platform files out of native platform dir.
2012-06-10 17:34:26 +12:00
Gareth McMullin
acff8d4497
Made jtagtap.c and swdptap.c STM32 generic.
2012-06-10 17:08:14 +12:00
Gareth McMullin
8d190cdbb9
Renamed platforms to 'native' and 'libftdi' and moved into 'platforms' dir.
2012-06-10 16:40:07 +12:00
Gareth McMullin
c825270561
Indicate UART activity on yellow LED.
2012-06-10 15:45:38 +12:00
Gareth McMullin
c1a34f3f59
Removed incorrect directory references in Makefile.
2012-06-10 15:45:38 +12:00
Gareth McMullin
eabd4654f9
Use the same LED for run/idle. Reserve spare LED for UART.
...
Enable AFIO to fix EXTI for USB VBUS detect.
2012-06-10 15:45:38 +12:00
Gareth McMullin
c35d0b29b3
Removed a stray printf.
2012-06-03 21:28:39 +12:00
Gareth McMullin
bad49dbb90
Added missing stm32/usbuart.h.
2012-05-27 13:02:45 +12:00
Gareth McMullin
6030ff6f26
Separated USB UART interface into separate file.
2012-05-26 22:53:29 +12:00
Gareth McMullin
3dcdc5b26f
Improve USB UART handling. Fix interrupt priorities.
2012-05-26 20:57:47 +12:00
Gareth McMullin
e533812c32
Use our new USB VID/PID. Thanks OpenMoko, Inc.
...
DFU now uses the same short serial number as application.
2012-05-26 15:20:23 +12:00
Gareth McMullin
01bf5e6b44
Fixed and cleaned up build for libftdi platform.
2012-05-26 15:05:37 +12:00
Gareth McMullin
8d2c0ff9e5
Report target voltage on scan.
...
ADC is used on mini hardware, standard hardware reports ok/absent.
2012-05-23 21:44:39 +12:00
Gareth McMullin
40bb74cc81
Detect hardware version. Disable UART on mini h/w under debug.
2012-05-23 20:25:45 +12:00
Gareth McMullin
700f9e6ad1
DFU: Erase option bytes before writing.
2012-05-23 19:31:51 +12:00
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
Gareth McMullin
a6f2117d1d
Further cleanup of adiv5*
2011-03-08 22:15:35 +13:00
Gareth McMullin
b8462dd1f2
Removed useless abstraction of low-level AP access functions.
2011-03-07 07:12:14 +13:00
Gareth McMullin
91815f2d23
Cleaned up some magic numbers in adiv5*
2011-03-05 23:43:03 +13:00
Gareth McMullin
a139aae479
Cleaned up more magic numbers in cortexm3.c
2011-03-02 21:34:36 +13:00
Gareth McMullin
c648d7c9e2
Cleaned out some magic numbers in cortexm3.c
2011-03-02 19:28:47 +13:00
Gareth McMullin
c43e392f8c
cm3_fault_unwind: Adjust stack pointer after reading registers.
2011-02-23 18:14:44 +13:00
Gareth McMullin
c9774944de
Removed debugging output in cm3_fault_unwind().
2011-02-21 21:04:57 +13:00
Gareth McMullin
32cabac0f3
Stack is now unwound on hardfault.
2011-02-21 20:57:56 +13:00
Gareth McMullin
0dfdc25bb2
Added git info to version output.
...
Fixed memory leak in SWD mode.
2011-02-18 13:50:21 +13:00
Gareth McMullin
660e861725
Force SRST high. Hopefully fixes target getting stuck in reset.
2011-02-17 18:00:03 +13:00
Piotr Esden-Tempski
e28edc0899
Removed redundant linker parameters.
2011-02-16 20:47:56 -08:00
Piotr Esden-Tempski
c8d1b8d0cc
Cleaned up CFLAGS and LDFLAGS as well as targets to use the correct flags. Now blackmagic will compile also on a multilib compiler.
2011-02-16 20:24:26 -08:00
Gareth McMullin
b36242d021
CDC-ACM now asserts DCD to allow opening tty devs in BSD/MacOS.
...
Cleaned up compiler warnings.
2011-02-17 15:06:27 +13:00
Gareth McMullin
f08914ec1f
Fixed DFU_DETACH request handling when usb-uart is excluded.
2011-02-16 09:04:06 +13:00
Gareth McMullin
f9a7cd9c6e
Fixed interface number of DFU when UART isn't included.
2011-02-12 22:24:37 +13:00
Gareth McMullin
df5c3d06d5
Added extra ACM interface for serial emulation using USART1.
2011-02-12 22:06:53 +13:00
Gareth McMullin
f293cc4bc1
Improved Linux/libftdi platform support.
...
Tested with Floss-JTAG. SWD working.
2011-02-10 15:24:54 +13:00
Gareth McMullin
d1cf80db33
Updated README, added HACKING.
2011-02-09 16:56:42 +13:00
Gareth McMullin
8628babbb0
Linux jtagtap and swdptap now clean up before re-initialising.
2011-02-07 13:38:13 +13:00
Gareth McMullin
5cc8ff5404
Made Linux jtagtap_init() more verbose on errors.
2011-02-07 13:08:45 +13:00
Piotr Esden-Tempski
bb0981b22f
Changed CFLAGS and LDFLAGS setting to allow exporting of additional parameters in the calling shell.
2011-02-06 15:09:07 -08:00
Gareth McMullin
79182edc44
Replaced some binary constants with hex.
2011-02-07 12:01:29 +13:00
Gareth McMullin
a6f84018f6
Fixed debug output of Linux swdptap_bit_in()
2011-02-07 11:32:30 +13:00
Gareth McMullin
5d747a52ce
Restored old Linux platform and added untested SWDP support.
2011-02-07 11:00:10 +13:00
Gareth McMullin
c8ef57a7b5
Removed rotten and broken LMI flash algorithm.
2011-02-07 08:45:52 +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
202de4f703
Fixed 'mon version' to show license as GPLv3+.
2011-02-05 15:12:24 +13:00
Gareth McMullin
d0a1c7f4df
Fixed configuration of JTAG signals.
2011-02-05 12:24:13 +13:00
Gareth McMullin
406617a2a4
Import of working source tree.
2011-02-04 20:23:52 +13:00