Developer Resources
Technical Articles

QNX Technical Articles

QNX Momentics 6.3.0 Freescale Lite5200B and Media5200 BSP 1.0.4 Release Notes

QNX® Momentics® 6.3.0

Date of this edition: June 06, 2006

Target OS: QNX® Neutrino® 6.3.0 SP2

Host OS: Microsoft Windows XP SP1 or SP2, 2000 SP4, or NT SP6a; Sun Solaris 7, 8, or 9; QNX® Neutrino® 6.3.0 SP2; Linux Red Hat 8, 9, or Enterprise WS 3 or 4

Boards supported: Freescale Lite5200B (RevB3), Freescale Media5200

  • You need to have installed the QNX Momentics 6.3.0 SP2 before installing this BSP.
  • For information on installing this BSP, see the installation note.
  • If you install SP2, you should also install the latest version of the QNX Momentics Character Driver Development Kit (DDK), if you installed an earlier version of it. Significant changes have been made to this DDK; please see the Character DDK Release Notes.
  • For the most up-to-date version of these release notes, log into your myQNX account, and then go to the Download Center area of www.qnx.com.


Note: Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our 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.

What's in this BSP?

This BSP contains:

  • Binary components
  • Source code
  • Documentation.

Note: The source code requires a BSP Source License.

Binary components

  • IPL
  • Startup
  • PCI server
  • Serial driver
  • Network driver
  • Bestcomm DMA library
  • Bestcomm utility
  • USB support
  • EIDE driver
  • SPI driver
  • I2C driver
  • Audio driver (Media5200 Only)
  • Graphics driver (Media5200 Only)
  • lvds utility (Media5200 Only)
  • Touch screen driver (Media5200 Only)
  • RTC utility

Source code

  • IPL
  • Startup
  • PCI server
  • Serial driver
  • Network driver
  • SPI driver
  • I2C driver
  • Flash driver
  • Audio driver (Media5200 Only)
  • Touch screen driver (Media5200 Only)

Note: The flash filesystem library is included in the separately available Flash Filesystem & Embedding Technology Development Kit (TDK).


  • Freescale Lite5200B / Media5200 Board Support Package readme (HTML)


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

The procedure for building BSPs has changed since QNX Momentics 6.2.1. For instance, you must now run the . ./setenv.sh script before compiling your BSP source. For details, see the chapter Working with a BSP in the Building Embedded Systems manual (in the Documentation Roadmap page under the QNX Neutrino RTOS section).

Location of source and documentation

When you install BSPs, you'll find the source code and documentation in the following locations:

Windows hosts

Component Location
Source code $QNX_TARGET\usr\src\archives\qnx\
Documentation $QNX_TARGET\usr\help\product\bsp_index.html
Release notes $QNX_TARGET\etc\readme\bsp

QNX Neutrino, Linux, and Solaris hosts

Component Location
Source code $QNX_TARGET/usr/src/archives/qnx/
Documentation $QNX_TARGET/usr/help/product/bsp_index.html
Release notes $QNX_TARGET/etc/readme/bsp

  • To extract the source from the archive, use any application that supports the ZIP format (e.g. WinZIP). For more information, see the chapter "Working with a BSP" in the Building Embedded Systems manual.
  • The "roadmap" page (e.g. from the Windows XP start menu: Release notes-->All Programs-->QNX Momentics 6.3.0-->Documentation) contains links to the various HTML booksets that accompany the OS: System Architecture, Building Embedded Systems, 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, Linux, and Solaris 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

Fixed issues for this BSP

This version of the BSP provide fixes the following issues:

  • The ROM monitor flashed in the Media5200 board currently initializes the extended BAT registers. The startup code clears them now so the OS doesn't become unstable when booting from the ROM monitor.

  • The default buildfile provided with this BSP starts the flash driver and the touchscreen driver properly in the script section and it does now include the devf-mgt5200 driver or the calib utility in the OS image.

  • The default buildfile provided with this BSP now contains the full Photon environment. Uncommenting the Photon sections in the build file will create a fully functional Photon image for the Media5200 board.

  • Hardware flow control works for the PSC serial driver.

  • PCI devices behind a PCI-to-PCI bridge can now be enumerated and the PCI-to-PCI bridge can now be configured properly for these PCI devices.

  • Flash driver update for mis-aligned accesses on the Lite5200B or Media5200 boards.

  • Flash driver update for probing the hardware properly. It isn't necessary any more to run one instance of the flash driver per flash bank. We've also fixed the documentation accordingly.

  • IPL fix for the Lite5200B board. When swapping the two flash banks their addresses were mirrored instead of swapped.

  • Added RTC utility for the Freescale MPC 5200 boards.

  • Fixed the use message for the devb-eide-mpc5200 driver.

