diff options
author | Spencer Oliver <spen@spen-soft.co.uk> | 2012-02-14 15:34:03 +0000 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2012-02-16 08:58:06 +0000 |
commit | 0a98914700d7e77da6e49a55aaf56e550ed725ea (patch) | |
tree | 8dced88988ea979abb1222535ec542b5c44c9908 | |
parent | fd39a5e8addce366467ad7305eb270ddd635f4a9 (diff) |
stlink: add arm semi-hosting support
Change-Id: Ib275d451a9201580f08ced090e50cf45eb3ab3e2
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/459
Tested-by: jenkins
-rw-r--r-- | src/target/stm32_stlink.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/target/stm32_stlink.c b/src/target/stm32_stlink.c index 2c4824c1..32896cc3 100644 --- a/src/target/stm32_stlink.c +++ b/src/target/stm32_stlink.c @@ -36,6 +36,7 @@ #include "target_type.h" #include "armv7m.h" #include "cortex_m.h" +#include "arm_semihosting.h" static inline struct stlink_interface_s *target_to_stlink(struct target *target) { @@ -387,7 +388,12 @@ static int stm32_stlink_poll(struct target *target) if (state == TARGET_HALTED) { target->state = state; - stlink_debug_entry(target); + int retval = stlink_debug_entry(target); + if (retval != ERROR_OK) + return retval; + + if (arm_semihosting(target, &retval) != 0) + return retval; target_call_event_callbacks(target, TARGET_EVENT_HALTED); LOG_DEBUG("halted: PC: 0x%x", buf_get_u32(armv7m->arm.pc->value, 0, 32)); |