Release Notes of QNX Neutrino 6.4.0 BSP for Freescale MPC8641D HPCN 1.0.0#

System requirements#

Target system#

Host development system#

Getting Started#

This section provides details on how to load and start the ifs image over tftp using uboot.

Step 1: Connect your hardware#

Connect the serial cable to the serial port of the MPC8641d board and to the first serial port on the host machine (e.g. ser1 on a Neutrino host).

Step 2: Build the BSP#

For instructions about building a BSP OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual.

The resulting ifs image will be

Copy the ifs image file to the root directory of your tftp server.

Step 3: Setting up the environment#

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

Then, apply power to the target board. You should see the U-Boot ROM monitor output.

 
U-Boot 1.1.3 (FSL Development) (Mar 28 2006 - 16:03:22)
Freescale ~PowerPc

CPU:
Core: E600, Version: 0.1, (0x80040201)
System: 8641, Version: 1.0, (0x80900110)
Clocks: CPU:1000 MHz, MPX: 400 MHz, DDR: 200 MHz, LBC:  50 MHz
L2: Enabled

Board: Argo Navishttp://svn.ott.qnx.com/view/product?view=rev&revision=159574
I2C:   ready
DRAM:      DDR: 512 MB
FLASH: ## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0 MB
           8 MB

PCI-EXPRESS 1: Configured as Host
Scanning PCI bus....PCI scan & enumeration done
In:    serial
Out:   serial
Err:   serial
Net:   eTSEC1: PHY is Vitesse VSC8244 (fc6c2)
        eTSEC2: PHY is Vitesse VSC8244 (fc6c2)
        eTSEC3: PHY is Vitesse VSC8244 (fc6c2)
        eTSEC4: PHY is Vitesse VSC8244 (fc6c2)
        eTSEC1, eTSEC2, eTSEC3, eTSEC4

Hit any key to stop autoboot:  0
=>

Pressing any key will avoid the autoboot.

Use the setenv command to configure the target hardware with the information for a specific network, for example,

 
=> setenv ipaddr 192.168.1.105
=> setenv serverip 192.168.1.1
=> setenv netmask 255.255.255.0
=> setenv bootfile /xfer/ifs-mpc8641.raw
=> saveenv

Saving Environment to EEPROM...
=>

Note: The values in the setenv commands above will change depending upon the network configuration. Please also change the environment variable ethaddr to the proper value. If you boot from the Promjet, these environment variables need to be set each time after a soft or hard reset. If booting from the onboard flash, save the environment in flash after changing them. Use the board number for last byte of ethaddr and one of the unused IP addresses for ipaddr.

Step 5: Start a TFTP download:#

 
=> tftpboot 0x1f0000

TFTP from server 192.168.1.1; our IP address is 192.168.1.105

Filename '/xfer/ifs-mpc8641.raw'.

Load address: 0x1f0000

Loading: #################################################################
         #################################################################
         #################################################################
         ###########################################################

done

Bytes transferred = 1296816 (13c9b0 hex)

=>

At this point the ROM monitor has downloaded the boot image.

 
!Start the OS image:

=> go 0x1f0000

Starting application at 0x001F0000 ...

You should now see the QNX Neutrino welcome message on your terminal screen:

 
Welcome to QNX Neutrino 6.4 on the Freescale MPC8641D Argo Board

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

Creating a flash partition#

Caution: Be aware that the ROM Monitor is housed in flash. Check the target hardware manual for the position of the ROM Monitor in Flash. The commands below will destroy any data sitting in flash at an offset of 2 MB for a length of 2 MB

1. Enter the following command to start the flash filesystem driver:

      devf-generic -s0xFF000000,8M

2. To prepare the area for the partition, enter the following command:

      flashctl -p/dev/fs0 -l2M -o2M -ve

3. Format the partition:

      flashctl -p/dev/fs0p0 -l2M -o2M -vf

4. Slay, and then restart the driver:

      slay devf-generic &
      devf-generic -s0xFF000000,8M & 

You should now have a /fs0p0 directory which you can copy files to.

Summary of driver commands#

The driver command lines below are specific to the Freescale MPC8641D reference boards. See the online docs for each driver for additional command-line options and other details.

Some of these 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.

Additional information for some drivers is given after the table.

ComponentBuildfile CommandRequired BinariesRequired LibrariesSource Location
Startupstartup-mpc8641d -P1
startup-mpc8641d -P2 (SMP)
..src/hardware/startup/boards/mpc8641d  
Serialdevc-ser8250 -e -c500000000 -b115200 0xf8004500,26 devc-ser8250.src/hardware/devc/ser8250
Flashdevf-generic -s0xff000000,8M devf-generic
flashctl
.src/hardware/flash/boards/generic
PCIpci-mpc8641 pci-mpc8641
pci
.src/hardware/pci/mpc8641
I2Ci2c-mpc8641d i2c-mpc8641d .src/hardware/i2c/mpc8641d
Ethernetio-pkt-v4 -dmpc85xx syspage -ptcpip
ifconfig tsec0 x.x.x.x
io-pkt-v4
ifconfig
libsocket.so
devnp-mpc85xx.so
Binary form only:
prebuilt/ppcbe/lib/dll/devnp-mpc85xx.so
EIDE (ATA)devb-eide devb-eide libcam.so
io-blk.so
cam-disk.so
fs-qnx4.so
QNX SPD 6.4.x (Binary Only)
USBio-usb -dohci -dehci io-usb
usb
devu-ohci.so
devu-ehci.so
libusbdi.so.2
QNX SPD 6.4.x (Binary Only)

Ethernet#

Note:
The latest sources for devnp-mpc85xx.so are available from the networking project.


Known issues for this BSP#



Booting with UBOOT 1.2.0 causes devb-eide to not detect the SATA drive. #

The BSP has the following known compatibility issue when using UBOOT 1.2.0: The devb-eide driver fails to detect the SATA drive (via the legacy ATA interface) after UBOOT performs its detection via the AHCI interface. If SATA support is required, then use UBOOT 1.1.3. This BSP has been fully tested and is fully compatible with UBOOT version 1.1.3.

devc-ser8250 clock rate#

8641D HPCN reference platforms tend to ship with varying MPX clock frequencies. The devc-ser8250 -c parameter must match the MPX clock frequency for correct baud rate generation. The MPX clock can be found the U-Boot banner.