annotate packages/hal/arm/pid/current/misc/Notes @ 50:a0774359f013 ecos-sw-1999-11-02

Merge from eCos master repository on 1999-11-02-17:02:15-GMT
author jlarmour
date Tue, 02 Nov 1999 20:57:07 +0000
parents 443894e2e912
children c38311975d4f
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####
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
3
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
4 -------------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
5 The contents of this file are subject to the Cygnus eCos Public License
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
6 Version 1.0 (the "License"); you may not use this file except in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
7 compliance with the License. You may obtain a copy of the License at
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
8 http://sourceware.cygnus.com/ecos
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
9
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
10 Software distributed under the License is distributed on an "AS IS"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
11 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
12 License for the specific language governing rights and limitations under
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
13 the License.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
14
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
15 The Original Code is eCos - Embedded Cygnus Operating System, released
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
16 September 30, 1998.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
17
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
18 The Initial Developer of the Original Code is Cygnus. Portions created
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
19 by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
20 -------------------------------------------
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
21
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
22 ####COPYRIGHTEND####
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
23 ===========================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
24
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
25 27 Oct 1999
2
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 How to build and install the GDB module on the PID
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
28
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
29 Make GDB module
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
30 ~~~~~~~~~~~~~~~
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
31 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
32 2. Edit <hal/hal.h> to enable GDB:
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
33 #define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
34 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
35 #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
36 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
37
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
38 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
39
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
40
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
41 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
42
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
43
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
44 Make FLASH tool
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 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
47 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
48 #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
49 2. make misc
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
51 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
52
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
53
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
54 Prepare board for eCos
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 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
57 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
58 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
59 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
60
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
61
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
62 Program FLASH
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 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
65 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
66
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
67 (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
68 (gdb) load
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
69 [...]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
70 (gdb) quit
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
71
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
72 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
73
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
74 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
75 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
76
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
77 (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
78 (gdb) load
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
79 [...]
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
80 (gdb) cont
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 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
83 38400 baud:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
84
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
85 ARM eCos
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
86 FLASH here!
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
87 manuf: 8, device: 40
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
88 Error: Wrong Manufaturer: 08
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
89 ... Please change FLASH jumper
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
90
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
91 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
92 the output should be:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
93
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
94 manuf: 1F, device: A4
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
95 AT29C040A recognised
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
96 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
97 *** Press RESET now to abort!
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
98
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
99 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
100 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
101
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
102 ...Programming FLASH
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
103 All done!
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
104
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
105 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
106
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
107 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
108 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
109 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
110
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
111
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 Big-Endian operation
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
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
116 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
117 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
118 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
119
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
120 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
121 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
122 manual.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
123
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
124 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
125 must do:
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
126
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
127 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
128 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
129 '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
130
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
131 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
132 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
133
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
134 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
135 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
136 other jumpers.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 2
diff changeset
137