blob: 5cb79b32d6a850414d0d256ab2ad705ebeabbf4e [file] [log] [blame]
wdenkfe8c2802002-11-03 00:38:21 +00001The port was tested on a Sandpoint 8240 X3 board, with U-Boot
2installed in the flash memory of the CPU card. Please use the
3following DIP switch settings:
4
5Motherboard:
6
7SW1.1: on SW1.2: on SW1.3: on SW1.4: on
8SW1.5: on SW1.6: on SW1.7: on SW1.8: on
9
10SW2.1: on SW2.2: on SW2.3: on SW2.4: on
11SW2.5: on SW2.6: on SW2.7: on SW2.8: on
12
13
14CPU Card:
15
16SW2.1: OFF SW2.2: OFF SW2.3: on SW2.4: on
17SW2.5: OFF SW2.6: OFF SW2.7: OFF SW2.8: OFF
18
19SW3.1: OFF SW3.2: on SW3.3: OFF SW3.4: OFF
20SW3.5: on SW3.6: OFF SW3.7: OFF SW3.8: on
21
22
23
24The followind detailed description of installation and initial steps
25with U-Boot and QNX was provided by Jim Sandoz <sandoz@lucent.com>:
26
27
28Directions for installing U-Boot on Sandpoint+Unity8240
29using the Abatron BDI2000 BDM/JTAG debugger ...
30
31Background and Reference info:
32http://u-boot.sourceforge.net/
33http://www.abatron.ch/
34http://www.abatron.ch/BDI/bdihw.html
35http://www.abatron.ch/DataSheets/BDI2000.pdf
36http://www.abatron.ch/Manuals/ManGdbCOP-2000C.pdf
37http://e-www.motorola.com/collateral/SPX3UM.pdf
38http://e-www.motorola.com/collateral/UNITYX4CONFIG.pdf
39
40
41
42Connection 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
56PART 1)
57 DIP Switch Settings:
58
59Sandpoint X3 8240 processor board DIP switch settings, with
60U-Boot to be installed in the flash memory of the CPU card:
61
62Motorola Sandpoint X3 Motherboard:
63SW1.1: on SW1.2: on SW1.3: on SW1.4: on
64SW1.5: on SW1.6: on SW1.7: on SW1.8: on
65SW2.1: on SW2.2: on SW2.3: on SW2.4: on
66SW2.5: on SW2.6: on SW2.7: on SW2.8: on
67
68Motorola Unity 8240 CPU Card:
69SW2.1: OFF SW2.2: OFF SW2.3: on SW2.4: on
70SW2.5: OFF SW2.6: OFF SW2.7: OFF SW2.8: OFF
71SW3.1: OFF SW3.2: on SW3.3: OFF SW3.4: OFF
72SW3.5: on SW3.6: OFF SW3.7: OFF SW3.8: on
73
74
75PART 2)
76 Connect the BDI2000 Cable to the Sandpoint/Unity 8240:
77
78BDM Pin 1 on the Unity 8240 processor board is towards the
79PCI 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
100PART 3)
101 Setting up the BDI2000, and preparing for TCP/IP network comms:
102
103Connect the BDI2000 to the PC using the supplied serial cable.
104Download 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
108the floppy disk that comes with your BDI2000. Just in case you don't
109have any Windows PC's - like me :-) -- wd ]
110
111Power up the BDI2000; then follow directions to assign the IP
112address and related network information. Note that U-Boot
113will be loaded to the Sandpoint via tftp. You need to either
114use the Abatron-provided tftp application or provide a tftp
115server (e.g. Linux/Solaris/*BSD) somewhere on your network.
116Once the IP address etc are assigned via the RS232 port,
117further communication with the BDI2000 will happen via the
118ethernet connection.
119
120PART 4)
121 Making a TCP/IP network connection to the Abatron BDI2000:
122
123Telnet to the Abatron BDI2000. Assuming that all of the
124networking info was loaded via RS232 correctly, you will see
125the following (scrolling):
126
127- TARGET: waiting for target Vcc
128- TARGET: waiting for target Vcc
129
130
131PART 5)
132 Power up the target Sandpoint:
133If 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
159BDI>
160
161
162PART 6)
163 Erase the current contents of the flash memory:
164
165BDI>era 0xFFF00000
166 Erasing flash at 0xfff00000
167 Erasing flash passed
168BDI>era 0xFFF04000
169 Erasing flash at 0xfff04000
170 Erasing flash passed
171BDI>era 0xFFF06000
172 Erasing flash at 0xfff06000
173 Erasing flash passed
174BDI>era 0xFFF08000
175 Erasing flash at 0xfff08000
176 Erasing flash passed
177BDI>era 0xFFF10000
178 Erasing flash at 0xfff10000
179 Erasing flash passed
180BDI>era 0xFFF20000
181 Erasing flash at 0xfff20000
182 Erasing flash passed
183
184
185PART 7)
186 Program the flash memory with the U-Boot image:
187
188BDI>prog 0xFFF00000 u-boot.bin bin
189 Programming u-boot.bin , please wait ....
190 Programming flash passed
191
192
193PART 8)
194 Connect PC to Sandpoint:
195Using a crossover serial cable, attach the PC serial port to the
196Sandpoint's COM1. Set communications parameters to 8N1 / 9600 baud.
197
198
199PART 9)
200 Reset the Unity and begin U-Boot execution:
201
202BDI>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
209BDI>go
210
211Now see output from U-Boot running, sent via serial port:
212
213U-Boot 1.1.4 (Jan 23 2002 - 18:29:19)
214
215CPU: MPC8240 Revision 1.1 at 264 MHz: 16 kB I-Cache 16 kB D-Cache
216Board: Sandpoint 8240 Unity
217DRAM: 64 MB
218FLASH: 2 MB
219PCI: 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
224In: serial
225Out: serial
226Err: serial
227=>
228
229
230PART 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
241Saving Enviroment to Flash...
242Un-Protected 1 sectors
243Erasing Flash...
244 done
245Erased 1 sectors
246Writing to Flash... done
247Protected 1 sectors
248=>
249
250**** Example environment: ****
251
252=> printenv
253baudrate=9600
254bootfile=telemetry
255hostname=sp1
256ethaddr=00:03:47:97:E4:6B
257load=tftp 100000 u-boot.bin
258update=protect off all;era FFF00000 FFF3FFFF;cp.b 100000 FFF00000 $(filesize);saveenv
259filesize=1f304
260gatewayip=145.17.228.1
261netmask=255.255.255.0
262ipaddr=145.17.228.42
263serverip=145.17.242.46
264stdin=serial
265stdout=serial
266stderr=serial
267
268Environment size: 332/8188 bytes
269=>
270
271here's some text useful stuff for cut-n-paste:
272setenv hostname sandpoint1
273setenv netmask 255.255.255.0
274setenv ipaddr 145.17.228.81
275setenv serverip 145.17.242.46
276setenv gatewayip 145.17.228.1
277saveenv
278
279PART 11)
280 Test U-Boot by tftp'ing new U-Boot, overwriting current:
281
282=> protect off all
283Un-Protect Flash Bank # 1
284=> tftp 100000 u-boot.bin
285eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
286ARP broadcast 1
287TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
288 gateway 145.17.228.1
289Filename 'u-boot.bin'.
290Load address: 0x100000
291Loading: #########################
292done
293Bytes transferred = 127628 (1f28c hex)
294=> era all
295Erase Flash Bank # 1
296 done
297Erase Flash Bank # 2 - missing
298=> cp.b 0x100000 FFF00000 1f28c
299Copy to Flash... done
300=> saveenv
301Saving Enviroment to Flash...
302Un-Protected 1 sectors
303Erasing Flash...
304 done
305Erased 1 sectors
306Writing to Flash... done
307Protected 1 sectors
308=> reset
309
310You 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
316Then you just have to type "run load" then "run update"
317
318=> run load
319eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
320ARP broadcast 1
321TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
322 gateway 145.17.228.1
323Filename 'u-boot.bin'.
324Load address: 0x100000
325Loading: #########################
326done
327Bytes transferred = 127748 (1f304 hex)
328=> run update
329Un-Protect Flash Bank # 1
330Un-Protect Flash Bank # 2
331Erase Flash from 0xfff00000 to 0xfff3ffff
332 done
333Erased 7 sectors
334Copy to Flash... done
335Saving Enviroment to Flash...
336Un-Protected 1 sectors
337Erasing Flash...
338 done
339Erased 1 sectors
340Writing to Flash... done
341Protected 1 sectors
342=>
343
344
345PART 12)
346 Load OS image (ELF format) via U-Boot using tftp
347
348
349=> tftp 800000 sandpoint-simple.elf
350eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
351ARP broadcast 1
352TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
353 gateway 145.17.228.1
354Filename 'sandpoint-simple.elf'.
355Load address: 0x800000
356Loading: #################################################################
357 #################################################################
358 #################################################################
359 ########################
360done
361Bytes transferred = 1120284 (11181c hex)
362==>
363
364PART 13)
365 Begin OS image execution: (note that unless you have the
366serial parameters of your OS image set to 9600 (i.e. same as
367the U-Boot binary) you will get garbage here until you change
368the serial communications speed.
369
370=> bootelf 800000
371Loading @ 0x001f0100 (1120028 bytes)
372## Starting application at 0x001f1d28 ...
373Replace init_hwinfo() with a board specific version
374
375Loading QNX6....
376
377Header size=0x0000009c, Total Size=0x000005c0, #Cpu=1, Type=1
378<...loader and kernel messages snipped...>
379
380Welcome to Neutrino on the Sandpoint
381#
382
383
384other information:
385
386CVS Retrieval Notes:
387
388U-Boot's SourceForge CVS repository can be checked out
389through anonymous (pserver) CVS with the following
390instruction set. The module you wish to check out must
391be specified as the modulename. When prompted for a
392password for anonymous, simply press the Enter key.
393
394cvs -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot login
395
396cvs -z6 -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot co -P u-boot
397