mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 10:26:10 +01:00 
			
		
		
		
	which makes the environment compatible with the hush shell. WARNING: Support for the old '$(...)' syntax will be discontinued in a later version.
		
			
				
	
	
		
			395 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			395 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| The port was tested on a Sandpoint 8240 X3 board, with U-Boot
 | |
| installed in the flash memory of the CPU card. Please use the
 | |
| following DIP switch settings:
 | |
| 
 | |
| Motherboard:
 | |
| 
 | |
| SW1.1: on	SW1.2: on	SW1.3: on	SW1.4: on
 | |
| SW1.5: on	SW1.6: on	SW1.7: on	SW1.8: on
 | |
| 
 | |
| SW2.1: on	SW2.2: on	SW2.3: on	SW2.4: on
 | |
| SW2.5: on	SW2.6: on	SW2.7: on	SW2.8: on
 | |
| 
 | |
| 
 | |
| CPU Card:
 | |
| 
 | |
| SW2.1: OFF	SW2.2: OFF	SW2.3: on	SW2.4: on
 | |
| SW2.5: OFF	SW2.6: OFF	SW2.7: OFF	SW2.8: OFF
 | |
| 
 | |
| SW3.1: OFF	SW3.2: on	SW3.3: OFF	SW3.4: OFF
 | |
| SW3.5: on	SW3.6: OFF	SW3.7: OFF	SW3.8: on
 | |
| 
 | |
| 
 | |
| The followind detailed description of installation and initial steps
 | |
| with U-Boot and QNX was provided by Jim Sandoz <sandoz@lucent.com>:
 | |
| 
 | |
| 
 | |
| Directions for installing U-Boot on Sandpoint+Unity8240
 | |
| using the Abatron BDI2000 BDM/JTAG debugger ...
 | |
| 
 | |
| Background and Reference info:
 | |
| http://u-boot.sourceforge.net/
 | |
| http://www.abatron.ch/
 | |
| http://www.abatron.ch/BDI/bdihw.html
 | |
| http://www.abatron.ch/DataSheets/BDI2000.pdf
 | |
| http://www.abatron.ch/Manuals/ManGdbCOP-2000C.pdf
 | |
| http://e-www.motorola.com/collateral/SPX3UM.pdf
 | |
| http://e-www.motorola.com/collateral/UNITYX4CONFIG.pdf
 | |
| 
 | |
| 
 | |
| Connection Diagram:
 | |
| 					    ===========
 | |
|  ===                     =====             |-----      |
 | |
| |   | <---------------> |     |            |     |     |
 | |
| |PC |       rs232       | BDI |=============[]   |     |
 | |
| |   |                   |2000 |  BDM probe |     |     |
 | |
| |   | <---------------> |     |            |-----      |
 | |
|  ===       ethernet      =====             |           |
 | |
| 					   |           |
 | |
| 					    ===========
 | |
| 					 Sandpoint X3 with
 | |
| 					  Unity 8240 proc
 | |
| 
 | |
| 
 | |
| PART 1)
 | |
|   DIP Switch Settings:
 | |
| 
 | |
| Sandpoint X3 8240 processor board DIP switch settings, with
 | |
| U-Boot to be installed in the flash memory of the CPU card:
 | |
| 
 | |
| Motorola Sandpoint X3 Motherboard:
 | |
| SW1.1: on	SW1.2: on	SW1.3: on	SW1.4: on
 | |
| SW1.5: on	SW1.6: on	SW1.7: on	SW1.8: on
 | |
| SW2.1: on	SW2.2: on	SW2.3: on	SW2.4: on
 | |
| SW2.5: on	SW2.6: on	SW2.7: on	SW2.8: on
 | |
| 
 | |
| Motorola Unity 8240 CPU Card:
 | |
| SW2.1: OFF	SW2.2: OFF	SW2.3: on	SW2.4: on
 | |
| SW2.5: OFF	SW2.6: OFF	SW2.7: OFF	SW2.8: OFF
 | |
| SW3.1: OFF	SW3.2: on	SW3.3: OFF	SW3.4: OFF
 | |
| SW3.5: on	SW3.6: OFF	SW3.7: OFF	SW3.8: on
 | |
| 
 | |
| 
 | |
| PART 2)
 | |
|   Connect the BDI2000 Cable to the Sandpoint/Unity 8240:
 | |
| 
 | |
| BDM Pin 1 on the Unity 8240 processor board is towards the
 | |
| PCI PMC connectors, or away from the socketed SDRAM, i.e.:
 | |
