Project Home
Project Home
Wiki
Wiki
Project Information
Project Info
wiki3992: Nto641CaviumCn57xxEvmTrunkReleasenotes (Version 7)


Release Notes for the QNX Neutrino 6.4.1 BSP for Cavium CN57xx EVM 1.0.0#

System requirements#

Target system
  • QNX Neutrino RTOS 6.4.1
  • Processor: Cavium CN57xx
  • ROM Monitor version:
    U-Boot 1.1.1 from Octeon SDK 1.8.1 (U-Boot 1.1.1 (Development build, svnversion: u-boot:36973, exec:36970) (Build time: Sep 17 2008 - 11:21:03))
    U-Boot 1.1.1 from Octeon SDK 1.9.0 (U-Boot 1.1.1 (U-boot build #: 235) (SDK version: 1.9.0-312) (Build time: Apr 23 2009 - 20:14:44))
  • 4Gb DDR2 SDRAM (up to 16Gb)
  • 8M flash

Host development system

  • QNX Momentics 6.4.1
  • Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  • TFTP server
  • RS-232 serial port or a USB-to-serial adapter, and a straight-through serial cable
  • Ethernet link


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 #

  • Connect one end of the serial cable to the first serial port UART0 (J15) of the Cavium CN57xx board and the other end of the serial cable to the first serial port of your host machine (e.g. ser1 on a Neutrino host).
  • 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.
  • Connect the Ethernet cable to the upper RJ45 port namely Ethernet MII Port (J1) on the Cavium CN57xx board and plug in the other end of the Ethernet cable to your local network.

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

  • Baud: 115200
  • Bits: 8
  • Stop bits: 1
  • Parity: none
  • Flow control: none

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

U-Boot 1.1.1 (Development build, svnversion: u-boot:36973, exec:36970) (Build time: Sep 17 2008 - 11:21:03)

EBH5600 board revision major:2, minor:1, serial #: 2009-2.1-00351
OCTEON CN5750-SSP pass 2.1, Core clock: 800 MHz, DDR clock: 399 MHz (798 Mhz data rate)
DRAM: 4096 MB
Flash: 8 MB
Clearing DRAM........ done
BIST check passed.
Net: octmgmt0, octeth0, octeth1, octeth2, octeth3, octeth4, octeth5, octeth6
Bus 0 (CF Card): not available

Step 3: Setup the environment and boot the IFS image#

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

Load IFS image via tftp#

Octeon ebh5600# setenv 'ipaddr' '192.168.1.86'
Octeon ebh5600# setenv 'serverip' '192.168.1.80'
Octeon ebh5600# setenv 'bootcmd' 'tftpboot 0 ifs-cn5700_be.elf;bootoctelf 0 0'
Octeon ebh5600# setenv 'bootdelay' '3'
Octeon ebh5600# saveenv
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...
. done
Erased 1 sectors
Writing to Flash... done
Protected 1 sectors
Octeon ebh5600# reset

Load IFS image from CF#

Octeon ebh5600# setenv 'bootcmd' 'fatload ide 0 0 ifs-cn5700_be.elf;bootoctelf 0 0'
Octeon ebh5600# setenv 'bootdelay' '3'
Octeon ebh5600# saveenv
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...
. done
Erased 1 sectors
Writing to Flash... done
Protected 1 sectors
Octeon ebh5600# reset

Note:
To enable additional CN5700 cores bootoctelf command should be modified.

Enable eight CN5700 cores:
setenv 'bootcmd' 'tftpboot 0 ifs-cn5700_be.elf;bootoctelf 0 0 numcores=8'
or if loads from CF
setenv 'bootcmd' 'fatload ide 0 0 ifs-cn5700_be.elf;bootoctelf 0 0 numcores=8'


Summary of driver commands#

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

Component Buildfile Command Required Binaries Required Libraries Source Location
Startup startup-cn5700 - - src/hardware/startup/boards/cn5700
Serial devc-ser8250-octeon -e -c800000000/16 -b115200 0x8001180000000800^3,0x80000022 &
devc-ser8250-octeon -e -c800000000/16 -b115200 0x8001180000000c00^3,0x80000023 &
devc-ser8250-octeon - src/hardware/devc/ser8250
PCI pci-octeon pci-octeon - src/hardware/pci/octeon
Network io-pkt-v4-hc -v -ptcpip -docteon-cn5700 RED -docteon-cn5700-mii io-pkt-v4-hc
ifconfig
devnp-octeon-cn5700.so
devnp-octeon-cn5700-mii.so
libsocket.so
src/hardware/devn/octeon-cn5700
src/hardware/devn/octeon-cn5700-mii


Known Issues for This BSP#

  • Due to the Cavium IO registers being located at a physical address above what can be represented in the operations system's page tables.Device driver code must be modified before it can be used. In order to allow this modification to work, it is possible for any user process to create pointer values that can be used read and write arbitrary physical addresses, bypassing normal memory protection mechanisms.