mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00: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
 |