summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/shared/comm/GDB.HOWTO
blob: 0fdfad02ea16d3a8d00e1a0269f56a7e42c3d96a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
1. Add GDB initilization to your target's code:

a) include file:

#include <uart.h>

b) declare this variable:   

extern int BSPConsolePort;

c) To start-up GDB, run this:

 /* Init GDB glue  */

  if(BSPConsolePort != BSP_UART_COM2)
    {
      /*
       * If com2 is not used as console use it for
       * debugging
       */
      i386_stub_glue_init(BSP_UART_COM2);
    }
  else
    {
      /* Otherwise use com1 */
      i386_stub_glue_init(BSP_UART_COM1);
    }

  /* Init GDB stub itself */
  set_debug_traps();

  /*
   * Init GDB break in capability,
   * has to be called after
   * set_debug_traps
   */
  i386_stub_glue_init_breakin();

  /* Put breakpoint in */
  breakpoint();

d) This is all you need to do for the target.

2. Edit cmds: specify path to current directory and device used for debugging
   example of cmds is attached below.  Make sure your paths are correct.
3. type 'make'
4. Boot o-pc386/<test>.exe on target computer, where <test> has the code from step 1. ( I modified and recompiled base_sp as the <test> )
5. run 'i396-rtems-gdb --nx --command=./cmds o-pc386/<test>.coff

=========================== example cmds ==============================
dir /home/cross-19980908/tools/rtems-980923
dir /home/cross-19980908/tools/rtems-980923/aclocal
dir /home/cross-19980908/tools/rtems-980923/c
dir /home/cross-19980908/tools/rtems-980923/c/build-tools
dir /home/cross-19980908/tools/rtems-980923/c/build-tools/os
dir /home/cross-19980908/tools/rtems-980923/c/build-tools/os/msdos
dir /home/cross-19980908/tools/rtems-980923/c/build-tools/scripts
dir /home/cross-19980908/tools/rtems-980923/c/build-tools/src
dir /home/cross-19980908/tools/rtems-980923/c/src
dir /home/cross-19980908/tools/rtems-980923/c/src/exec
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/base
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/headers
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/inline
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/macros
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/optman
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/src
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/posix/sys
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/sapi
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/sapi/headers
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/sapi/src
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/sapi/inline
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/sapi/macros
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/sapi/optman
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/rtems
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/rtems/headers
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/rtems/src
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/rtems/inline
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/rtems/macros
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/rtems/optman
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/a29k
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/hppa1.1
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/i386
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/i960
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/m68k
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/mips64orion
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/no_cpu
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/powerpc
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/sh
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/sparc
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/cpu/unix
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/headers
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/inline
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/macros
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/src
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/tools
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/tools/generic
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/tools/unix
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/score/tools/hppa1.1
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/wrapup
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/wrapup/posix
dir /home/cross-19980908/tools/rtems-980923/c/src/exec/wrapup/rtems
dir /home/cross-19980908/tools/rtems-980923/c/src/lib
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/include
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/include/motorola
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/include/rtems++
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/include/sys
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/include/zilog
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libc
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/clock
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/console
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/include
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/start
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/startup
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/timer
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/tools
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/pc386/wrapup
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/shared/comm
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libbsp/i386/shared/pci
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1/clock
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1/include
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1/milli
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1/runway
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1/semaphore
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/hppa1.1/timer
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/m68k
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/m68k/m68040
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/m68k/m68040/fpsp
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/mips64orion
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/mips64orion/clock
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/mips64orion/include
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/mips64orion/timer
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc/ppc403
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc/ppc403/clock
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc/ppc403/console
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc/ppc403/include
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc/ppc403/timer
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/powerpc/ppc403/vectors
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh/sh7032
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh/sh7032/clock
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh/sh7032/null
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh/sh7032/console
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh/sh7032/include
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sh/sh7032/timer
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sparc
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libcpu/sparc/reg_win
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libnetworking
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/assoc
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/cpuuse
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/error
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/monitor
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/rtmonuse
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/stackchk
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/libmisc/wrapup
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/librtems++
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/start
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/start/a29k
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/start/i960
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/start/m68k
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/start/mips64orion
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/start/sh
dir /home/cross-19980908/tools/rtems-980923/c/src/lib/wrapup
dir /home/cross-19980908/tools/rtems-980923/c/src/tests
dir /home/cross-19980908/tools/rtems-980923/c/src/tests/samples
dir /home/cross-19980908/tools/rtems-980923/c/src/tests/samples/base_sp
set remotebaud 38400
target remote /dev/ttyS1