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