annotate packages/hal/arm/pid/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 a0774359f013
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: 50
diff changeset
3
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
diff changeset
4 -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
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: 50
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: 50
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: 50
diff changeset
8 http://sourceware.cygnus.com/ecos
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
diff changeset
9
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
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: 50
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: 50
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: 50
diff changeset
13 the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
diff changeset
14
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
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: 50
diff changeset
16 released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
diff changeset
17
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
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: 50
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: 50
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: 50
diff changeset
21 All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
diff changeset
22 -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 50
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
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
27 27 Oct 1999
2
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 PID
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
30
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
31 Make GDB module
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
32 ~~~~~~~~~~~~~~~
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
33 1. Configure a minimal eCos system with all packages except 'infra' disabled.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
34 2. Edit <hal/hal.h> to enable GDB:
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
35 #define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
36 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
37 #undef CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
38 3. make;make -C hal/arm/pid/<version>/misc
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
39
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
40 Alternatively run hal/arm/pid/<version>/misc/STUBS_config.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
41
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
42
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
43 GDB image is in the file hal/arm/pid/<version>/misc/gdb_module.img
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
44
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
45
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
46 Make FLASH tool
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
47 ~~~~~~~~~~~~~~~
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
48 1. Configure a separate eCos system with all packages enabled.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
49 2. Change diag chanel to port B (in file pkgconf/hal_arm_pid.h):
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
50 #define CYGHWR_HAL_ARM_PID_DIAG_PORT 1
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
51 2. make misc
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
52
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
53 FLASH tool is in the file hal/arm/pid/<version>/misc/prog_flash
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
54
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
55
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
56 Prepare board for eCos
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
57 ~~~~~~~~~~~~~~~~~~~~~~
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
58 1. Set jumper 7-8 on LK6 [using the Angle code in the 16 bit EPROM]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
59 2. Set jumper 5-6 on LK6 [select 8bit ROM mode]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
60 3. Set jumper LK18 [ROM remap - this is also required for eCos]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
61 4. Set S1 to 0-0-1-1 [20MHz operation]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
62
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
63
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
64 Program FLASH
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
65 ~~~~~~~~~~~~~
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
66 1. Download the image onto the PID board:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
67 arm-elf-gdb -nw hal/arm/pid/<version>/misc/gdb_module.img
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
68
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
69 (gdb) target rdi s=<serial device>
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
70 (gdb) load
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
71 [...]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
72 (gdb) quit
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
73
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
74 This will download the stubs onto the board at 0x60000..0x64000
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
75
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
76 2. Now download the FLASH programmer tool
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
77 arm-elf-gdb -nw hal/arm/pid/<version>/misc/prog_flash
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
78
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
79 (gdb) target rdi s=<serial device>
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
80 (gdb) load
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
81 [...]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
82 (gdb) cont
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
83
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
84 3. The FLASH tool will output some text on the board serial port B at
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
85 38400 baud:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
86
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
87 ARM eCos
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
88 FLASH here!
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
89 manuf: 8, device: 40
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
90 Error: Wrong Manufaturer: 08
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
91 ... Please change FLASH jumper
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
92
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
93 4. This text is repeated until you remove the jumper 7-8 on LK6. Then
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
94 the output should be:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
95
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
96 manuf: 1F, device: A4
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
97 AT29C040A recognised
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
98 About to program FLASH using data at 60000..64000
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
99 *** Press RESET now to abort!
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
100
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
101 5. You have about 10 seconds to abort the operation by pressing
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
102 reset. After this timeout, the FLASH programming happens:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
103
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
104 ...Programming FLASH
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
105 All done!
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
106
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
107 6. Quit/kill the GDB process which will hang.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
108
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
109 7. Next time you reset the board, the stub will be in control, communicating
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
110 on serial port A at 38400 baud. See documentation for further details
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
111 on how to connect with GDB.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
112
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
113
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
114
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
115 Big-Endian operation
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
116 ~~~~~~~~~~~~~~~~~~~~
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
117
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
118 1) If the board is to be used in big-endian mode, the stub should be
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
119 configured for platform 'pidbe' instead of 'pid'. 'pidbe' can also
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
120 be used as a second argument to the STUBS_config script.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
121
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
122 2a) If a big-endian rom controller is installed on the board, the
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
123 programming of a new stub into flash is covered in the ARM PID
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
124 manual.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
125
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
126 2b) If a big-endian rom controller is _not_ used, this is what you
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
127 must do:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
128
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
129 1) Follow the above instructions (including jumper settings) ,
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
130 but instead of using the 'prog_flash' FLASH tool, use the
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
131 'prog_flash_BE_image_LE_system' FLASH tool.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
132
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
133 2) Instead of resetting the board after the FLASH has been
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
134 programmed, switch off the power and enable jumper LK4.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
135
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
136 If you have to re-program the FLASH later, you can follow the
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
137 steps above again, but also disable jumper LK4 when changing the
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
138 other jumpers.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
139