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