| ============================================================================= |
| |
| U-Boot port on the LEOX's ELPT860 CPU board |
| ------------------------------------------- |
| |
| LEOX.org is about the development of free hardware and software resources |
| for system on chip. |
| |
| For more information, contact The LEOX team <team@leox.org> |
| |
| References: |
| ~~~~~~~~~~ |
| 1) Get the last stable release from denx.de: |
| o ftp://ftp.denx.de/pub/u-boot/u-boot-0.2.0.tar.bz2 |
| 2) Get the current CVS snapshot: |
| o cvs -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot login |
| o cvs -z6 -d:pserver:anonymous@cvs.u-boot.sourceforge.net:/cvsroot/u-boot co -P u-boot |
| |
| ============================================================================= |
| |
| The ELPT860 CPU board has the following features: |
| |
| Processor: - MPC860T @ 50MHz |
| - PowerPC Core |
| - 65 MIPS |
| - Caches: D->4KB, I->4KB |
| - CPM: 4 SCCs, 2 SMCs |
| - Ethernet 10/100 |
| - SPI, I2C, PCMCIA, Parallel |
| |
| CPU board: - DRAM: 16 MB |
| - FLASH: 512 KB + (2 * 4 MB) |
| - NVRAM: 128 KB |
| - 1 Serial link |
| - 2 Ethernet 10 BaseT Channels |
| |
| On power-up the processor jumps to the address of 0x02000100 |
| |
| Thus, U-Boot is configured to reside in flash starting at the address of |
| 0x02001000. The environment space is located in NVRAM separately from |
| U-Boot, at the address of 0x03000000. |
| |
| ============================================================================= |
| |
| U-Boot test results |
| |
| ============================================================================= |
| |
| |
| ################################################## |
| # Operation on the serial console (SMC1) |
| ############################## |
| |
| U-Boot 0.2.2 (Jan 19 2003 - 11:08:39) |
| |
| CPU: XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present |
| *** Warning: CPU Core has Silicon Bugs -- Check the Errata *** |
| Board: ### No HW ID - assuming ELPT860 |
| DRAM: 16 MB |
| FLASH: 512 kB |
| In: serial |
| Out: serial |
| Err: serial |
| Net: SCC ETHERNET |
| |
| Type "run nfsboot" to mount root filesystem over NFS |
| |
| Hit any key to stop autoboot: 0 |
| LEOX_elpt860: help |
| askenv - get environment variables from stdin |
| autoscr - run script from memory |
| base - print or set address offset |
| bdinfo - print Board Info structure |
| bootm - boot application image from memory |
| bootp - boot image via network using BootP/TFTP protocol |
| bootd - boot default, i.e., run 'bootcmd' |
| cmp - memory compare |
| coninfo - print console devices and informations |
| cp - memory copy |
| crc32 - checksum calculation |
| echo - echo args to console |
| erase - erase FLASH memory |
| flinfo - print FLASH memory information |
| go - start application at address 'addr' |
| help - print online help |
| iminfo - print header information for application image |
| loadb - load binary file over serial line (kermit mode) |
| loads - load S-Record file over serial line |
| loop - infinite loop on address range |
| md - memory display |
| mm - memory modify (auto-incrementing) |
| mtest - simple RAM test |
| mw - memory write (fill) |
| nm - memory modify (constant address) |
| printenv- print environment variables |
| protect - enable or disable FLASH write protection |
| rarpboot- boot image via network using RARP/TFTP protocol |
| reset - Perform RESET of the CPU |
| run - run commands in an environment variable |
| saveenv - save environment variables to persistent storage |
| setenv - set environment variables |
| sleep - delay execution for some time |
| tftpboot- boot image via network using TFTP protocol |
| and env variables ipaddr and serverip |
| version - print monitor version |
| ? - alias for 'help' |
| |
| ################################################## |
| # Environment Variables (CFG_ENV_IS_IN_NVRAM) |
| ############################## |
| |
| LEOX_elpt860: printenv |
| bootdelay=5 |
| loads_echo=1 |
| baudrate=9600 |
| stdin=serial |
| stdout=serial |
| stderr=serial |
| ethaddr=00:03:ca:00:64:df |
| ipaddr=192.168.0.30 |
| netmask=255.255.255.0 |
| serverip=192.168.0.1 |
| nfsserverip=192.168.0.1 |
| preboot=echo;echo Type "run nfsboot" to mount root filesystem over NFS;echo |
| gatewayip=192.168.0.1 |
| ramargs=setenv bootargs root=/dev/ram rw |
| rootargs=setenv rootpath /tftp/$(ipaddr) |
| nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=$(nfsserverip):$(rootpath) |
| addip=setenv bootargs $(bootargs) ip=$(ipaddr):$(nfsserverip):$(gatewayip):$(netmask):$(hostname):eth0: |
| ramboot=tftp 400000 /home/leox/pMulti;run ramargs;bootm |
| nfsboot=tftp 400000 /home/leox/uImage;run rootargs;run nfsargs;run addip;bootm |
| bootcmd=run ramboot |
| clocks_in_mhz=1 |
| |
| Environment size: 730/16380 bytes |
| |
| ################################################## |
| # Flash Memory Information |
| ############################## |
| |
| LEOX_elpt860: flinfo |
| |
| Bank # 1: AMD AM29F040 (4 Mbits) |
| Size: 512 KB in 8 Sectors |
| Sector Start Addresses: |
| 02000000 (RO) 02010000 (RO) 02020000 (RO) 02030000 (RO) 02040000 |
| 02050000 02060000 02070000 |
| |
| ################################################## |
| # Board Information Structure |
| ############################## |
| |
| LEOX_elpt860: bdinfo |
| memstart = 0x00000000 |
| memsize = 0x01000000 |
| flashstart = 0x02000000 |
| flashsize = 0x00080000 |
| flashoffset = 0x00030000 |
| sramstart = 0x00000000 |
| sramsize = 0x00000000 |
| immr_base = 0xFF000000 |
| bootflags = 0x00000001 |
| intfreq = 50 MHz |
| busfreq = 50 MHz |
| ethaddr = 00:03:ca:00:64:df |
| IP addr = 192.168.0.30 |
| baudrate = 9600 bps |
| |
| ################################################## |
| # Image Download and run over serial port |
| # hello_world (S-Record image) |
| # ===> 1) Enter "loads" command into U-Boot monitor |
| # ===> 2) From TeraTerm's bar menu, Select 'File/Send file...' |
| # Then select 'hello_world.srec' with the file browser |
| ############################## |
| |
| U-Boot 0.2.2 (Jan 19 2003 - 11:08:39) |
| |
| CPU: XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present |
| *** Warning: CPU Core has Silicon Bugs -- Check the Errata *** |
| Board: ### No HW ID - assuming ELPT860 |
| DRAM: 16 MB |
| FLASH: 512 kB |
| In: serial |
| Out: serial |
| Err: serial |
| Net: SCC ETHERNET |
| |
| Type "run nfsboot" to mount root filesystem over NFS |
| |
| Hit any key to stop autoboot: 0 |
| LEOX_elpt860: loads |
| ## Ready for S-Record download ... |
| S804040004F3050154000501709905014C000501388D |
| ## First Load Addr = 0x00040000 |
| ## Last Load Addr = 0x0005018B |
| ## Total Size = 0x0001018C = 65932 Bytes |
| ## Start Addr = 0x00040004 |
| LEOX_elpt860: go 40004 This is a test !!! |
| ## Starting application at 0x00040004 ... |
| Hello World |
| argc = 6 |
| argv[0] = "40004" |
| argv[1] = "This" |
| argv[2] = "is" |
| argv[3] = "a" |
| argv[4] = "test" |
| argv[5] = "!!!" |
| argv[6] = "<NULL>" |
| Hit any key to exit ... |
| |
| ## Application terminated, rc = 0x0 |
| |
| ################################################## |
| # Image download and run over ethernet interface |
| # Linux-2.4.4 (uImage) + Root filesystem mounted over NFS |
| ############################## |
| |
| U-Boot 0.2.2 (Jan 19 2003 - 11:08:39) |
| |
| CPU: XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present |
| *** Warning: CPU Core has Silicon Bugs -- Check the Errata *** |
| Board: ### No HW ID - assuming ELPT860 |
| DRAM: 16 MB |
| FLASH: 512 kB |
| In: serial |
| Out: serial |
| Err: serial |
| Net: SCC ETHERNET |
| |
| Type "run nfsboot" to mount root filesystem over NFS |
| |
| Hit any key to stop autoboot: 0 |
| LEOX_elpt860: run nfsboot |
| ARP broadcast 1 |
| TFTP from server 192.168.0.1; our IP address is 192.168.0.30 |
| Filename '/home/leox/uImage'. |
| Load address: 0x400000 |
| Loading: ################################################################# |
| ############################# |
| done |
| Bytes transferred = 477294 (7486e hex) |
| ## Booting image at 00400000 ... |
| Image Name: Linux-2.4.4 |
| Image Type: PowerPC Linux Kernel Image (gzip compressed) |
| Data Size: 477230 Bytes = 466 kB = 0 MB |
| Load Address: 00000000 |
| Entry Point: 00000000 |
| Verifying Checksum ... OK |
| Uncompressing Kernel Image ... OK |
| Linux version 2.4.4-rthal5 (leox@p5ak6650) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Wed Jul 3 10:23:53 CEST 2002 |
| On node 0 totalpages: 4096 |
| zone(0): 4096 pages. |
| zone(1): 0 pages. |
| zone(2): 0 pages. |
| Kernel command line: root=/dev/nfs rw nfsroot=192.168.0.1:/tftp/192.168.0.30 ip=192.168.0.30:192.168.0.1:192.168.0.1:255.255.255.0::eth0: |
| rtsched version <20010618.1050.24> |
| Decrementer Frequency: 3125000 |
| Warning: real time clock seems stuck! |
| Calibrating delay loop... 49.76 BogoMIPS |
| Memory: 14720k available (928k kernel code, 384k data, 44k init, 0k highmem) |
| Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes) |
| Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) |
| Page-cache hash table entries: 4096 (order: 2, 16384 bytes) |
| Inode-cache hash table entries: 1024 (order: 1, 8192 bytes) |
| POSIX conformance testing by UNIFIX |
| Linux NET4.0 for Linux 2.4 |
| Based upon Swansea University Computer Society NET3.039 |
| Starting kswapd v1.8 |
| CPM UART driver version 0.03 |
| ttyS0 on SMC1 at 0x0280, BRG1 |
| block: queued sectors max/low 9701kB/3233kB, 64 slots per queue |
| RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize |
| eth0: CPM ENET Version 0.2 on SCC1, 00:03:ca:00:64:df |
| NET4: Linux TCP/IP 1.0 for NET4.0 |
| IP Protocols: ICMP, UDP, TCP |
| IP: routing cache hash table of 512 buckets, 4Kbytes |
| TCP: Hash tables configured (established 1024 bind 1024) |
| NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. |
| Looking up port of RPC 100003/2 on 192.168.0.1 |
| Looking up port of RPC 100005/2 on 192.168.0.1 |
| VFS: Mounted root (nfs filesystem). |
| Freeing unused kernel memory: 44k init |
| INIT: version 2.78 booting |
| Welcome to DENX Embedded Linux Environment |
| Press 'I' to enter interactive startup. |
| Mounting proc filesystem: [ OK ] |
| Configuring kernel parameters: [ OK ] |
| Cannot access the Hardware Clock via any known method. |
| Use the --debug option to see the details of our search for an access method. |
| Setting clock : Wed Dec 31 19:00:11 EST 1969 [ OK ] |
| Activating swap partitions: [ OK ] |
| Setting hostname 192.168.0.30: [ OK ] |
| Finding module dependencies: |
| [ OK ] |
| Checking filesystems |
| Checking all file systems. |
| [ OK ] |
| Mounting local filesystems: [ OK ] |
| Enabling swap space: [ OK ] |
| INIT: Entering runlevel: 3 |
| Entering non-interactive startup |
| Starting system logger: [ OK ] |
| Starting kernel logger: [ OK ] |
| Starting xinetd: [ OK ] |
| |
| 192 login: root |
| Last login: Wed Dec 31 19:00:41 on ttyS0 |
| bash-2.04# |
| |
| ################################################## |
| # Image download and run over ethernet interface |
| # Linux-2.4.4 + Root filesystem mounted from RAM (pMulti) |
| ############################## |
| |
| U-Boot 0.2.2 (Jan 19 2003 - 11:08:39) |
| |
| CPU: XPC860xxZPnnB at 50 MHz: 4 kB I-Cache 4 kB D-Cache FEC present |
| *** Warning: CPU Core has Silicon Bugs -- Check the Errata *** |
| Board: ### No HW ID - assuming ELPT860 |
| DRAM: 16 MB |
| FLASH: 512 kB |
| In: serial |
| Out: serial |
| Err: serial |
| Net: SCC ETHERNET |
| |
| Type "run nfsboot" to mount root filesystem over NFS |
| |
| Hit any key to stop autoboot: 0 |
| LEOX_elpt860: run ramboot |
| ARP broadcast 1 |
| TFTP from server 192.168.0.1; our IP address is 192.168.0.30 |
| Filename '/home/leox/pMulti'. |
| Load address: 0x400000 |
| Loading: ################################################################# |
| ################################################################# |
| ################################################################# |
| ################################################################# |
| ################################################################# |
| ######################################################## |
| done |
| Bytes transferred = 1947816 (1db8a8 hex) |
| ## Booting image at 00400000 ... |
| Image Name: linux-2.4.4-2002-03-21 Multiboot |
| Image Type: PowerPC Linux Multi-File Image (gzip compressed) |
| Data Size: 1947752 Bytes = 1902 kB = 1 MB |
| Load Address: 00000000 |
| Entry Point: 00000000 |
| Contents: |
| Image 0: 477230 Bytes = 466 kB = 0 MB |
| Image 1: 1470508 Bytes = 1436 kB = 1 MB |
| Verifying Checksum ... OK |
| Uncompressing Multi-File Image ... OK |
| Loading Ramdisk to 00e44000, end 00fab02c ... OK |
| Linux version 2.4.4-rthal5 (leox@p5ak6650) (gcc version 2.95.3 20010315 (release/MontaVista)) #1 Wed Jul 3 10:23:53 CEST 2002 |
| On node 0 totalpages: 4096 |
| zone(0): 4096 pages. |
| zone(1): 0 pages. |
| zone(2): 0 pages. |
| Kernel command line: root=/dev/ram rw |
| rtsched version <20010618.1050.24> |
| Decrementer Frequency: 3125000 |
| Warning: real time clock seems stuck! |
| Calibrating delay loop... 49.76 BogoMIPS |
| Memory: 13280k available (928k kernel code, 384k data, 44k init, 0k highmem) |
| Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes) |
| Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) |
| Page-cache hash table entries: 4096 (order: 2, 16384 bytes) |
| Inode-cache hash table entries: 1024 (order: 1, 8192 bytes) |
| POSIX conformance testing by UNIFIX |
| Linux NET4.0 for Linux 2.4 |
| Based upon Swansea University Computer Society NET3.039 |
| Starting kswapd v1.8 |
| CPM UART driver version 0.03 |
| ttyS0 on SMC1 at 0x0280, BRG1 |
| block: queued sectors max/low 8741kB/2913kB, 64 slots per queue |
| RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize |
| eth0: CPM ENET Version 0.2 on SCC1, 00:03:ca:00:64:df |
| RAMDISK: Compressed image found at block 0 |
| Freeing initrd memory: 1436k freed |
| NET4: Linux TCP/IP 1.0 for NET4.0 |
| IP Protocols: ICMP, UDP, TCP |
| IP: routing cache hash table of 512 buckets, 4Kbytes |
| TCP: Hash tables configured (established 1024 bind 1024) |
| IP-Config: Incomplete network configuration information. |
| NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. |
| VFS: Mounted root (ext2 filesystem). |
| Freeing unused kernel memory: 44k iné |
| init started: BusyBox v0.60.2 (2002.07.01-12:06+0000) multi-call Configuring hostname |
| Configuring lo... |
| Configuring eth0... |
| Configuring Gateway... |
| |
| Please press Enter to activate this console. |
| |
| ELPT860 login: root |
| Password: |
| Welcome to Linux-2.4.4 for ELPT CPU board (MPC860T @ 50MHz) |
| |
| a8888b. |
| d888888b. |
| 8P"YP"Y88 |
| _ _ 8|o||o|88 |
| | | |_| 8' .88 |
| | | _ ____ _ _ _ _ 8`._.' Y8. |
| | | | | _ \| | | |\ \/ / d/ `8b. |
| | |___ | | | | | |_| |/ \ .dP . Y8b. |
| |_____||_|_| |_|\____|\_/\_/ d8:' " `::88b. |
| d8" `Y88b |
| :8P ' :888 |
| 8a. : _a88P |
| ._/"Yaa_ : .| 88P| |
| \ YP" `| 8P `. |
| / \._____.d| .' |
| `--..__)888888P`._.' |
| login[21]: root login on `ttyS0' |
| |
| |
| |
| BusyBox v0.60.3 (2002.07.20-10:39+0000) Built-in shell (ash) |
| Enter 'help' for a list of built-in commands. |
| |
| root@ELPT860:~ # |