Mercurial > flash_v2
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 |
| rev | line source |
|---|---|
| 2 | 1 =========================================================================== |
| 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 | 24 ####COPYRIGHTEND#### |
| 25 =========================================================================== | |
| 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 | 28 |
| 29 How to build and install the GDB module on the PID | |
| 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 | 35 #define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS |
| 36 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT | |
| 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 | 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 | 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 |
