Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Neutrino® Instant Device Activation Technology Development Kit 1.0.0 Release Notes

QNX® Neutrino®

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.