Date of this edition: July 04, 2008
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: Freescale MPC8560ADS (CPU rev 2); Freescale MPC8540ADS (CPU rev 2)
![]() |
You need to use ROM Monitor version UBoot v 1.1.2 with these boards. |
![]() |
|
![]() |
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. |
This BSP contains:
![]() |
The source code requires a BSP Source License. |
![]() |
The flash filesystem library is included in the separately available Flash Filesystem & Embedding Technology Development Kit (TDK). |
![]() |
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). |
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:
${QNX_TARGET}/usr/help/product/momentics/bookset.html
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.).
Depending on the particular BSP and type of driver, you'll find the files in these locations:
| 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 |
| 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/sbin |
| “dll” drivers (audio, graphics, network) | $QNX_TARGET/cpu/lib/dll |
Workaround: Slay and restart io-net to unmount the driver.
Workaround: Modify your PATH environment variable and remove any quotation marks.
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.
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.
The Rev-A boards do not exhibit these problems.
Workaround: Run the Ethernet driver in full-duplex mode on the first Ethernet port.
From the documentation for the line status register (Section 12.13.9 of the 8540 User Manual):
“Note that the ULSR[BI] is set immediately after ULSR is read if bus remains zero and no mark state followed by a valid new character has been detected.”
In other words, as long as there's no input to the board after a break, the LS interrupt constantly gets cleared and reasserted resulting in the out-of-interrupt events being generated.
Workarounds: There are a few workarounds:
In the source file init.c, change line 84:
write_8250(port[REG_IE], 0x0f);
to
write_8250(port[REG_IE], 0x0b);
This results in an unfortunate side effect: breaks, framing errors, parity errors, overrun errors, data ready interrupts Rx FIFO errors, Tx empty, Tx holding register empty will not generate Line Status interrupts.
However, the LSR is also read with every character received, so processing of line status changes will not be completely disabled, just delayed until a character is received.
![]() |
Please check the version of these release notes on the website for the most up-to-date information. |
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.