Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Momentics® 6.3.0 Intel IXDP2351 BSP 1.0.0 Release Notes

QNX® Momentics® 6.3.0

Date of this edition: September 07, 2005

Target OS: QNX® Neutrino® 6.3.0 SP1

Host OS: Microsoft Windows XP SP1 or SP2; Microsoft Windows 2000 SP4; Sun Solaris 7/8; QNX® Neutrino® 6.3.0 SP1; Linux (Red Hat 8/9)

Boards supported: Intel IXDP2351 ADP


Note:
  • You need to have installed QNX Momentics 6.3.0 SP1 before installing this BSP.
  • For information on installing this BSP, see the installation note.
  • 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.
  • This BSP doesn't include the Intel SDK for the Intel IXDP2351 ADP. To get the SDK, please contact Intel.

Contents


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
  • Ethernet drivers (i82544 PCI card and IXDP2351 NPE)

Source code

  • IPL
  • Startup
  • PCI server
  • Serial driver
  • Flash driver

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

Documentation

  • Intel IXDP2351 ADP Board Support Package readme (HTML)

Note:

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. If you fail to run this shell script prior to building the BSP, you can overwrite existing binaries or libs that are installed in $QNX_TARGET. 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

Note:
  • 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
"bin" drivers (serial, flash, block, PCI, PCMCIA, USB) $QNX_TARGET/cpu/bin
"dll" drivers (audio, graphics, network) $QNX_TARGET/cpu/lib/dll

Known issues for this BSP

  • This BSP contains a driver (i.e. devc-ser8250-ixp2400) which will overwrite the version included in other ARM BSPs. You should back this version up before installing the new one (Ref# 22922).

  • When you import this BSP into the IDE, the ixp2400.be variant is renamed by the IDE to o.be. This causes the IDE to only build devc-ser8250 instead of devc-ser8250-ixp2400. The buildfile will not build because it looks for devc-ser8250-ixp2400. This issue doesn't occur when you build the BSP from the command line.

    Workaround: Once you've imported the BSP into the IDE, click on the C/C++ Projects tab to display the list of drivers. Expand the bsp-intel-ixdpxxxx_devc-ser8250 serial driver by clicking on the + sign. Then, expand "ser8250", then "arm". Rename the o.be variant to ixp2400.be by right-clicking on it and selecting "Rename". Rebuild the entire project to compile devc-ser8250-ixp2400 and to rebuild the OS image.

  • When you import this BSP into the IDE, the compiled IPL, ipl-ixdp2351, is not post-processed properly by the IDE. It needs to be converted into binary format, padded up to 32 kbytes in size and renamed to ipl-ixdp2351.bin. The default IDE configuration does this, but it then combines the IPL with the IFS image into a single binary and deletes the ipl-ixdp2351.bin file. Since the IPL and IFS image need to be flashed to separate locations on the board, the combined image is not usable. This issue doesn't occur when you build the BSP from the command line.

    Workaround: Once you've imported the BSP into the IDE, click on the System Builder Projects tab. Right-click on the bsp-intel-ixdp2351 project and select "Properties". In the menu on the left side of the dialog, select "Image Combine". Deselect the checkbox beside "Add IPL". Click on OK to close the dialog. Expand the bsp-intel-ixdp2351 project by clicking on the + sign beside it. Then, expand Images. If there is a file named ipl-bsp-intel-ixdp2351.ifs, right-click on it and select "Delete".

    Now, click on the C/C++ Projects tab to display the list of drivers. Right-click on bsp-intel-ixdp2351_ipl-ixdp2351 and select "Properties". Select "QNX C/C++ Project" from the menu on the left side of the dialog. Click on the Linker tab. In the Category combo-box, select "Post-build actions". Click on the Add button and type in the following command line as an "Other command".

    $(QNX_HOST)/usr/bin/ntoarm-objcopy -Obinary $(BUILDNAME) ipl-ixdp2351-tmp.bin

    Click on OK when done. Click on the Add button and type in the following command line as an "Other command".

    mkrec -r -s32k -ffull ipl-ixdp2351-tmp.bin > ipl-ixdp2351.bin

    Rebuild the IPL project to compile ipl-ixdp2351 and ipl-ixdp2351.bin will be generated in the same directory (Ref:27134).

  • The devn-ixdp2351.so NPE Ethernet driver does not support being un-mounted with umount.

    Workaround: You'll need to kill and restart io-net, if you wish to restart the driver.

  • The verbose option of the devn-ixdp2351.so NPE Ethernet driver is currently not supported (Ref:26189).

  • The PCI server will fail with a SIGBUS on startup when booting from the recovery loader.

    Workaround: Booting from the recovery loader is unsupported. Use the IPL or the Redboot ROM monitor in order to load an OS image to the board.

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

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

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

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

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.