]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - doc/README.Sandpoint8240
Initial revision
[karo-tx-uboot.git] / doc / README.Sandpoint8240
1 The port was tested on a Sandpoint 8240 X3 board, with U-Boot
2 installed in the flash memory of the CPU card. Please use the
3 following DIP switch settings:
4
5 Motherboard:
6
7 SW1.1: on       SW1.2: on       SW1.3: on       SW1.4: on
8 SW1.5: on       SW1.6: on       SW1.7: on       SW1.8: on
9
10 SW2.1: on       SW2.2: on       SW2.3: on       SW2.4: on
11 SW2.5: on       SW2.6: on       SW2.7: on       SW2.8: on
12
13
14 CPU Card:
15
16 SW2.1: OFF      SW2.2: OFF      SW2.3: on       SW2.4: on
17 SW2.5: OFF      SW2.6: OFF      SW2.7: OFF      SW2.8: OFF
18
19 SW3.1: OFF      SW3.2: on       SW3.3: OFF      SW3.4: OFF
20 SW3.5: on       SW3.6: OFF      SW3.7: OFF      SW3.8: on
21
22
23
24 The followind detailed description of installation and initial steps
25 with U-Boot and QNX was provided by Jim Sandoz <sandoz@lucent.com>:
26
27
28 Directions for installing U-Boot on Sandpoint+Unity8240
29 using the Abatron BDI2000 BDM/JTAG debugger ...
30
31 Background and Reference info:
32 http://u-boot.sourceforge.net/
33 http://www.abatron.ch/
34 http://www.abatron.ch/BDI/bdihw.html
35 http://www.abatron.ch/DataSheets/BDI2000.pdf
36 http://www.abatron.ch/Manuals/ManGdbCOP-2000C.pdf
37 http://e-www.motorola.com/collateral/SPX3UM.pdf
38 http://e-www.motorola.com/collateral/UNITYX4CONFIG.pdf
39
40
41
42 Connection Diagram:
43                                             ===========
44  ===                     =====             |-----      |
45 |   | <---------------> |     |            |     |     |
46 |PC |       rs232       | BDI |=============[]   |     |
47 |   |                   |2000 |  BDM probe |     |     |
48 |   | <---------------> |     |            |-----      |
49  ===       ethernet      =====             |           |
50                                            |           |
51                                             ===========
52                                          Sandpoint X3 with
53                                           Unity 8240 proc
54
55
56 PART 1)
57   DIP Switch Settings:
58
59 Sandpoint X3 8240 processor board DIP switch settings, with
60 U-Boot to be installed in the flash memory of the CPU card:
61
62 Motorola Sandpoint X3 Motherboard:
63 SW1.1: on       SW1.2: on       SW1.3: on       SW1.4: on
64 SW1.5: on       SW1.6: on       SW1.7: on       SW1.8: on
65 SW2.1: on       SW2.2: on       SW2.3: on       SW2.4: on
66 SW2.5: on       SW2.6: on       SW2.7: on       SW2.8: on
67
68 Motorola Unity 8240 CPU Card:
69 SW2.1: OFF      SW2.2: OFF      SW2.3: on       SW2.4: on
70 SW2.5: OFF      SW2.6: OFF      SW2.7: OFF      SW2.8: OFF
71 SW3.1: OFF      SW3.2: on       SW3.3: OFF      SW3.4: OFF
72 SW3.5: on       SW3.6: OFF      SW3.7: OFF      SW3.8: on
73
74
75 PART 2)
76   Connect the BDI2000 Cable to the Sandpoint/Unity 8240:
77
78 BDM Pin 1 on the Unity 8240 processor board is towards the
79 PCI PMC connectors, or away from the socketed SDRAM, i.e.:
80
81   ====================
82   | ---------------- |
83   | |    SDRAM     | |
84   | |              | |
85   | ---------------- |
86   | |~|              |
87   | |B|       ++++++ |
88   | |D|       + uP + |
89   | |M|       +8240+ |
90   |  ~ 1      ++++++ |
91   |                  |
92   |                  |
93   |                  |
94   | PMC conn ======  |
95   |   =====  ======  |
96   |                  |
97   ====================
98
99
100 PART 3)
101   Setting up the BDI2000, and preparing for TCP/IP network comms:
102
103 Connect the BDI2000 to the PC using the supplied serial cable.
104 Download the BDI2000 software and install it using setup.exe.
105
106 [Note: of course you  can  also  use  the  Linux  command  line  tool
107 "bdisetup"  to  configure  your BDI2000 - the sources are included on
108 the floppy disk that comes with your BDI2000. Just in case you  don't
109 have any Windows PC's - like me :-)   -- wd ]
110
111 Power up the BDI2000; then follow directions to assign the IP
112 address and related network information.  Note that U-Boot
113 will be loaded to the Sandpoint via tftp.  You need to either
114 use the Abatron-provided tftp application or provide a tftp
115 server (e.g. Linux/Solaris/*BSD) somewhere on your network.
116 Once the IP address etc are assigned via the RS232 port,
117 further communication with the BDI2000 will happen via the
118 ethernet connection.
119
120 PART 4)
121   Making a TCP/IP network connection to the Abatron BDI2000:
122
123 Telnet to the Abatron BDI2000.  Assuming that all of the
124 networking info was loaded via RS232 correctly, you will see
125 the following (scrolling):
126
127 - TARGET: waiting for target Vcc
128 - TARGET: waiting for target Vcc
129
130
131 PART 5)
132   Power up the target Sandpoint:
133 If the BDM connections are correct, the following will now appear:
134
135 - TARGET: waiting for target Vcc
136 - TARGET: waiting for target Vcc
137 - TARGET: processing power-up delay
138 - TARGET: processing user reset request
139 - BDI asserts HRESET
140 - Reset JTAG controller passed
141 - Bypass check: 0x55 => 0xAA
142 - Bypass check: 0x55 => 0xAA
143 - JTAG exists check passed
144 - Target PVR is 0x00810101
145 - COP status is 0x01
146 - Check running state passed
147 - BDI scans COP freeze command
148 - BDI removes HRESET
149 - COP status is 0x05
150 - Check stopped state passed
151 - Check LSRL length passed
152 - BDI sets breakpoint at 0xFFF00100
153 - BDI resumes program execution
154 - Waiting for target stop passed
155 - TARGET: Target PVR is 0x00810101
156 - TARGET: reseting target passed
157 - TARGET: processing target startup ....
158 - TARGET: processing target startup passed
159 BDI>
160
161
162 PART 6)
163   Erase the current contents of the flash memory:
164
165 BDI>era 0xFFF00000
166     Erasing flash at 0xfff00000
167     Erasing flash passed
168 BDI>era 0xFFF04000
169     Erasing flash at 0xfff04000
170     Erasing flash passed
171 BDI>era 0xFFF06000
172     Erasing flash at 0xfff06000
173     Erasing flash passed
174 BDI>era 0xFFF08000
175     Erasing flash at 0xfff08000
176     Erasing flash passed
177 BDI>era 0xFFF10000
178     Erasing flash at 0xfff10000
179     Erasing flash passed
180 BDI>era 0xFFF20000
181     Erasing flash at 0xfff20000
182     Erasing flash passed
183
184
185 PART 7)
186   Program the flash memory with the U-Boot image:
187
188 BDI>prog 0xFFF00000 u-boot.bin bin
189     Programming u-boot.bin , please wait ....
190     Programming flash passed
191
192
193 PART 8)
194   Connect PC to Sandpoint:
195 Using a crossover serial cable, attach the PC serial port to the
196 Sandpoint's COM1.  Set communications parameters to 8N1 / 9600 baud.
197
198
199 PART 9)
200   Reset the Unity and begin U-Boot execution:
201
202 BDI>reset
203 - TARGET: processing user reset request
204 - TARGET: Target PVR is 0x00810101
205 - TARGET: reseting target passed
206 - TARGET: processing target init list ....
207 - TARGET: processing target init list passed
208
209 BDI>go
210
211 Now see output from U-Boot running, sent via serial port:
212
213 U-Boot 1.1.4 (Jan 23 2002 - 18:29:19)
214
215 CPU:   MPC8240 Revision 1.1 at 264 MHz: 16 kB I-Cache 16 kB D-Cache
216 Board: Sandpoint 8240 Unity
217 DRAM:  64 MB
218 FLASH:  2 MB
219 PCI:    scanning bus0 ...
220   bus dev fn venID devID class  rev MBAR0    MBAR1    IPIN ILINE
221   00  00  00 1057  0003  060000 13  00000008 00000000 01   00
222   00  0b  00 10ad  0565  060100 10  00000000 00000000 00   00
223   00  0f  00 8086  1229  020000 08  80000000 80000001 01   00
224 In:    serial
225 Out:   serial
226 Err:   serial
227 =>
228
229
230 PART 10)
231   Set and save any required environmental variables, examples of some:
232
233 => setenv ethaddr 00:03:47:97:D0:79
234 => setenv bootfile your_qnx_image_here
235 => setenv hostname sandpointX
236 => setenv netmask 255.255.255.0
237 => setenv ipaddr 192.168.0.11
238 => setenv serverip 192.168.0.10
239 => setenv gatewayip=192.168.0.1
240 => saveenv
241 Saving Enviroment to Flash...
242 Un-Protected 1 sectors
243 Erasing Flash...
244  done
245 Erased 1 sectors
246 Writing to Flash... done
247 Protected 1 sectors
248 =>
249
250 **** Example environment: ****
251
252 => printenv
253 baudrate=9600
254 bootfile=telemetry
255 hostname=sp1
256 ethaddr=00:03:47:97:E4:6B
257 load=tftp 100000 u-boot.bin
258 update=protect off all;era FFF00000 FFF3FFFF;cp.b 100000 FFF00000 $(filesize);saveenv
259 filesize=1f304
260 gatewayip=145.17.228.1
261 netmask=255.255.255.0
262 ipaddr=145.17.228.42
263 serverip=145.17.242.46
264 stdin=serial
265 stdout=serial
266 stderr=serial
267
268 Environment size: 332/8188 bytes
269 =>
270
271 here's some text useful stuff for cut-n-paste:
272 setenv hostname sandpoint1
273 setenv netmask 255.255.255.0
274 setenv ipaddr 145.17.228.81
275 setenv serverip 145.17.242.46
276 setenv gatewayip 145.17.228.1
277 saveenv
278
279 PART 11)
280   Test U-Boot by tftp'ing new U-Boot, overwriting current:
281
282 => protect off all
283 Un-Protect Flash Bank # 1
284 => tftp 100000 u-boot.bin
285 eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
286 ARP broadcast 1
287 TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
288  gateway 145.17.228.1
289 Filename 'u-boot.bin'.
290 Load address: 0x100000
291 Loading: #########################
292 done
293 Bytes transferred = 127628 (1f28c hex)
294 => era all
295 Erase Flash Bank # 1
296  done
297 Erase Flash Bank # 2 - missing
298 => cp.b 0x100000 FFF00000 1f28c
299 Copy to Flash... done
300 => saveenv
301 Saving Enviroment to Flash...
302 Un-Protected 1 sectors
303 Erasing Flash...
304  done
305 Erased 1 sectors
306 Writing to Flash... done
307 Protected 1 sectors
308 => reset
309
310 You can put these commands into some environment variables;
311
312 => setenv load tftp 100000 u-boot.bin
313 => setenv update protect off all\;era FFF00000 FFF3FFFF\;cp.b 100000 FFF00000 \$(filesize)\;saveenv
314 => saveenv
315
316 Then you just have to type "run load" then "run update"
317
318 => run load
319 eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
320 ARP broadcast 1
321 TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
322  gateway 145.17.228.1
323 Filename 'u-boot.bin'.
324 Load address: 0x100000
325 Loading: #########################
326 done
327 Bytes transferred = 127748 (1f304 hex)
328 => run update
329 Un-Protect Flash Bank # 1
330 Un-Protect Flash Bank # 2
331 Erase Flash from 0xfff00000 to 0xfff3ffff
332  done
333 Erased 7 sectors
334 Copy to Flash... done
335 Saving Enviroment to Flash...
336 Un-Protected 1 sectors
337 Erasing Flash...
338  done
339 Erased 1 sectors
340 Writing to Flash... done
341 Protected 1 sectors
342 =>
343
344
345 PART 12)
346   Load OS image (ELF format) via U-Boot using tftp
347
348
349 => tftp 800000 sandpoint-simple.elf
350 eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
351 ARP broadcast 1
352 TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
353  gateway 145.17.228.1
354 Filename 'sandpoint-simple.elf'.
355 Load address: 0x800000
356 Loading: #################################################################
357          #################################################################
358          #################################################################
359          ########################
360 done
361 Bytes transferred = 1120284 (11181c hex)
362 ==>
363
364 PART 13)
365   Begin OS image execution: (note that unless you have the
366 serial parameters of your OS image set to 9600 (i.e. same as
367 the U-Boot binary) you will get garbage here until you change
368 the serial communications speed.
369
370 => bootelf 800000
371 Loading  @ 0x001f0100 (1120028 bytes)
372 ## Starting application at 0x001f1d28 ...
373 Replace init_hwinfo() with a board specific version
374
375 Loading QNX6....
376
377 Header size=0x0000009c, Total Size=0x000005c0, #Cpu=1, Type=1
378 <...loader and kernel messages snipped...>
379
380 Welcome to Neutrino on the Sandpoint
381 #
382
383
384 other information:
385
386 CVS Retrieval Notes:
387
388 U-Boot's SourceForge CVS repository can be checked out
389 through anonymous (pserver) CVS with the following
390 instruction set. The module you wish to check out must
391 be specified as the modulename. When prompted for a
392 password for anonymous, simply press the Enter key.
393
394 cvs -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot login
395
396 cvs -z6 -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot co -P u-boot
397