Commit | Line | Data |
---|---|---|
c906108c SS |
1 | How to use SIS with GDB |
2 | ----------------------- | |
3 | ||
4 | 1. Building GDB with SIS | |
5 | ||
6 | To build GDB with the SIS/ERC32 simulator, configure with option | |
7 | '--target sparc-erc32-aout' and build as usual. | |
8 | ||
9 | 2. Attaching the simulator | |
10 | ||
11 | To attach GDB to the simulator, use: | |
12 | ||
13 | target sim [options] [files] | |
14 | ||
15 | The following options are supported: | |
16 | ||
17 | -nfp Disable FPU. FPops will cause an FPU disabled trap. | |
18 | ||
19 | -freq <f> Set the simulated "system clock" to <f> MHz. | |
20 | ||
21 | -v Verbose mode. | |
22 | ||
23 | -nogdb Disable GDB breakpoint handling (see below) | |
24 | ||
25 | The listed [files] are expected to be in aout format and will be | |
26 | loaded in the simulator memory prior. This could be used to load | |
27 | a boot block at address 0x0 if the application is linked to run | |
28 | from RAM (0x2000000). | |
29 | ||
30 | To start debugging a program type 'load <program>' and debug as | |
31 | usual. | |
32 | ||
33 | The native simulator commands can be reached using the GDB 'sim' | |
34 | command: | |
35 | ||
36 | sim <sis_command> | |
37 | ||
38 | Direct simulator commands during a GDB session must be issued | |
39 | with care not to disturb GDB's operation ... | |
40 | ||
41 | For info on supported ERC32 functionality, see README.sis. | |
42 | ||
43 | ||
44 | 3. Loading aout files | |
45 | ||
46 | The GDB load command loads an aout file into the simulator | |
47 | memory with the data section starting directly after the text | |
48 | section regardless of wich start address was specified for the data | |
49 | at link time! This means that your applications either has to include | |
50 | a routine that initialise the data segment at the proper address or | |
51 | link with the data placed directly after the text section. | |
52 | ||
53 | A copying routine is fairly simple, just copy all data between | |
54 | _etext and _data to a memory loaction starting at _environ. This | |
55 | should be done at the same time as the bss is cleared (in srt0.s). | |
56 | ||
57 | ||
58 | 4. GDB breakpoint handling | |
59 | ||
60 | GDB inserts breakpoint in the form of the 'ta 1' instruction. The | |
61 | GDB-integrated simulator will therefore recognize the breakpoint | |
62 | instruction and return control to GDB. If the application uses | |
63 | 'ta 1', the breakpoint detection can be disabled with the -nogdb | |
64 | switch. In this case however, GDB breakpoints will not work. | |
65 | ||
66 | ||
67 | Report problems to Jiri Gaisler ESA/ESTEC (jgais@wd.estec.esa.nl) |