Release Notes for the AMCC PPC405EX BSP#

System requirements#

Target system#

Host development system#


Getting Started#



Starting Neutrino#

Step 1: Build the BSP
You can build a BSP OS image from the source code or the binary components contained in a BSP package. For instructions about building a BSP OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual.

Step 2: Connect your hardware

On your host machine, start your favorite terminal program with these settings:

Apply power to the target board. You should see output similar to the following:

U-Boot 1.3.3 (May 19 2008 - 12:55:31)

CPU:   AMCC PowerPC 405EX Rev. C at 533.333 MHz (PLB=177, OPB=88, EBC=88 MHz)
       Security support
       Bootstrap Option H - Boot ROM Location I2C (Addr 0x52)
       16 kB I-Cache 16 kB D-Cache
Board: Kilauea - AMCC PPC405EX Evaluation Board
I2C:   ready
DTT1:  38 C
DRAM:  256 MB
FLASH: 64 MB
NAND:  64 MiB
PCI:   Bus Dev VenId DevId Class Int
PCIE0: link is not up.
PCIE0: initialization as root-complex failed
PCIE1: link is not up.
PCIE1: initialization as root-complex failed
Net:   ppc_4xx_eth0, ppc_4xx_eth1

Type "run flash_nfs_fdt" to mount root filesystem over NFS

Hit any key to stop autoboot:  0
=>

Step 3: Setup the environment

Use the printenv command to show the current settings for ipaddr, ethaddr, serverip etc. On your target, type the following, filling in the appropriate IP addresses and ifs file:

=> setenv ipaddr 192.168.1.50
=> setenv serverip 192.168.1.19
=> setenv bootfile /tftpboot/ifs-kilauea405EX.raw
=> setenv loadaddr 0x200000
=> setenv bootcmd 'tftpboot $loadaddr $bootfile; go $loadaddr'

Once these parameters are configured, you can use the saveenv command to store your changes. Refer to the U-Boot documentation for more information.

Step 4: Boot the IFS image

You can use TFTP download (the default) or serial download to transfer the image from your host to the target.

This method requires a raw image, which is simply a binary image, with a header on the beginning, that allows the bootloader to jump to the very beginning of the image (the raw header), where it executes another jump to the first instruction of the image.

After U-boot is configured, boot the ifs-kilauea405EX.raw image as follows (we'll assume it's in a directory called /tftpboot/) from the U-boot prompt:

=> tftpboot 200000 /tftpboot/ifs-kilauea405EX.raw

At this point you should see the ROM monitor download the boot image, indicated by a series of number signs. You'll also see output similar to this when it completes downloading:

Waiting for PHY auto negotiation to complete.. done
ENET Speed is 100 Mbps - FULL duplex connection (EMAC0)
Using ppc_4xx_eth0 device
TFTP from server 192.168.1.19; our IP address is 192.168.1.50
Filename 'ifs-kilauea405EX.raw'.
Load address: 0x200000
Loading: #################################################################
     #################################################################
     ###############################################
done
Bytes transferred = 2584580 (277004 hex)
=> 

Now, to run the image, enter:

=> go 200000

You should see output similar to the following, with the QNX Neutrino welcome message on your terminal screen:

## Starting application at 0x00200000 ...

System page at phys:0000b000 user:0000b000 kern:0000b000
Starting next program at v0023ef1c
Welcome to QNX Neutrino 6.4 on the AMCC PPC405EX Evaluation Board
Starting Serial driver...
# 

You can now test the OS simply by executing any shell builtin command or any command residing within the OS image (e.g. ls).

Step 5: Replace the U-Boot bootloader with a native QNX IPL and OS image in flash

At some point, you may wish to replace the U-Boot bootloader with the native QNX IPL code. This may be desirable once you've tweaked the OS image exactly the way you want it, and you want the board to boot the image automatically, immediately on power up.

To replace the U-Boot bootloader:

1.Modify your buildfile to generate a binary image.

2.Boot the board as described above, using U-Boot to TFTP-download the raw OS boot image.

3.Ensure that you can "see" the IPL image file ipl-kilauea405EX and the binary OS image file ifs-kilauea405EX.bin from the image. You can get them on the target using QCONN if you are using the Momentics IDE, or access them remotely over a NFS mount that you have configured on your network.

4.Start the flash filesystem driver and erase the last 128KB of NOR flash as follows:

devf-generic -s0xfc000000,64M
flashctl -p /dev/fs0 -o 65408K -l 128K -ve