Known issues for this BSP

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

  • Older ROM monitors shipped with the Freescale Lite5200B and Media5200 may potentially not initialize the memory controller properly causing the OS to not boot or to be unstable. This issue doesn't occur when booting the board from the IPL.

    Workaround: Get the latest ROM monitor from Freescale or alternatively type the following commands at the ROM monitor prompt before sending the OS image and loading it into RAM:

    • mm 0xf00001a0 type Enter then 0x000000f6
    • mm 0xf00001a4 type Enter then 0x000000f6
    • mm 0xf00001a8 type Enter then 0x000000f6
    • mm 0xf00001ac type Enter then 0x000000f6
    • mm 0xf0000190 type Enter then 0x00000004

  • installing this BSP will overwrite the following files with newer versions but without warning:
    $QNX_TARGET/ppcbe/lib/dll/devg-coral.so and $QNX_TARGET/ppcbe/sbin/rtc. (Ref. #39016)

    Wordaround: If you wish to keep the older versions, you'll need to backup these two files manually before installing this BSP.

  • USB to Ethernet adapters that use the rtl8150 and asix drivers on the Media5200 will be initalized with an incorrect MAC address. The MAC address that appears is the MAC address of the onchip ethernet controller.
    Wordaround:Use the mac=XXXXXXXXXX option when invoking the rtl8150 or asix driver on the Media5200.
    e.g. io-net -drtl8150 mac=001122334455 -ptcpip

  • The default buildfile invoques the calibration utility if the calibration file /etc/system/trap/calib.localhost is not found. We don't provide a calibration file, by default, since it could be different on each Media5200 board. Therefore you need to calibrate your touch screen during boot time. To avoid calibrating the touchscreen on every reboot, include the calibration file /etc/system/trap/calib.localhost into the buildfile (Where localhost is the host name. It will default to localhost if it isn't set).

  • On the Media5200, playing wave files with frequency rates other than 48000, 44100, 32000, 22050, 16000, 11025 or 8000 Hz will fail. Outside these values the software rate converter will be invoked calling libasound.so. The current libasound.so available with QNX Momentics 6.3.0 SP2 has an issue that will cause waves files to not play in this particular hardware platform. This library issue is already fixed. A patch for libasound.so will be made available separately from the BSP package at a later date.

    Workaround: Until the new libasound.so is available use wave files with the following frequency rates: 48000, 44100, 32000, 22050, 16000, 11025 and 8000 Hz.

  • In order to get graphics driver to work on the Media5200, you need the new io-graphics patch ID #144 which is available for download from MyQNX.

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

  • To build the BSP from the command line, you need to extract the source code from the zip file. In Microsoft Windows, make sure you place the source code in a directory that doesn't contain any spaces in its name.

  • Some warnings may be displayed when compiling this BSP with one or both supported compilers. These warnings are benign and do not affect the functionality of the resulting binaries.

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

  • If you specify the -d and -p options for io-graphics, you must put the -d option before the -p, or else io-graphics fails. (Ref# 22670)

  • The TCP/IP stack obtains a timer from the process manager. This timer starts at 0. If the TCP/IP stack and a TCP/IP application that tries to connect to a remote host start executing too soon, the TCP/IP stack may apply a time of 0 seconds to ARP cache entry structures. If this occurs, you may end up with a permanent ARP entry (i.e. one that never times out). You can also end up with permanent, incomplete ARP entries that never time out, and that the TCP/IP stack doesn't attempt to resolve. If this happens, your host won't be able to communicate with one or (possibly) more remote hosts (i.e. the ones the TCP/IP application in the OS image is trying to reach).

    You can check for permanent ARP entries by running the arp -an command and examining the output. The only permanent entries listed should be for the IP addresses assigned to your host's interfaces; there shouldn't be any permanent, incomplete entries. If you find a permanent entry that isn't for the IP address of an interface on your host, and you didn't explicitly create a permanent entry, then you could be encountering this problem. (Ref# 21395)

    Workaround: In the buildfile for your OS image, delay the start of the TCP/IP stack or the first TCP/IP application by at least one second, by using the sleep command (e.g. sleep 1) or some other delay mechanism.

  • When you install several BSPs that share common files, you'll be prompted to overwrite the existing files. We recommend that you backup the existing files before you overwrite them. Uninstalling any BSP that shares that file will currently remove the common file. You'll need to restore the backup after you uninstall any BSP that shared the file(s). (Ref# 22922)

Technical support

If you have any questions, comments, or problems with a QNX product, please contact Technical Support. For more information, see the How to Get Help chapter of the Welcome to QNX Momentics guide or visit our website, www.qnx.com.