Files
sw_openocd/src/target
Chengyu Zheng 1fb736f6c5 target/cortex_a: add support for watchpoints
The current implementation of OpenOCD does not support watchpoints for
cortex_a architecture. So, I replaced the add_watchpoint and
remove_watchpoint with the specific implementation for the
cortex a and using the breakpoint implementation and the arm
documentation [1] as reference. In particular, I have made the
following changes:

* added the following functions

- cortex_a_add_watchpoint
  This wrapper function check whether there are any watchpoint
  available on the target device by calling cortex_a_set_watchpoint.

- cortex_a_set_watchpoint
  This function is responsible for settings the watchpoint register
  pair. In particular, it sets the WVR and the WCR registers with
  the cortex_a_dap command.

- cortex_a_remove_watchpoint
  This wrapper function the selected watchpoint on the target device
  by calling cortex_a_unset_watchpoint.

- cortex_a_unset_watchpoint
  This function sets both the WVR and the WCR registers to zero, thus
  unsetting the watchpoint.

[1]
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464f/BCGDHIEJ.html

Change-Id: I86611dab474cb84836662af572b17636dc68e282
Signed-off-by: Chengyu Zheng <chengyu.zheng@polimi.it>
Reviewed-on: http://openocd.zylin.com/3913
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Reviewed-by: Marc Schink <dev@zapb.de>
Tested-by: jenkins
2021-06-03 23:26:35 +01:00
..
2021-03-10 21:34:13 +00:00
2021-05-01 14:35:09 +01:00
2021-05-22 10:06:45 +01:00
2021-05-22 10:06:45 +01:00
2016-05-24 22:30:55 +01:00
2021-03-19 22:00:34 +00:00
2021-05-22 10:06:45 +01:00
2018-04-10 09:13:02 +01:00
2020-07-08 22:07:38 +01:00
2020-07-08 22:07:38 +01:00
2021-05-01 14:35:09 +01:00
2021-05-29 21:34:55 +01:00
2020-03-12 10:11:19 +00:00
2021-05-22 10:06:45 +01:00
2016-05-24 22:30:55 +01:00
2021-05-01 14:35:09 +01:00
2021-05-29 21:34:55 +01:00
2020-07-08 22:08:08 +01:00
2021-05-22 10:06:45 +01:00
2018-12-12 08:47:44 +00:00
2018-12-12 08:47:44 +00:00
2018-12-12 08:47:44 +00:00
2016-05-24 22:30:55 +01:00
2021-05-01 14:35:09 +01:00
2021-05-22 10:11:10 +01:00
2019-11-28 16:59:15 +00:00
2020-07-08 22:08:08 +01:00
2019-11-28 16:59:15 +00:00
2017-05-08 18:04:56 +01:00
2021-05-01 14:35:09 +01:00
2020-10-30 22:00:49 +00:00
2020-02-15 15:36:56 +00:00
2021-05-01 14:35:09 +01:00
2020-12-02 23:15:52 +00:00
2020-12-02 23:15:52 +00:00
2021-05-22 10:06:45 +01:00
2021-05-29 21:34:55 +01:00
2021-05-01 14:35:09 +01:00
2021-05-01 14:35:09 +01:00
2016-05-24 22:30:55 +01:00