Mercurial > flash_v2
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 |
| rev | line source |
|---|---|
| 2 | 1 =========================================================================== |
| 2 ####COPYRIGHTBEGIN#### | |
| 3 | |
| 4 ------------------------------------------- | |
| 5 The contents of this file are subject to the Cygnus eCos Public License | |
| 6 Version 1.0 (the "License"); you may not use this file except in | |
| 7 compliance with the License. You may obtain a copy of the License at | |
| 8 http://sourceware.cygnus.com/ecos | |
| 9 | |
| 10 Software distributed under the License is distributed on an "AS IS" | |
| 11 basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the | |
| 12 License for the specific language governing rights and limitations under | |
| 13 the License. | |
| 14 | |
| 15 The Original Code is eCos - Embedded Cygnus Operating System, released | |
| 16 September 30, 1998. | |
| 17 | |
| 18 The Initial Developer of the Original Code is Cygnus. Portions created | |
| 19 by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved. | |
| 20 ------------------------------------------- | |
| 21 | |
| 22 ####COPYRIGHTEND#### | |
| 23 =========================================================================== | |
| 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 | 26 |
| 27 How to build and install the GDB module on the PID | |
| 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 | 33 #define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS |
| 34 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT | |
| 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 | 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 | 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 |
