From 0a98914700d7e77da6e49a55aaf56e550ed725ea Mon Sep 17 00:00:00 2001 From: Spencer Oliver Date: Tue, 14 Feb 2012 15:34:03 +0000 Subject: [PATCH] stlink: add arm semi-hosting support Change-Id: Ib275d451a9201580f08ced090e50cf45eb3ab3e2 Signed-off-by: Spencer Oliver Reviewed-on: http://openocd.zylin.com/459 Tested-by: jenkins --- src/target/stm32_stlink.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/target/stm32_stlink.c b/src/target/stm32_stlink.c index 2c4824c1a..32896cc32 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));