Project Home
Project Home
Project Information
Project Info
wiki2802: Nto640FreescaleMpc5121eAds1.0.0Releasenotes (Version 1)

Release Notes for the QNX Neutrino 6.4.0 BSP for Freescale MPC5121e ADS 1.0.0#

System requirements#

Target system#

  • QNX Neutrino RTOS 6.4.0
  • Board version: Freescale MPC 5121e ADS reference board
  • ROM Monitor version UBoot or QNX IPL

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

What's in this BSP?#

This BSP contains:

  • binary components:
    • USB driver
    • Graphics driver
    • EIDE block driver
    • canctl utlity
  • source code:
    • Startup
    • DMA library
    • DMA mutex utility
    • RTC utility
    • AC97 Audio Driver
    • I2S Audio Driver
    • Serial driver
    • Network driver
    • NAND flash driver
    • NOR flash driver
    • I2C driver
    • SPI driver
    • CAN driver
    • PCI driver


Neutrino supports the following devices on the Freescale MPC5121e ADS reference boards:

  • AUDIO: AC'97-compliant onboard audio controller
  • AUDIO: I2S audio controller
  • SERIAL: Programmable Serial Controller
  • GRAPHICS: Fujitsu coralPA
  • NETWORK: 10/100 BASE-T Ethernet controller
  • NAND FLASH: 512MB HYNIX HY27UG088G5M NAND FLASH (Only support CE1 at this point)
  • FLASH: 64MB Spansion GL256N11FFI02
  • I2C: Inter-Integrated Circuit protocol module
  • SPI: Programmable Serial Controller
  • USB: EHCI USB Host Controller
  • CAN: MSCAN controllers
  • PCI: PCI controller
  • BLOCK: ATA/ATAPI Interface
If you need support for a particular device that isn't listed here, please contact us. The solution may be as simple as modifying an existing driver, which you might be able to do yourself, or it may involve more extensive support (e.g. a Custom Engineering arrangement). Contact a QNX technical support representative or Field Application Engineer to help you decide how to proceed.

Getting Started#

Step 1: Connect your hardware#

  • Connect the serial cable to the first serial port of the Freescale MPC5121e ADS reference board and to the first serial port of your host machine (e.g. "ser1" on a Neutrino host, "/dev/ttyS*" on Linux, "COM1" on Windows, etc).
Note:If you have a Neutrino host with a <em>serial</em> mouse,you may have to move it 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.

Step 3: Transfer the OS image to the target#

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

2.Apply power to the board.

3.Configure the board for a TFTP transfer.

>setenv ipaddr <ipaddress>
>setenv serverip <serverip>
>setenv netmask <netmask>
>setenv bootfile ads5121e_noram.ifs
>setenv bootdelay 
>setenv bootcmd "cp 0xfc100000 0x200000 0x400000;go 0x200000"

4.Copy the image from your host to the target using this command:

tftpboot 0x200000 
go 0x200000

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

Welcome to QNX Neutrino 6.3 on the Freescale ADS5121e board

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

System layout#

The memory layout for the image and for the flash.

  • OS image loaded at:0x80200000
  • OS image begins execution at:0x80200000
  • NOR Flash base address:0xfc000000
  • NAND Flash base address:0x40000000

Summary of driver commands#

The driver command lines below are specific to the freescale MPC5121e ADS reference board.See the online docs for each driver for additional command-line options and other details.


devc-sermpc512x -c 66000000 -b 115200 -p 3 -e -F -S -x 40
NOTE:For MPC5121e ADS HW Rev 2D and later, the clock frequency is 66MHz; For MPC5121e ADS HW Rev 2, the clock frequency is 99MHz

Required libraries:

  • devc-sermpc512x


dev-can-mpc5121 -u 0 can0
Required libraries:
  • dev-can-mpc5121
  • canctl


Required libraries:
  • pci-mpc5121
  • pci


io-pkt-v4 -d mpc5121 mac=662200043039 verbose -ptcpip
Required libraries:
  • io-pkt-v4

NOR Flash#

devf-mgt5200 -s0xfc000000,64M -r
Required libraries:
  • devf-mgt5200
  • flashctl

NAND Flash#

fs-etfs-mpc5121-e -m /fs/etfs
fs-etfs-mpc5121 -m /fs/etfs
Required libraries:
  • fs-etfs-mpc5121
  • etfsctl


io-usb -d ehci-mpc512x ioport=0x80004000,irq=44,verbose=1 -vvv &
Notes: Please use the mini-ATX power supply and remove P1 jumper to obtain the enough power for USB, otherwise the system may reset unexpected.

Required libraries:

  • io-usb
  • usb


spi-master -d mpc5121
Required libraries:
  • spi-master

Audio AC97#

io-audio -d mpc512x 
Notes: DMA mutex infrastructure need to be created before starting this driver.

Required libraries and binaries:

  • io-audio

Audio I2S#

io-audio -d mpc5121_i2s 
Notes: DMA mutex infrastructure need to be created before starting this driver

Required libraries and binaries:

  • io-audio


i2c-mpc5200 -o1 -p0x8001700 -c100000000 -i9
Required libraries:
  • i2c-mpc5200


io-display -dvid=0,did=0
Required libraries:
  • io-display
  • vsync
  • display.conf
  • mpc5121.conf

EIDE Block#

PIO mode:
devb-eide-mpc5121 eide nobmstr
DMA mode:
Required libraries:
  • devb-eide-mpc5121

DMA Mutex#

mpc512x_dma_cfg -c 
Required libraries and binaries:
  • mpc512x_dma_cfg


rtc m41t6x 
rtc -s m41t6x 
Notes: The rtc command must be run after the I2C driver is active Required binaries:
  • rtc
  • date
  • i2c-mpc5200

Creating a flash partition#

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

devf-mgt5200 -s0xfc000000,64M -r
2.To prepare the area for the partition, enter the following command:
flashctl -p/dev/fs0 -o7m -l50m -ve
3. Format the partition:
flashctl -p/dev/fs0p0 -o7m -l50m -vf 
4. Slay, then restart the driver:
slay devf-mgt5200
devf-mgt5200 -s0xfc000000,64M -r

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

Known issues for this BSP#

  • The current NAND Flash driver works on MPC5121e ADSRev3.2 boards. The NAND interface was modified (significantly) for the MPC5121e ADS Rev3.5 and Rev 4 boards. A new NAND Flash driver will be delivered in a follow-on release of the MPC5121e ADS BSP.
  • The current EIDE driver only works in PIO mode. DMA mode will be supported in a follow-on release of the MPC5121e ADS BSP.
  • There are no real audio codec connect to the I2S interface on the board. The I2S audio driver was tested by loopback mode. An invalid clock rate issue is observed in the loopback mode.
  • The resolution of the playback/capture positional information returned by the audio drivers and to the client is limited to the fragment size.
  • If you uninstall this BSP, the uninstaller removes only those files that were originally shipped with the BSP (whether or not you modified them). If you've added any files, they remain on your system. (QNX Ref# 38368)
  • The uninstaller script doesn't remove itself when you uninstall the BSP. (QNX Ref# 38368)
  • If you install a BSP more than once, and then uninstall an instance of it, the documentation for all copies of the BSP is uninstalled. (QNX Ref# 38320)
  • All QNX BSPs ship with an images/Makefile whose purpose is to build an image filesystems (ifs) file using drivers built from source. Currently, it's set up to copy buildfiles from within the source directory structure (source/hardware/startup) to the images directory so that it can generate an ifs. This happens automatically when you do a top-level make, but this mechanism doesn't work when you're making an binary BSP. (QNX Ref# 38242)

Workaround: For a binary-only BSP, change these lines in the root Makefile:

    all: install links $(if $(wildcard images/*),images)
        @echo done
to the following:
    all: prebuilt links $(if $(wildcard images/*),images)
        @echo done