QNX Technical Articles

Developer Resources
Technical Articles


QNX Momentics 6.3.2 Freescale ADS5121e Board Support Package 1.0.0 Release Notes

QNX® Momentics® 6.3.2 Freescale ADS5121e Board Support Package 1.0.0 Release Notes

Date of this edition: October 08, 2008

Target OS: This BSP is compatible with targets running the QNX® Neutrino® RTOS 6.3.2.

Host OS: In order to use this BSP, you must have installed QNX Momentics 6.3.2 as a self-hosted QNX® Neutrino® system, or on one of the following development hosts:

Boards supported: Freescale ADS5121e reference boards

  • For information on installing this BSP, see the installation note.
  • Ensure you've installed the latest version of the QNX Momentics Character Driver Development Kit (DDK), because we've made significant changes to it since we first released it; for more information, see the Character DDK Release Notes.
  • For the most up-to-date version of these release notes, go to our website (www.qnx.com), log into your myQNX account, and then go to the Download area.


Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with QNX Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.

Running QNX Neutrino 6.3.2 on the Freescale ADS5121e reference boards

Before you begin

For information about the hardware or firmware, refer to the documentation for your board. You may also find the following website useful:


We assume that you're already familiar with the following docs:

Title Chapter
Building Embedded Systems Making an OS image; for customizing the BSP from the command line
Building Embedded Systems Working with a BSP; for building the BSP
IDE User's Guide Building OS and Flash Images; for customizing the BSP within the IDE

What's in this BSP?

This BSP contains:

Each BSP guide contains board-specific information and instructions on building an OS image for that particular board.

Location of source and documentation

When you install BSPs, you'll find the source code in $QNX_TARGET\usr\src\archives\qnx\ on Windows, and in $QNX_TARGET/usr/src/archives/qnx/ on QNX Neutrino and Linux.

You can read the documentation (including release notes) in the Integrated Development Environment's help system on all host OSs; on self-hosted QNX Neutrino systems, you can also read it in the Photon helpviewer, or you can use a web browser to display:


This “roadmap” page contains links to the various HTML booksets that accompany the OS (e.g. System Architecture, QNX Neutrino Programmer's Guide, Library Reference, Utilities Reference, etc.).

Binaries, buildfiles, IPLs, and other files

Depending on the particular BSP and type of driver, you'll find the files in these locations:

Windows hosts

File Location
Buildfile $QNX_TARGET\cpu\boot\build
IPL and/or startup $QNX_TARGET\cpu\boot\sys
sbin drivers (serial, flash, block, PCI, PCMCIA, USB) $QNX_TARGET\cpu\sbin
dll drivers (audio, graphics, network) $QNX_TARGET\cpu\lib\dll

QNX Neutrino and Linux hosts

File Location
Buildfile $QNX_TARGET/cpu/boot/build
IPL and/or startup $QNX_TARGET/cpu/boot/sys
bin drivers (serial, flash, block, PCI, PCMCIA, USB) $QNX_TARGET/cpu/bin
dll drivers (audio, graphics, network) $QNX_TARGET/cpu/lib/dll

Devices supported

Neutrino supports the following devices on the Freescale ADS5121e reference boards:

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

System requirements

Target system

Host development system

Note: For other system requirements (e.g. disk, RAM), see the installation notes for QNX Momentics.

Step 1: Connect your hardware

Connect the serial cable to the first serial port of the Freescale ADS5121e 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 serial 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.

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

  1. On your host machine, start your favorite terminal program with these settings:
    • Baud: 115200
    • Bits: 8
    • Stop bits: 1
    • Parity: none
  2. Apply power to the board.
  3. Configure the board for a TFTP transfer.
  4. Copy the image from your host to the target using this command:
    tftpboot 0x200000 /xfer/ads5121e.raw
    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 table below depicts the memory layout for the image and for the flash.

Item Address
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 ADS5121e 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 ADS5121e HW Rev 2D and later, the clock frequency is 66MHz; For ADS5121e HW Rev 2, the clock frequency is 99MHz


Required binaries:
  • pci-mpc5121
  • pci

EIDE Block

devb-eide-mpc5121 eide nobmstr
Required binaries:
  • devb-eide-mpc5121
  • libcam.so
  • io-blk.so
  • cam-xxx.so
  • fs-xxx.so


io-net -d mpc5121 mac=662200043039 verbose -ptcpip
Required libraries and binaries:
  • devn-mpc5121.so
  • libsocket.so
  • npm-tcpip.so
  • io-net
  • ifconfig
  • nicinfo
  • netstat
  • ping


dev-can-mpc5121 -u 0 can0
Required binaries:
  • dev-can-mpc5121

NOR Flash

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

NAND Flash

fs-etfs-mpc5121 -m /fs/etfs
Required binaries:
  • 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 and binaries:
  • devu-ehci-mpc512x.so
  • libusbdi.so
  • io-usb
  • usb
  • devb-umass


spi-master -d mpc5121
Required libraries and binaries:
  • spi-mpc5121.so
  • spi-master

Audio AC97

io-audio -d mpc512x
Notes: DMA mutex infrastructure need to be created before starting this driver
Required libraries and binaries:
  • deva-ctrl-mpc512x.so
  • deva-mixer-ac97.so
  • libasound.so.2
  • deva-util-restore.so
  • libdma-mpc512x.so
  • 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:
  • deva-ctrl-mpc5121_i2s.so
  • libasound.so.2
  • deva-util-restore.so
  • libdma-mpc512x.so
  • io-audio


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


io-display -dvid=0,did=0
Notes: The Advanced Graphics Technology Development Kit (TDK) 2.0 with patch 331 are required for this BSP
Required libraries and binaries:
  • devg-mpc5121.so
  • libffb.so.2
  • libgf.so.1
  • io-display
  • vsync
  • display.conf
  • mpc5121.conf

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

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

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.

Fixed issues for this BSP

This version of the BSP addresses the following issues:

Known issues for this BSP

Technical support

To obtain technical support for any QNX product, visit the Support + Services area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.