Project Home
Project Home
Wiki
Wiki
Project Information
Project Info
wiki2804: Nto640FreescaleMpc8641dHpcn1.0.0Releasenotes (Version 1)


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

System requirements#

Target system#

  • QNX Neutrino RTOS 6.4.0
  • Board version: Freescale MPC8641D Reference Board
  • 8 MB of flash
  • U-Boot 1.1.3 (Mar 28 2006 - 16:03:22)

Host development system#

  • QNX Momentics 6.4.0, one of the following host systems:
    • QNX Neutrino 6.4.0
    • Microsoft Windows Vista, XP SP2 or SP3, 2000 SP4
    • Linux Red Hat Enterprise Workstation 4 or 5, Red Hat Fedora Core 6 or 7, Ubuntu 6.0.6 LTS or 7, or SUSE 10
  • Latest version of the QNX Momentics Character Driver Development Kit (DDK)
  • Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  • RS-232 serial port
  • NULL-modem serial cable
  • Ethernet link

Getting Started#

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).

Note:If you have a Neutrino host with a serial mouse, you may have to move the mouse to the second serial port on your host, because some terminal programs require the first serial port.

Step 2: 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 3: Transfer the OS image to the target using the ROM monitor#

On your host machine, start your favorite terminal program with these settings:
  • Baud: 115200
  • Bits: 8
  • Stop bits: 1
  • Parity: none
  • Flow control: none

Setting up the environment#

1. 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 Navis

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.

2. You can use TFTP download to transfer an OS image to the board, as described below.

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

=> 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.

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.3 on the Freescale MPC8641D 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.

Known issues for this BSP#

Note: Please check the version of these release notes on the website for the most up-to-date information.

  • This BSP has a known compatibility issue when using the QNX Momentics 6.4.0 devb-eide driver. To get the correct driver, download the devb-eide driver for the MPC8641D Patch (Patch ID 1085) and install it (extract the patch and copy the devb-eide binary file to the .../WORKDIR/install/ppcbe/sbin folder).
  • When the kernel does a context switch, it issues a dummy stwcx. (Store Word Conditional Indexed) command to clear any outstanding reservation, as recommended for the PPC architecture. However, some processors can have issues if this stwcx. to address A occurs while the reservation is already held to a different address B. (Ref# 45538)

Workaround: Download and install the PPCBE procnto-600-smp for Freescale MPC8641D Patch (Patch ID 960). The procnto in this patch first issues a dummy lwarx (Load Word And Reserved Indexed) command to a specific address, and then issues the dummy stwcx. to the same address. This patch creates a system page cpuinfo flag, PPC_CPU_STWCX_BUG, to indicate which CPUs are affected and, on those processors, adds the dummy lwarx to the context switch code.

  • This BSP has been fully tested and is fully compatible with UBOOT version 1.1.3. The BSP has a 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.
  • In Microsoft Windows, certain programs (e.g. Norton Ghost) add directories inside double quotation marks (e.g. ...;"c:\Program Files\Norton Ghost\";...) to your PATH environment variable. This causes the Cygwin spawn() function to fail, which in turn causes cp to fail when called by ln-w. (Ref# 20046)

Workaround: Modify your PATH environment variable and remove any quotation marks.

  • In those instances where the the ROM monitor's MAC address is different from the one you pass in when running io-net, the host can cache the ROM monitor's address. This can result in a loss of connectivity.

Workaround: If you need to specify a MAC address to io-net, we recommend that you use the same MAC address that the ROM monitor uses. This will ensure that if the host caches the ROM monitor's MAC address, you'll still be able to communicate with the target. Otherwise you might need to delete the target's arp entry on your host.

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.

Note: 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.

Serial#

Command:

devc-ser8250 -e -c500000000 -b115200 0xf8004500,26

Flash#

Command:

devf-generic -s0xff000000,8M

I2C#

Command:

i2c-mpc8641d

PCI#

Command:

pci-mpc8641

Ethernet#

Command:

  • io-pkt-v4 -dmpc85xx syspage -ptcpip
  • ifconfig tsec0 x.x.x.x.

Required libraries:

  • libsocket.so
  • npm-tcpip.so or npm-ttcpip.so
  • devnp-mpc85xx.so (driver)

USB#

Command:

io-usb -dohci -dehci

Required libraries:

  • devu-ohci.so
  • devu-ehci.so
  • libusbdi.so.2

EIDE#

Command:

devb-eide

Required libraries:

  • libcam.so
  • io-blk.so
  • cam-disk.so
  • fs-qnx4.so

Note: For more information about these commands, see the Neutrino Utilities Reference.