1 #ifndef SEMIHOSTING_H_INCLUDED 2 #define SEMIHOSTING_H_INCLUDED 70 angel_SWIreason_EnterSVC = 0x17,
71 angel_SWIreason_ReportException = 0x18,
77 SYS_GET_CMDLINE = 0x15,
100 ADP_Stopped_BranchThroughZero = 0x20000,
101 ADP_Stopped_UndefinedInstr = 0x20001,
102 ADP_Stopped_SoftwareInterrupt = 0x20002,
103 ADP_Stopped_PrefetchAbort = 0x20003,
104 ADP_Stopped_DataAbort = 0x20004,
105 ADP_Stopped_AddressException = 0x20005,
106 ADP_Stopped_IRQ = 0x20006,
107 ADP_Stopped_FIQ = 0x20007,
109 ADP_Stopped_BreakPoint = 0x20020,
110 ADP_Stopped_WatchPoint = 0x20021,
111 ADP_Stopped_StepComplete = 0x20022,
112 ADP_Stopped_RunTimeErrorUnknown = 0x20023,
113 ADP_Stopped_InternalError = 0x20024,
114 ADP_Stopped_UserInterruption = 0x20025,
115 ADP_Stopped_ApplicationExit = 0x20026,
116 ADP_Stopped_StackOverflow = 0x20027,
117 ADP_Stopped_DivisionByZero = 0x20028,
118 ADP_Stopped_OSSpecific = 0x20029,
130 register uint32_t rcmd __ASM(
"r0") = cmd;
131 register const void *rmsg __ASM(
"r1") = msg;
132 register int32_t result __ASM(
"r0");
135 __ASM
volatile (
"BKPT #0xAB" :
"=r" (result) :
"r" (rcmd),
"r" (rmsg));
static int32_t call_semihost(uint32_t cmd, const void *msg)