aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSpencer Oliver <spen@spen-soft.co.uk>2012-01-13 11:23:27 +0000
committerSpencer Oliver <spen@spen-soft.co.uk>2012-01-23 11:39:07 +0000
commitc527882121e3cc3d7cba5360c20928317c19a5cf (patch)
tree4369c088407d2d8d45cf30d145c92b95af0fb7ad
parent3a550e5b5fe011e526b150a5d234b48e8e2aaad6 (diff)
downloadriscv-openocd-c527882121e3cc3d7cba5360c20928317c19a5cf.zip
riscv-openocd-c527882121e3cc3d7cba5360c20928317c19a5cf.tar.gz
riscv-openocd-c527882121e3cc3d7cba5360c20928317c19a5cf.tar.bz2
stlink: enable cortex special reg writes
Change-Id: I5aa02e8de6dd5ac5a6ca628ba4068decb200c689 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/378 Tested-by: jenkins
-rw-r--r--src/target/stm32_stlink.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/target/stm32_stlink.c b/src/target/stm32_stlink.c
index dec2b24..d00852c 100644
--- a/src/target/stm32_stlink.c
+++ b/src/target/stm32_stlink.c
@@ -133,9 +133,7 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
*/
switch (num) {
case 0 ... 18:
- retval =
- stlink_if->layout->api->write_reg(stlink_if->fd, num,
- value);
+ retval = stlink_if->layout->api->write_reg(stlink_if->fd, num, value);
if (retval != ERROR_OK) {
struct reg *r;
@@ -145,8 +143,7 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
r->dirty = r->valid;
return ERROR_JTAG_DEVICE_ERROR;
}
- LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", (int)num,
- value);
+ LOG_DEBUG("write core reg %i value 0x%" PRIx32 "", (int)num, value);
break;
case ARMV7M_PRIMASK:
@@ -157,7 +154,8 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
* in one Debug Core register. So say r0 and r2 docs;
* it was removed from r1 docs, but still works.
*/
- /* cortexm3_dap_read_coreregister_u32(swjdp, &reg, 20); */
+
+ stlink_if->layout->api->read_reg(stlink_if->fd, 20, &reg);
switch (num) {
case ARMV7M_PRIMASK:
@@ -177,10 +175,9 @@ static int stm32_stlink_store_core_reg_u32(struct target *target,
break;
}
- /* cortexm3_dap_write_coreregister_u32(swjdp, reg, 20); */
+ stlink_if->layout->api->write_reg(stlink_if->fd, 20, reg);
- LOG_DEBUG("write special reg %i value 0x%" PRIx32 " ", (int)num,
- value);
+ LOG_DEBUG("write special reg %i value 0x%" PRIx32 " ", (int)num, value);
break;
default: