24 Commits

Author SHA1 Message Date
Gareth McMullin
bed6627579 adiv5: Implement access to DP ABORT register. 2016-04-20 11:36:42 -07:00
Gareth McMullin
cd1d72257f Cleanup of SRST handling.
- Remove connect_assert_srst global.
- Attach functions always release reset.
- Platforms provide a method to poll the reset pin.
- Reset on scan is all internal to command.c
- Reset is released on a failed scan.  Fixes #111
2016-04-19 13:12:16 -07:00
Gareth McMullin
294d93cfe3 Fix build warnings. 2016-04-18 12:25:48 -07:00
Gareth McMullin
83b83ca48f Use controlled timeout on SW/JTAG DP transactions. 2015-03-22 12:26:45 -07:00
Gareth McMullin
d6225eec76 Raise timeout exception when target is in WFI.
Ignore the exception when polling for halt, and report the exception
to the user if halting the target fails.
Remove old allow_timeout flag in DP struct that's no longer needed.
2015-03-22 12:26:45 -07:00
Gareth McMullin
fa046601a5 Add exception handling mechanism and raise exception on low-level comms failure. 2015-03-22 12:26:45 -07:00
Gareth McMullin
c3f798438a Remove abstraction of adiv5_dp_write. Both implementations were identical. 2015-03-15 17:12:31 -07:00
Gareth McMullin
2e785e56fa adiv5: Encode APnDP into register definition.
Clean up magic numbers in adiv5 calls.
Removed old adiv5_dp_write_ap and adiv5_dp_read_ap.
2015-03-14 18:03:04 -07:00
Gareth McMullin
4d4813de87 Clean up includes everywhere.
All source files include general.h first and before anything else.
This inlcludes platform.h and platform_support.h
No header file needs to include to include any of these, but should include
any others needed for it's own declarations.
2015-03-01 22:16:04 -08:00
Gareth McMullin
75001a4421 Factor Morse code functions out of platform code. 2015-02-28 22:05:10 -08:00
Gareth McMullin
a30ef31018 Handle SW-DP fault on WDATAERR. 2013-06-19 21:06:59 +12:00
Gareth McMullin
d8f737fc53 Disable ADIv5 timeout while target is running. 2013-06-19 21:05:53 +12:00
Paul Fertser
d90e10cdba adiv5_swdp: avoid dead-loop with a sleeping target
A sleeping target continues to communicate over SWD properly but
consistently returns SWDP_ACK_WAIT.

It might be nice to be able to wait for the target to wake up on its
own but if it's not going to wake up, BMP becomes absolutely
unresponsive. Probably the timeout should be made configurable or some
other workaround invented.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-06-19 19:28:16 +12:00
Gareth McMullin
8c877d6dfa Fix trailing whitespace everywhere. 2013-06-17 15:53:32 +12:00
Paul Fertser
e0fc21a2a7 adiv5_swdp: allow to connect to a sleeping target by pulling SRST
This patch introduces a new command, "connect_srst [enable|disable]"
which allows to enable special mode in which SRST would be pulled low
before the SWD scan till attaching to a target.

Since on Cortex-Mx the SRST signal doesn't gate JTAG and SWD, it's
possible to connect to a target while holding reset, ask it to stop at
reset vector and only then deassert reset, thus allowing to attach to
the kind of firmware that goes immediately to sleep or disables
debugging by other means early on start.

Tested on an STM32VLDiscovery board with STM32F100 configured to go to
STOP mode and executing WFI in the very beginning of main().

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-05-14 12:32:44 +12:00
Gareth McMullin
00c4dbfb11 ADIv5 AP and DP are now allocated on the heap and reference counted.
They are unref'd and free'd automatically when the target list is
destroyed.
2012-07-05 19:23:28 +12:00
Gareth McMullin
a16123997b Added target.c for common target routines. 2012-06-24 19:08:49 +12: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
0dfdc25bb2 Added git info to version output.
Fixed memory leak in SWD mode.
2011-02-18 13:50:21 +13:00
Gareth McMullin
79182edc44 Replaced some binary constants with hex. 2011-02-07 12:01:29 +13:00
Gareth McMullin
5d747a52ce Restored old Linux platform and added untested SWDP support. 2011-02-07 11:00:10 +13:00
Gareth McMullin
406617a2a4 Import of working source tree. 2011-02-04 20:23:52 +13:00