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