QNX Technical Articles
QNX® Neutrino® Instant Device Activation Technology Development Kit 1.0.0 Release Notes
Date of this edition: October 30, 2006
Target OS: QNX® Neutrino® 6.3.0 SP1 or later
Host OS: Microsoft Windows XP SP1 or SP2, 2000 SP4, or NT SP6a; Sun Solaris 7, 8, 9, or 10; QNX® Neutrino® 6.3.0 SP1 or later; Linux Red Hat 8, 9, or Enterprise WS 3 or 4
Contents
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.
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 Center.
What's in this TDK?
This TDK contains the following:
- srcdrop-mdriver-biscayne.zip
- srcdrop-mdriver-mgt5200.zip
- srcdrop-mdriver-osk.zip
- srcdrop-mdriver.zip
We've tested the Instant Device Activation TDK as shown in the table below. Note that some reference boards are supported only at specific software revisions and higher. For example, Renesas Lanbic is available only in QNX Momentics 6.3.0 SP2 and later. The Instant Device Activation TDK is also designed to work on MIPS targets and x86 targets, however these targets were not tested.
Reference board | QNX Neutrino 6.3.0 SP1 | QNX Neutrino 6.3.0 SP2 | QNX Neutrino Core OS 6.3.2 |
---|---|---|---|
Freescale Lite5200B / Media5200 | Lite5200B only | Yes | Yes |
Renesas Biscayne SH4 7760 | Yes | Yes | Yes |
Renesas Lanbic SH4 7770 | No | Yes | Yes |
TI OMAP 5912 | Yes | Yes | Yes |
TI da Vinci (RAM boot, no Flash) | No | No | Yes |
Known issues
- The default startup [image=] memory location as specified
in buildfiles for Biscayne boards causes a memory error when using a
minidriver.
You get a “cannot remove all sysram”
error message.
(Ref# 23632)
Workaround: Change the memory location to 8c004000 from 8c002000 (e.g. [image=0x8c004000]).
- We've provided a mini serial port driver for the Freescale Lite5200B, but
not for the Freescale Media5200b.
(Ref# 40572)
Workaround: If you need a mini serial port driver for the Media5200b, you can modify the one for the Lite5200B. You need to change the interrupt number to 68 and use PSC6, GPIO6.
- The test-case code for the mini serial port drivers on the
Renesas Biscayne and TI OSK5912 boards have the baud rate set to 14400.
(Ref# 40570)
Workaround: You need change the baud rate to the correct one below:
- Renesas Biscayne
- int baud=57600;
- TI OSK5912
- int baud=115200;
- In the current mini serial port driver test case for the Renesas Biscayne,
when the real serial driver attaches to the interrupt, it disables Rx and
Tx interrupts.
It might lose some data between these two stages.
(Ref# 40514)
Workaround: Change the following code so that it doesn't disable Rx (SH_SCIF_SCSCR_RE).
In mini_serial.c:
if (state == MDRIVER_INTR_ATTACH) { set_port16(mdata->port + SH_SCIF_SCSCR_OFF, SH_SCIF_SCSCR_RE|SH_SCIF_SCSCR_RIE, 0); return 1; }
In minidriver-serscif.c, change this:
out16(port + SH_SCIF_SCSCR_OFF, SH_SCIF_SCSCR_RE|SH_SCIF_SCSCR_RIE);
to this:
out16(port + SH_SCIF_SCSCR_OFF, in16(port + SH_SCIF_SCSCR_OFF)|SH_SCIF_SCSCR_RIE);
The baud rate and clock for Biscayne should be 57600 and 33333333.
Sample timings
We've provided the following test results as an example of what you can expect when you use the Instant Device Activation TDK on various hardware platforms.
Tests were conducted using the following guidelines:
- The operating system image boots from local flash disk
- The value of mdriver_max (which you can set in the startup code) is set to 1 KB. This value is the amount of data copied from flash to RAM between polling intervals.
- Interval timings are collected during the polling phase of the minidriver only. When the interrupt handling is activated by the Neutrino kernel, then the interval timings are dependent on the real hardware interrupt, and no polling is required.
- The maximum interval time should be of interest. This is the worst-case polling period between callouts to the minidriver. Note that it may be possible to reduce this time further by reducing the value of the mdriver_max variable (e.g. to 500 bytes).
You should consider these results to be examples only. Variations in CPU speed, CPU cache, and flash read speed will influence the results greatly.
The following table shows the interval timings during the polling phase when booting the operating system image from flash. The mdriver_max variable is 1 KB in each case. All times are in microseconds.
Reference board | Processor speed (MHz) | Average interval (μs) | Worst-case interval (μs) |
---|---|---|---|
Freescale Lite5200B / Media5200 | 400 | 70 | 1060 |
Renesas Biscayne SH4 7760 | 200 | 75 | 3348 |
Renesas Lanbic SH4 7770 | 400 | 150 | 3170 |
TI OMAP 5912 | 192 | 130 | 1500 |
TI da Vinci (RAM boot, no flash) | 300 | 150 | 751 |
Documentation
The functionality provided by this TDK is described in the Instant Device Activation User's Guide in the online documentation. On self-hosted Neutrino systems, look in the Helpviewer; on other hosts, use a browser to display ${QNX_TARGET}/usr/help/product/ida_tdk_en/bookset.html.
Technical support
To obtain technical support for any QNX product, visit the Technical Support section in the Services area on our website (www.qnx.com). You'll find a wide range of support options, including our free web-based Developer Support Center.