| 
 | |
|   ====================
 | |
|   | ---------------- |
 | |
|   | |    SDRAM     | |
 | |
|   | |              | |
 | |
|   | ---------------- |
 | |
|   | |~|              |
 | |
|   | |B|       ++++++ |
 | |
|   | |D|       + uP + |
 | |
|   | |M|       +8240+ |
 | |
|   |  ~ 1      ++++++ |
 | |
|   |                  |
 | |
|   |                  |
 | |
|   |                  |
 | |
|   | PMC conn ======  |
 | |
|   |   =====  ======  |
 | |
|   |                  |
 | |
|   ====================
 | |
| 
 | |
| 
 | |
| PART 3)
 | |
|   Setting up the BDI2000, and preparing for TCP/IP network comms:
 | |
| 
 | |
| Connect the BDI2000 to the PC using the supplied serial cable.
 | |
| Download the BDI2000 software and install it using setup.exe.
 | |
| 
 | |
| [Note: of course you  can  also  use  the  Linux  command  line  tool
 | |
| "bdisetup"  to  configure  your BDI2000 - the sources are included on
 | |
| the floppy disk that comes with your BDI2000. Just in case you  don't
 | |
| have any Windows PC's - like me :-)   -- wd ]
 | |
| 
 | |
| Power up the BDI2000; then follow directions to assign the IP
 | |
| address and related network information.  Note that U-Boot
 | |
| will be loaded to the Sandpoint via tftp.  You need to either
 | |
| use the Abatron-provided tftp application or provide a tftp
 | |
| server (e.g. Linux/Solaris/*BSD) somewhere on your network.
 | |
| Once the IP address etc are assigned via the RS232 port,
 | |
| further communication with the BDI2000 will happen via the
 | |
| ethernet connection.
 | |
| 
 | |
| PART 4)
 | |
|   Making a TCP/IP network connection to the Abatron BDI2000:
 | |
| 
 | |
| Telnet to the Abatron BDI2000.  Assuming that all of the
 | |
| networking info was loaded via RS232 correctly, you will see
 | |
| the following (scrolling):
 | |
| 
 | |
| - TARGET: waiting for target Vcc
 | |
| - TARGET: waiting for target Vcc
 | |
| 
 | |
| 
 | |
| PART 5)
 | |
|   Power up the target Sandpoint:
 | |
| If the BDM connections are correct, the following will now appear:
 | |
| 
 | |
| - TARGET: waiting for target Vcc
 | |
| - TARGET: waiting for target Vcc
 | |
| - TARGET: processing power-up delay
 | |
| - TARGET: processing user reset request
 | |
| - BDI asserts HRESET
 | |
| - Reset JTAG controller passed
 | |
| - Bypass check: 0x55 => 0xAA
 | |
| - Bypass check: 0x55 => 0xAA
 | |
| - JTAG exists check passed
 | |
| - Target PVR is 0x00810101
 | |
| - COP status is 0x01
 | |
| - Check running state passed
 | |
| - BDI scans COP freeze command
 | |
| - BDI removes HRESET
 | |
| - COP status is 0x05
 | |
| - Check stopped state passed
 | |
| - Check LSRL length passed
 | |
| - BDI sets breakpoint at 0xFFF00100
 | |
| - BDI resumes program execution
 | |
| - Waiting for target stop passed
 | |
| - TARGET: Target PVR is 0x00810101
 | |
| - TARGET: reseting target passed
 | |
| - TARGET: processing target startup ....
 | |
| - TARGET: processing target startup passed
 | |
| BDI>
 | |
| 
 | |
| 
 | |
| PART 6)
 | |
|   Erase the current contents of the flash memory:
 | |
| 
 | |
| BDI>era 0xFFF00000
 | |
|     Erasing flash at 0xfff00000
 | |
|     Erasing flash passed
 | |
| BDI>era 0xFFF04000
 | |
|     Erasing flash at 0xfff04000
 | |
|     Erasing flash passed
 | |
| BDI>era 0xFFF06000
 | |
|     Erasing flash at 0xfff06000
 | |
|     Erasing flash passed
 | |
| BDI>era 0xFFF08000
 | |
|     Erasing flash at 0xfff08000
 | |
|     Erasing flash passed
 | |
| BDI>era 0xFFF10000
 | |
|     Erasing flash at 0xfff10000
 | |
|     Erasing flash passed
 | |
| BDI>era 0xFFF20000
 | |
|     Erasing flash at 0xfff20000
 | |
|     Erasing flash passed
 | |
| 
 | |
| 
 | |
| PART 7)
 | |
|   Program the flash memory with the U-Boot image:
 | |
| 
 | |
| BDI>prog 0xFFF00000 u-boot.bin bin
 | |
|     Programming u-boot.bin , please wait ....
 | |
|     Programming flash passed
 | |
| 
 | |
| 
 | |
| PART 8)
 | |
|   Connect PC to Sandpoint:
 | |
| Using a crossover serial cable, attach the PC serial port to the
 | |
| Sandpoint's COM1.  Set communications parameters to 8N1 / 9600 baud.
 | |
| 
 | |
| 
 | |
| PART 9)
 | |
|   Reset the Unity and begin U-Boot execution:
 | |
| 
 | |
| BDI>reset
 | |
| - TARGET: processing user reset request
 | |
| - TARGET: Target PVR is 0x00810101
 | |
| - TARGET: reseting target passed
 | |
| - TARGET: processing target init list ....
 | |
| - TARGET: processing target init list passed
 | |
| 
 | |
| BDI>go
 | |
| 
 | |
| Now see output from U-Boot running, sent via serial port:
 | |
| 
 | |
| U-Boot 1.1.4 (Jan 23 2002 - 18:29:19)
 | |
| 
 | |
| CPU:   MPC8240 Revision 1.1 at 264 MHz: 16 kB I-Cache 16 kB D-Cache
 | |
| Board: Sandpoint 8240 Unity
 | |
| DRAM:  64 MB
 | |
| FLASH:  2 MB
 | |
| PCI:    scanning bus0 ...
 | |
|   bus dev fn venID devID class  rev MBAR0    MBAR1    IPIN ILINE
 | |
|   00  00  00 1057  0003  060000 13  00000008 00000000 01   00
 | |
|   00  0b  00 10ad  0565  060100 10  00000000 00000000 00   00
 | |
|   00  0f  00 8086  1229  020000 08  80000000 80000001 01   00
 | |
| In:    serial
 | |
| Out:   serial
 | |
| Err:   serial
 | |
| =>
 | |
| 
 | |
| 
 | |
| PART 10)
 | |
|   Set and save any required environmental variables, examples of some:
 | |
| 
 | |
| => setenv ethaddr 00:03:47:97:D0:79
 | |
| => setenv bootfile your_qnx_image_here
 | |
| => setenv hostname sandpointX
 | |
| => setenv netmask 255.255.255.0
 | |
| => setenv ipaddr 192.168.0.11
 | |
| => setenv serverip 192.168.0.10
 | |
| => setenv gatewayip=192.168.0.1
 | |
| => saveenv
 | |
| Saving Enviroment to Flash...
 | |
| Un-Protected 1 sectors
 | |
| Erasing Flash...
 | |
|  done
 | |
| Erased 1 sectors
 | |
| Writing to Flash... done
 | |
| Protected 1 sectors
 | |
| =>
 | |
| 
 | |
| **** Example environment: ****
 | |
| 
 | |
| => printenv
 | |
| baudrate=9600
 | |
| bootfile=telemetry
 | |
| hostname=sp1
 | |
| ethaddr=00:03:47:97:E4:6B
 | |
| load=tftp 100000 u-boot.bin
 | |
| update=protect off all;era FFF00000 FFF3FFFF;cp.b 100000 FFF00000 ${filesize};saveenv
 | |
| filesize=1f304
 | |
| gatewayip=145.17.228.1
 | |
| netmask=255.255.255.0
 | |
| ipaddr=145.17.228.42
 | |
| serverip=145.17.242.46
 | |
| stdin=serial
 | |
| stdout=serial
 | |
| stderr=serial
 | |
| 
 | |
| Environment size: 332/8188 bytes
 | |
| =>
 | |
| 
 | |
| here's some text useful stuff for cut-n-paste:
 | |
| setenv hostname sandpoint1
 | |
| setenv netmask 255.255.255.0
 | |
| setenv ipaddr 145.17.228.81
 | |
| setenv serverip 145.17.242.46
 | |
| setenv gatewayip 145.17.228.1
 | |
| saveenv
 | |
| 
 | |
| PART 11)
 | |
|   Test U-Boot by tftp'ing new U-Boot, overwriting current:
 | |
| 
 | |
| => protect off all
 | |
| Un-Protect Flash Bank # 1
 | |
| => tftp 100000 u-boot.bin
 | |
| eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
 | |
| ARP broadcast 1
 | |
| TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
 | |
|  gateway 145.17.228.1
 | |
| Filename 'u-boot.bin'.
 | |
| Load address: 0x100000
 | |
| Loading: #########################
 | |
| done
 | |
| Bytes transferred = 127628 (1f28c hex)
 | |
| => era all
 | |
| Erase Flash Bank # 1
 | |
|  done
 | |
| Erase Flash Bank # 2 - missing
 | |
| => cp.b 0x100000 FFF00000 1f28c
 | |
| Copy to Flash... done
 | |
| => saveenv
 | |
| Saving Enviroment to Flash...
 | |
| Un-Protected 1 sectors
 | |
| Erasing Flash...
 | |
|  done
 | |
| Erased 1 sectors
 | |
| Writing to Flash... done
 | |
| Protected 1 sectors
 | |
| => reset
 | |
| 
 | |
| You can put these commands into some environment variables;
 | |
| 
 | |
| => setenv load tftp 100000 u-boot.bin
 | |
| => setenv update protect off all\;era FFF00000 FFF3FFFF\;cp.b 100000 FFF00000 \${filesize}\;saveenv
 | |
| => saveenv
 | |
| 
 | |
| Then you just have to type "run load" then "run update"
 | |
| 
 | |
| => run load
 | |
| eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
 | |
| ARP broadcast 1
 | |
| TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
 | |
|  gateway 145.17.228.1
 | |
| Filename 'u-boot.bin'.
 | |
| Load address: 0x100000
 | |
| Loading: #########################
 | |
| done
 | |
| Bytes transferred = 127748 (1f304 hex)
 | |
| => run update
 | |
| Un-Protect Flash Bank # 1
 | |
| Un-Protect Flash Bank # 2
 | |
| Erase Flash from 0xfff00000 to 0xfff3ffff
 | |
|  done
 | |
| Erased 7 sectors
 | |
| Copy to Flash... done
 | |
| Saving Enviroment to Flash...
 | |
| Un-Protected 1 sectors
 | |
| Erasing Flash...
 | |
|  done
 | |
| Erased 1 sectors
 | |
| Writing to Flash... done
 | |
| Protected 1 sectors
 | |
| =>
 | |
| 
 | |
| 
 | |
| PART 12)
 | |
|   Load OS image (ELF format) via U-Boot using tftp
 | |
| 
 | |
| 
 | |
| => tftp 800000 sandpoint-simple.elf
 | |
| eth: Intel i82559 PCI EtherExpressPro @0x80000000(bus=0, device=15, func=0)
 | |
| ARP broadcast 1
 | |
| TFTP from server 145.17.242.46; our IP address is 145.17.228.42; sending through
 | |
|  gateway 145.17.228.1
 | |
| Filename 'sandpoint-simple.elf'.
 | |
| Load address: 0x800000
 | |
| Loading: #################################################################
 | |
| 	 #################################################################
 | |
| 	 #################################################################
 | |
| 	 ########################
 | |
| done
 | |
| Bytes transferred = 1120284 (11181c hex)
 | |
| ==>
 | |
| 
 | |
| PART 13)
 | |
|   Begin OS image execution: (note that unless you have the
 | |
| serial parameters of your OS image set to 9600 (i.e. same as
 | |
| the U-Boot binary) you will get garbage here until you change
 | |
| the serial communications speed.
 | |
| 
 | |
| => bootelf 800000
 | |
| Loading  @ 0x001f0100 (1120028 bytes)
 | |
| ## Starting application at 0x001f1d28 ...
 | |
| Replace init_hwinfo() with a board specific version
 | |
| 
 | |
| Loading QNX6....
 | |
| 
 | |
| Header size=0x0000009c, Total Size=0x000005c0, #Cpu=1, Type=1
 | |
| <...loader and kernel messages snipped...>
 | |
| 
 | |
| Welcome to Neutrino on the Sandpoint
 | |
| #
 | |
| 
 | |
| 
 | |
| other information:
 | |
| 
 | |
| CVS Retrieval Notes:
 | |
| 
 | |
| U-Boot's SourceForge CVS repository can be checked out
 | |
| through anonymous (pserver) CVS with the following
 | |
| instruction set. The module you wish to check out must
 | |
| be specified as the modulename. When prompted for a
 | |
| password for anonymous, simply press the Enter key.
 | |
| 
 | |
| cvs -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot login
 | |
| 
 | |
| cvs -z6 -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot co -P u-boot
 |