riscv-openocd/src/target
Paul Fertser 492bab62ab target/adi_v5_swd, cortex_m: properly handle more cases requiring reconnect
This brings SWD reconnection procedure in line with the ARM
documentation and changes cortex_m reset procedure to make use of it.

The motivation behind this patch is to make SAM4L "reset" and "reset
halt" properly without SRST. The complication here is that EDBG issues
an additional read of DP_RDBUFF automatically right after writing
SYSRESETREQ, that leads to a FAULT which needs to be dealt with
properly. With this patch the very first ahbap_debugport_init DAP
access will make SWD layer properly reinitialise the link before
continuing.

Runtime tested with mbed CMIS-DAP + KL25 only.

Change-Id: Ic506f9db30931dfa60860036b83f73b897975909
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2596
Tested-by: jenkins
Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2015-03-25 21:32:06 +00:00
..
openrisc openrisc: add profiling function 2015-03-09 06:38:15 +00:00
xscale update files to correct FSF address 2013-06-05 19:52:42 +00:00
Makefile.am drivers/cmsis-dap: port to common SWD framework 2015-03-25 21:31:09 +00:00
adi_v5_jtag.c adi_v5: Remove unused features of the DAP and SWD interfaces 2014-06-28 09:26:36 +00:00
adi_v5_swd.c target/adi_v5_swd, cortex_m: properly handle more cases requiring reconnect 2015-03-25 21:32:06 +00:00
algorithm.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
algorithm.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm.h armv7m: add FPU registers support 2015-03-09 06:36:30 +00:00
arm7_9_common.c armv7m: add FPU registers support 2015-03-09 06:36:30 +00:00
arm7_9_common.h arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm7tdmi.c Retire jtag_add_dr_out 2014-01-20 13:28:26 +00:00
arm7tdmi.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm9tdmi.c arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm9tdmi.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm11.c arm11: initialise DPM and register cache before reading DSCR for the first time 2015-03-09 06:39:28 +00:00
arm11.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm11_dbgtap.c Don't cast return value of [cm]alloc 2014-03-30 03:53:45 +00:00
arm11_dbgtap.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm720t.c [RFC] target: Move bulk_write_memory to arm7_9 2013-09-13 19:33:28 +00:00
arm720t.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm920t.c arm920t: fix write memory operations with caches enabled 2014-01-24 12:48:43 +00:00
arm920t.h arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm926ejs.c arm926ejs: fix write memory operations with caches enabled 2014-02-11 13:38:39 +00:00
arm926ejs.h arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
arm946e.c Clean up many C99 integer types format specifiers 2013-10-31 20:40:03 +00:00
arm946e.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm966e.c [RFC] target: Move bulk_write_memory to arm7_9 2013-09-13 19:33:28 +00:00
arm966e.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_adi_v5.c cortex_m: Add Cortex-M0 identification to ROM-table display. 2015-02-22 16:14:36 +00:00
arm_adi_v5.h swd: handle various failure conditions 2015-01-09 08:36:52 +00:00
arm_disassembler.c target/arm_disassembler: add exception related disassembly 2015-03-09 06:35:21 +00:00
arm_disassembler.h target/arm_disassembler: add exception related disassembly 2015-03-09 06:35:21 +00:00
arm_dpm.c armv7m: add FPU registers support 2015-03-09 06:36:30 +00:00
arm_dpm.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_jtag.c Retire jtag_add_dr_out 2014-01-20 13:28:26 +00:00
arm_jtag.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_opcodes.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_semihosting.c target: constify structures 2014-10-06 11:57:40 +00:00
arm_semihosting.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_simulator.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
arm_simulator.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5.c armv7m: add FPU registers support 2015-03-09 06:36:30 +00:00
armv4_5.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cache.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_cache.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_mmu.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv4_5_mmu.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
armv7a.c armv7a: fix interpretation of MMU table 2015-02-11 16:18:50 +00:00
armv7a.h cortex_a: Add support for A15 MPCore 2015-01-10 00:56:45 +00:00
armv7m.c armv7m: add generic trace support (TPIU, ITM, etc.) 2015-03-25 20:46:43 +00:00
armv7m.h armv7m: add generic trace support (TPIU, ITM, etc.) 2015-03-25 20:46:43 +00:00
armv7m_trace.c armv7m_trace, stlink: provide APIs to capture trace with an adapter 2015-03-25 20:46:59 +00:00
armv7m_trace.h armv7m_trace, stlink: provide APIs to capture trace with an adapter 2015-03-25 20:46:59 +00:00
avr32_ap7k.c target: constify structures 2014-10-06 11:57:40 +00:00
avr32_ap7k.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_jtag.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_jtag.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_mem.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_mem.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_regs.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
avr32_regs.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
avrt.c target: remove unimplemented target_request_data implementations 2013-09-08 16:12:41 +00:00
avrt.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
breakpoints.c target: constify structures 2014-10-06 11:57:40 +00:00
breakpoints.h gdb server: new feature, add stop reason in stop reply packet for gdb 2013-08-07 21:01:08 +00:00
cortex_a.c target/cortex_a: remove dead assignment 2015-03-09 06:34:01 +00:00
cortex_a.h cortex_a: Add Cortex-A5 identification 2015-02-11 16:17:58 +00:00
cortex_m.c target/adi_v5_swd, cortex_m: properly handle more cases requiring reconnect 2015-03-25 21:32:06 +00:00
cortex_m.h armv7m: add generic trace support (TPIU, ITM, etc.) 2015-03-25 20:46:43 +00:00
dsp563xx.c target: constify structures 2014-10-06 11:57:40 +00:00
dsp563xx.h dsp563xx: Adding breakpoint/watchpoint support. 2013-07-15 10:05:15 +00:00
dsp563xx_once.c dsp563xx: Adding breakpoint/watchpoint support. 2013-07-15 10:05:15 +00:00
dsp563xx_once.h target: constify structures 2014-10-06 11:57:40 +00:00
dsp5680xx.c flash: Constify write buffer 2014-03-17 12:47:18 +00:00
dsp5680xx.h flash: Constify write buffer 2014-03-17 12:47:18 +00:00
embeddedice.c target: constify structures 2014-10-06 11:57:40 +00:00
embeddedice.h Retire jtag_add_dr_out 2014-01-20 13:28:26 +00:00
etb.c Use (uint8_t *) for buf_(set|get)_u(32|64) instead of (void *) 2015-01-30 08:56:54 +00:00
etb.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
etm.c Use (uint8_t *) for buf_(set|get)_u(32|64) instead of (void *) 2015-01-30 08:56:54 +00:00
etm.h Use (uint8_t *) for buf_(set|get)_u(32|64) instead of (void *) 2015-01-30 08:56:54 +00:00
etm_dummy.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
etm_dummy.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
fa526.c arm7_9: Avoid infinite loops in bulk write dispatching 2013-10-15 20:41:08 +00:00
feroceon.c target: use target_buffer_set_u32_array 2013-11-07 21:38:49 +00:00
hla_target.c armv7m: add generic trace support (TPIU, ITM, etc.) 2015-03-25 20:46:43 +00:00
image.c target/image: fix undefined behaviour when loading with GDB 2015-02-11 15:34:11 +00:00
image.h Constify received GDB packet 2014-03-04 20:17:34 +00:00
lakemont.c quark_x10xx: cleanup of LOG format specifiers 2014-05-31 12:01:31 +00:00
lakemont.h quark_x10xx: cleanup of LOG format specifiers 2014-05-31 12:01:31 +00:00
mips32.c mips32: add gdb target description support 2015-02-11 22:11:19 +00:00
mips32.h mips32: add gdb target description support 2015-02-11 22:11:19 +00:00
mips32_dmaacc.c Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips32_dmaacc.h Clean up const usage to avoid excessive casting 2013-10-31 20:42:34 +00:00
mips32_pracc.c target/mips32_pracc: fix C99 format specifiers 2014-05-31 12:02:28 +00:00
mips32_pracc.h mips32: new code for pracc exec 2014-05-09 20:40:31 +00:00
mips_ejtag.c mips_ejtag.c: do not set v2.6 ECR bits on v2.0 devices 2014-08-19 20:17:43 +00:00
mips_ejtag.h mips32.c: cache debug caps and support EJTAG 2.0 specific changes 2014-08-19 20:18:02 +00:00
mips_m4k.c mips_m4k.c: EJTAGBOOT and NORMALBOOT are not supported on EJTAG 2.0 2014-08-19 20:18:16 +00:00
mips_m4k.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
nds32.c nds32: Use the correct method to access registers 2015-02-11 22:16:51 +00:00
nds32.h nds32: Use the correct method to access registers 2015-02-11 22:16:51 +00:00
nds32_aice.c nds32: support multi-target debugging 2013-09-13 19:37:58 +00:00
nds32_aice.h nds32: support multi-target debugging 2013-09-13 19:37:58 +00:00
nds32_cmd.c target: remove memory leaks 2014-03-29 08:04:55 +00:00
nds32_cmd.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_disassembler.c target/nds32_disassembler: fix format specifiers warnings 2014-02-04 21:18:27 +00:00
nds32_disassembler.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_edm.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_insn.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_reg.c target: constify structures 2014-10-06 11:57:40 +00:00
nds32_reg.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_tlb.c nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_tlb.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_v2.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v2.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_v3.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v3.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
nds32_v3_common.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v3_common.h nds32: remove .soft_reset_halt dependency 2013-09-13 19:38:09 +00:00
nds32_v3m.c Conform to C99 integer types format specifiers 2014-01-15 12:40:42 +00:00
nds32_v3m.h nds32: add new target type nds32_v2, nds32_v3, nds32_v3m 2013-06-05 19:27:35 +00:00
oocd_trace.c oocd_trace: fix warnings 2013-07-15 09:54:44 +00:00
oocd_trace.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
quark_x10xx.c quark_x10xx: add new target quark_x10xx 2014-02-11 13:07:29 +00:00
register.c target/cortex_m: do not leak memory on reexamination 2015-03-09 06:40:21 +00:00
register.h target/cortex_m: do not leak memory on reexamination 2015-03-09 06:40:21 +00:00
smp.c Use (uint8_t *) for buf_(set|get)_u(32|64) instead of (void *) 2015-01-30 08:56:54 +00:00
smp.h Constify received GDB packet 2014-03-04 20:17:34 +00:00
startup.tcl tcl: introduce using_(jtag|swd|hla) helpers and use them in reset handler 2014-06-28 09:28:12 +00:00
target.c armv7m: add generic trace support (TPIU, ITM, etc.) 2015-03-25 20:46:43 +00:00
target.h armv7m: add generic trace support (TPIU, ITM, etc.) 2015-03-25 20:46:43 +00:00
target_request.c target: check target supports target_request_data 2013-09-08 16:12:27 +00:00
target_request.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
target_type.h server, target, cortex_m: add deinit_target to the API to free resources 2015-03-09 08:34:46 +00:00
testee.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
trace.c update files to correct FSF address 2013-06-05 19:52:42 +00:00
trace.h update files to correct FSF address 2013-06-05 19:52:42 +00:00
x86_32_common.c quark_x10xx: cleanup of LOG format specifiers 2014-05-31 12:01:31 +00:00
x86_32_common.h quark_x10xx: cleanup of LOG format specifiers 2014-05-31 12:01:31 +00:00
xscale.c armv7m: add FPU registers support 2015-03-09 06:36:30 +00:00
xscale.h target: xscale more human vector catching 2013-07-01 08:44:59 +00:00