1 #ifndef DEBUGGER__H 2 #define DEBUGGER__H 3 4 /** Had to make these external for compile to work... strange... */ 5 6 /** 7 * This is called to set a breakpoint at the specific address for a specific target 8 */ 9 extern void debugger_set_break(unsigned char* addr); 10 11 /** 12 * This is called to know the number of bytes in breakpoints (some targets cannot 13 * use the rst XXh as breakpoints so has to be a jp, call or else) 14 * In that case, if one is to support multiple breakpoints in the future, care must be 15 * taken not to overlap breakpoints! 16 * 17 * In most instances, this is just a function returning 1 18 */ 19 extern int debugger_num_break_bytes(); 20 21 22 /** 23 * This is called from debugger, here we should use the platform specific 24 * code (probably assembler) that will first send the string ptr, with len 25 * via the serial line or similar, then on return, we must see to it that the ptr 26 * contains the reply from the debugger binary, with the length as a return value 27 * 28 */ 29 extern int debugger_exchange_str(void *ptr, int len); 30 31 32 #endif 33