stlink: add arm semi-hosting support
authorSpencer Oliver <spen@spen-soft.co.uk>
Tue, 14 Feb 2012 15:34:03 +0000 (15:34 +0000)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 16 Feb 2012 08:58:06 +0000 (08:58 +0000)
Change-Id: Ib275d451a9201580f08ced090e50cf45eb3ab3e2
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/459
Tested-by: jenkins
src/target/stm32_stlink.c

index 2c4824c1ac0d2590d1462774f9245bf3f4a95086..32896cc328abf6c509468f91eadc56d3eb533741 100644 (file)
@@ -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));