| (gdb) mon rtt stop
(gdb) mon rtt setup 0x1fffe000 0x2000
(gdb) mon rtt start
rtt: Searching for control block 'SEGGER RTT'
(this is debug prints added into openocd....)
KARL: addr: 0x1fffe400 match for buf_off: 108 char == 'S
KARL: addr: 0x1fffe400 match for buf_off: 109 char == 'E
KARL: addr: 0x1fffe400 match for buf_off: 110 char == 'G
KARL: addr: 0x1fffe400 match for buf_off: 111 char == 'G
KARL: addr: 0x1fffe400 match for buf_off: 112 char == 'E
KARL: addr: 0x1fffe400 match for buf_off: 113 char == 'R
KARL: addr: 0x1fffe400 match for buf_off: 114 char == '
KARL: addr: 0x1fffe400 match for buf_off: 115 char == 'R
KARL: addr: 0x1fffe400 match for buf_off: 116 char == 'T
KARL: addr: 0x1fffe400 match for buf_off: 117 char == 'T
KARL: found a match at 0x1fffe400 with bufoff 117 and id_length: 10
rtt: Control block found at 0x1fffe46c
^^^that's 4 bytes early.... and the buffer offsets don't make any sense....
(gdb) xac 0x1fffe400 200
0x1fffe400: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe408: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe410: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe418: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe420: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe428: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe430: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe438: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe440: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe448: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe450: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe458: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe460: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe468: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe470: 0x53 0x45 0x47 0x47 0x45 0x52 0x20 0x52 'SEGGER R'
0x1fffe478: 0x54 0x54 0x00 0x00 0x00 0x00 0x00 0x00 'TT'
0x1fffe480: 0x03 0x00 0x00 0x00 0x03 0x00 0x00 0x00 ''
� 'fffe488: 0xb4 0xcb 0x0d 0x00 0x00 0xa7 0x00 0x20 '��
0x1fffe490: 0x00 0x04 0x00 0x00 0xb9 0x01 0x00 0x00 '�'
0x1fffe498: 0xb9 0x01 0x00 0x00 0x00 0x00 0x00 0x00 '�'
�� 'ffe4a0: 0xbc 0x18 0x0d 0x00 0xf0 0xa2 0x00 0x20 '�
0x1fffe4a8: 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe4b0: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe4b8: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
0x1fffe4c0: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ''
vvvvvvvvvvvvvv Below we reprint out what should be in those buffer offsets
(gdb) p /c *(0x1fffe400 +109)
$9 = 0 '\000'
(gdb) p /c *(0x1fffe400 +110)
$10 = 0 '\000'
(gdb) p /c *(0x1fffe400 +111)
$11 = 0 '\000'
(gdb) p /c *(0x1fffe400 +112)
$12 = 83 'S'
(gdb) p /x &_SEGGER_RTT
$13 = 0x1fffe470
(gdb)
|