5.Copy ipl-kilauea405EX to the flash, as follows:

dd if=ipl-kilauea405EX of=/dev/fs0 bs=131072 seek=511

6.To flash the OS image, erase the blocks of NOR flash starting from last 16 MB region (the following commands assume a maximum OS image size of 3 MB):

flashctl -p /dev/fs0 -o 48M -l 3M -ve
dd if=ifs-kilauea405EX.bin of=/dev/fs0 bs=131072 seek=384

When the copy is complete, you can reboot; it should now boot from the native QNX IPL. You should see output as follows:

QNX/Neutrino IPL for AMCC 405EX based Kilauea Board: 
Commands:
  d: download image to RAM
  f: scan flash for image
IPL> 

7.Enter f or F, and the board should boot from the OS image in flash. You'll see Neutrino boot:

System page at phys:0000b000 user:0000b000 kern:0000b000
Starting next program at v00245ea4
Welcome to QNX Neutrino 6.4 on the AMCC PPC405EX Reference Board
# 

If desired, the IPL code can be modified to eliminate the prompt and automatically boot from the flash without user intervention. To do this, modify the <main.c> file of the IPL source, located under:

$BSP_PATH/src/hardware/ipl/boards/kilauea405EX/


Creating a flash partition#

NOR flash

1. Start the NOR flash filesystem driver by issuing the following command:

devf-generic -s0xfc000000,64M

2. Prepare the area for the partition. Because the Linux images are in the first 22 MB of flash and U-Boot is in the last 640KB of flash, you may not want to erase them. Use the -l (length) and -o (offset) options to avoid these areas. Assuming that we want to create a 20 MB partition:

flashctl -p/dev/fs0 -o30M -l20M -ve

3. Format the partition:

flashctl -p/dev/fs0p0 -o30M -l20M -vf

4. Slay, then restart the driver:

slay devf-generic
devf-generic -s0xfc000000,64M

In this example, you have a 20 MB flash partition starting at an offset of 30 MB from the start of flash. You should now have a /fs0p1 mount on the target to which you can copy files.


NAND flash

1. Enter the following command to start the ETFS driver:

fs-etfs-kilauea405EX_512 -m/fs/etfs

2. Stop the filesystem on the device, format and continue:

etfsctl -d /dev/etfs2 -s -f -c

You should now have a /fs/etfs mount on the target to which you can copy files.


Summary of driver commands#



The following table summarizes the commands to launch the various drivers.

ComponentBuildfile CommandRequired BinariesRequired LibrariesSource Location
Startupstartup-kilauea405EX ..src/hardware/startup/boards/kilauea405EX
Serialdevc-ser8250 -e -c11059200 -b115200 0xef600200,26 0xef600300,0x1 devc-ser8250.src/hardware/devc/ser8250
USBio-usb -ddwcotg ioport=0xef6c0000,irq=94 io-usb
usb
devu-dwcotg.so
libusbdi.so
.
NORdevf-generic -s0xfc000000,64M devf-generic
flashctl
.src/hardware/flash/boards/generic
NANDfs-etfs-kilauea405EX_512 -m /fs/etfs fs-etfs-kilauea405EX_512
etfsctl
.src/hardware/etfs/nand512/kilauea405EX_512
PCI Expresspci-kilauea pci-kilauea
pci
.src/hardware/pci/kilauea
Networkio-pkt-v4-hc -dppc405-kilauea405ex mac=001122334455,rmii -ptcpip io-pkt-v4-hc
ifconfig
devn-ppc405-kilauea405ex.so
libsocket.so
devnp-shim.so
src/hardware/devn/ppc405
I2Ci2c-ppc405 -p0xEF600400 -i2 i2c-ppc405.src/hardware/i2c/ppc405
SPIspi-master -dppc405 spi-masterspi-ppc405.sosrc/hardware/spi/ppc405
RTCrtc hw rtc
date
.src/utils/r/rtc

Some of the drivers are commented out in the default buildfile. To use the drivers in the target hardware, you'll need to uncomment them in your buildfile, rebuild the image, and load the image into the board.

PCI Express:#

Note:
The PCI Express interface can only be powered by standard ATX power supply. When using the PCI Express interface, you must Please note that you should NEVER connect more than one power source (e.g. ATX power supply, Power-over-Ethernet cable or separate power adapter) to the evaluation board at the same time.


Known issues for this BSP#