aboutsummaryrefslogtreecommitdiff
path: root/fw/semihosting.c
diff options
context:
space:
mode:
Diffstat (limited to 'fw/semihosting.c')
-rw-r--r--fw/semihosting.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fw/semihosting.c b/fw/semihosting.c
new file mode 100644
index 0000000..96ebc7a
--- /dev/null
+++ b/fw/semihosting.c
@@ -0,0 +1,10 @@
+
+#define SYS_WRITE0 0x04
+
+void write0(const char *c) __attribute__((naked));
+void write0(const char *c) {
+ __asm__("mov r1, %0" : : "r" (c));
+ __asm__("mov r0, %0" : : "I" (SYS_WRITE0));
+ __asm__("bkpt 0xab");
+ __asm__("bx lr");
+}