annotate packages/hal/arm/aeb/current/misc/Notes @ 64:c38311975d4f ecos-sw-2000-01-28

Merge from eCos master repository on 2000-01-28-04:28:11-GMT
author jlarmour
date Fri, 28 Jan 2000 04:59:39 +0000
parents 18ee5a9c102e
children bf00f99aec69
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1 ===========================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
2 ####COPYRIGHTBEGIN####
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
3
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
4 -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
5 The contents of this file are subject to the Red Hat eCos Public License
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
6 Version 1.0 (the "License"); you may not use this file except in
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
7 compliance with the License. You may obtain a copy of the License at
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
8 http://sourceware.cygnus.com/ecos
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
9
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
10 Software distributed under the License is distributed on an
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
11 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
12 License for the specific language governing rights and limitations under
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
13 the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
14
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
15 The Original Code is eCos - Embedded Configurable Operating System,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
16 released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
17
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
18 The Initial Developer of the Original Code is Red Hat.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
19 Portions created by Red Hat are
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
20 Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
21 All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
22 -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 28
diff changeset
23
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
24 ####COPYRIGHTEND####
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
25 ===========================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
26
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
27 1999-01-05, revised 1999-03-11
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
28
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
29 How to build and install the GDB module on the AEB-1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
30 ====================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
31
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
32 Overview
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
33 --------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
34
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
35 The ARM AEB-1 comes with tools in ROM. These include a simple FLASH
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
36 management tool and the Angel (R) monitor. eCos for the ARM AEB-1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
37 comes with GDB stubs suitable for programming into the onboard FLASH.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
38 GDB is the preferred debug environment for eCos, but Angel must be
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
39 used to initially install the GDB stubs.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
40
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
41 Once this bootstrapping is done, you can use GDB to load and debug
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
42 programs on the AEB-1 board.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
43
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
44 The following steps will have you:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
45
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
46 * talk to the AEB-1 board with a terminal emulator (or a real
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
47 terminal!)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
48
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
49 * enable ARM's Angel ROM monitor
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
50
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
51 * use GDB with Angel to download a configuration of eCos with GDB
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
52 stubs which will act as a ROM monitor
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
53
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
54 * talk to the AEB-1 with a terminal emulator again, and tell it to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
55 write the new module to flash
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
56
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
57 * tell the board to use this new monitor, and then hook GDB up to it
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
58 for real debugging
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
59
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
60 Talking to the board
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
61 --------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
62
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
63 Connect a terminal or computer's serial port to the ARM AEB-1. On a
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
64 PC with a 9-pin serial port, you can use the cable shipped by ARM with
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
65 no modification.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
66
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
67 Set the terminal or terminal emulator to 9600N1 (9600 baud, no parity,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
68 1 stop bit).
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
69
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
70 Reset the board by pressing the little reset button on the top. You
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
71 will see the following text:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
72
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
73 ARM Evaluation Board Boot Monitor 0.01 (19 APR 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
74 Press ENTER within 2 seconds to stop autoboot
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
75
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
76 Press ENTER quickly, and you will get the boot prompt:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
77
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
78 Boot:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
79
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
80
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
81 Downloading the GDB stubs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
82 -------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
83
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
84 Run the angel monitor by typing the following at the Boot: prompt:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
85
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
86 Boot: plugin angel
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
87 Boot: angel
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
88
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
89 Then exit the terminal emulator and start up gdb with the GDB module:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
90
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
91 $ arm-elf-gdb -nw loaders/arm-aeb/gdb_module.img
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
92 (gdb) set remotebaud 9600
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
93 (gdb) target rdi s=<YOUR SERIAL PORT>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
94
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
95 On Windows, the serial port could be com1, com2, etc. On a UNIX or
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
96 Linux system, the serial port would be /dev/cua0 or /dev/cua1.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
97 Examples are:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
98
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
99 (gdb) target rdi s=com1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
100 (gdb) target rdi s=/dev/cua0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
101
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
102 Finally, load the GDB stubs image:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
103
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
104 (gdb) load
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
105 Loading section .rom_vectors, size 0x44 lma 0xc000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
106 Loading section .text, size 0x3544 lma 0xc044
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
107 Loading section .rodata, size 0x164 lma 0xf588
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
108 Loading section .data, size 0x110 lma 0xf6ec
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
109 Start address 0xc044 , load size 14332
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
110 Transfer rate: 12739 bits/sec.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
111
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
112 (Note that the sizes may not exactly match the ones you see on your
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
113 system.)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
114
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
115 Once the loading is done, quit GDB:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
116
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
117 (gdb) quit
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
118
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
119
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
120 Activating the GDB stubs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
121 ------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
122
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
123 Connect a terminal emulator to the board again, reset the board, and
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
124 type enter within two seconds to get the Boot: prompt. This is the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
125 same thing you did at the beginning of this procedure.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
126
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
127 Commit the GDB stubs module to flash:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
128
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
129 Boot: flashwrite 4018000 C000 8000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
130
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
131 Verify that the eCos/"GDB stubs" module is now added in the list of
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
132 modules in the board:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
133
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
134 Boot: rommodules
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
135
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
136 You should see the following output:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
137
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
138 Header Base Limit
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
139 04000004 04000000 040034a8 BootStrap 1.00 (14 Aug 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
140 04003a74 04003800 04003bc0 Production Test 1.00 (13 Aug 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
141 0400e4f4 04004000 0400e60f Angel 1.02 (12 MAY 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
142 0401ac00 04018000 0401aed8 eCos 1.2 (26 Feb 1999) GDB stubs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
143
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
144 Now make the eCos/"GDB stubs" module be the default monitor:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
145
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
146 Boot: plugin eCos
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
147
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
148
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
149 Running and debugging an application
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
150 ------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
151
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
152 Configure eCos from scratch for the ARM AEB-1 platform, and build your
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
153 application. Remember that the AEB-1 board only has 128K of RAM.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
154
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
155 Exit from the terminal emulator (you will not need it anymore for
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
156 normal operations), and run gdb:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
157
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
158 $ arm-elf-gdb -nw executable
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
159 (gdb) set remotebaud 38400
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
160 (gdb) target remote <YOUR SERIAL PORT>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
161 (gdb) load
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
162
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
163 You can now run your program in the usual way under GDB'S control
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
164
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
165 Notice that the GDB stub runs at 38400 baud.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
166
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
167
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
168 Building the GDB stubs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
169 ----------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
170
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
171 We provide the GDB stubs image in the directory
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
172 loaders/arm-aeb/gdb_module.img, but here are instructions on how to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
173 rebuild them if you should ever need to.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
174
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
175 1. Configure a minimal eCos system with all packages except 'infra'
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
176 disabled. If you are doing manual configuration, you can do so
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
177 with
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
178
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
179 tcl /work2/ecc/ecc/pkgconf.tcl \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
180 --target=arm --platform=aeb --startup=stubs \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
181 --disable CYGPKG_KERNEL --disable CYGPKG_UITRON \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
182 --disable CYGPKG_LIBC --disable CYGPKG_LIBM \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
183 --disable CYGPKG_ERROR --disable CYGPKG_IO \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
184 --disable CYGPKG_IO_SERIAL --disable CYGPKG_DEVICES_WALLCLOCK \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
185 --disable CYGPKG_DEVICES_WATCHDOG
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
186
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
187 and if you are using the Configuration Tool GUI, you can select the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
188 ARM AEB platform, with GDB stubs startup, and enable the HAL and
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
189 INFRA packages and disable all other packages.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
190
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
191 2. Edit <hal/hal.h> to enable GDB:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
192 #define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
193 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
194 #undef CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
195
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
196 you can use the following patch:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
197
28
18ee5a9c102e Merge from eCos master repository on 1999-08-09-17:04:48-BST
jlarmour
parents: 2
diff changeset
198 patch -p0 <<END_OF_PATCH
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
199 --- pkgconf/hal.h~ Wed Mar 10 13:08:58 1999
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
200 +++ pkgconf/hal.h Thu Mar 11 15:53:16 1999
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
201 @@ -356,9 +356,9 @@
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
202
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
203 }}CFG_DATA */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
204
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
205 -#undef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
206 +#define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
207 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
208 -#define CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
209 +#undef CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
210
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
211 /*
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
212 * NOTE:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
213
28
18ee5a9c102e Merge from eCos master repository on 1999-08-09-17:04:48-BST
jlarmour
parents: 2
diff changeset
214 END_OF_PATCH
18ee5a9c102e Merge from eCos master repository on 1999-08-09-17:04:48-BST
jlarmour
parents: 2
diff changeset
215
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
216
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
217 3. make misc
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
218
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
219 The gdb_module.img file will be built in the directory
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
220 hal/arm/aeb/current/misc
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
221
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
222
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
223 Alternate way of loading the initial stubs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
224 ------------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
225
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
226 Using the AEB-1 module tool, install the GDB stubs from the provided
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
227 ".UU" file.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
228
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
229 >>> This is an annotated 'terminal' session with the AEB-1 monitor:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
230
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
231 ARM Evaluation Board Boot Monitor 0.01 (19 APR 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
232 Press ENTER within 2 seconds to stop autoboot
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
233 Boot: help
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
234 Module is BootStrap 1.00 (14 Aug 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
235
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
236 Help is available on:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
237 Help Modules ROMModules UnPlug PlugIn
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
238 Kill SetEnv UnSetEnv PrintEnv DownLoad
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
239 Go GoS Boot PC FlashWrite
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
240 FlashLoad FlashErase
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
241
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
242 Boot: download c000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
243 Ready to download. Use 'transmit' option on terminal emulator to download file.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
244
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
245 ... at this point, I told my terminal emulator (minicom) to download the ASCII file
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
246 gdb_module.img.UU (probably needs a different name on Win/NT)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
247 I had to enter ^D when the download was complete to get the monitor to come back.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
248
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
249 Loaded file gdb_module.img.raw at address 0000c000, size = 13905
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
250
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
251 Boot: flashwrite 4018000 c000 4000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
252
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
253 As above, this command actually programs the FLASH.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
254
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
255 Boot: rommodules
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
256 Header Base Limit
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
257 04000004 04000000 040034a8 BootStrap 1.00 (14 Aug 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
258 04003a74 04003800 04003bc0 Production Test 1.00 (13 Aug 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
259 0400e4f4 04004000 0400e60f Angel 1.02 (12 MAY 1998)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
260 0401b608 04018000 0401b844 eCos 1.2 (26 Feb 1999) GDB stubs
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
261
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
262 This verifies that the eCos GDB stubs are available in FLASH.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
263
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
264 Boot: plugin ecos
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
265
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
266 This makes the eCos GDB stubs the default "monitor." When reset the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
267 AEB-1 will start the GDB stubs, after the initial 2 second escape
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
268 period.