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