![]() |
![]() |
![]() |
![]() |
How to Get Help
The first place to look for help is in our documentation, but if you still have problems, there are several other avenues of help.
- Overview of the documentation
- Viewing the documentation
- What should I read first?
- Where key features are documented
- Related reading
- Getting quick help with the use command
- Hover help in the IDE
- Visit http://www.qnx.com
- Support plans
- Training
- Custom engineering and consulting
Overview of the documentation
In the QNX Software Development Platform, the online documents are in HTML, which you can access in the IDE's help system. On self-hosted QNX Neutrino systems, you can also look at the documentation in the Photon helpviewer.
For the latest documentation, or to download PDF versions, visit our website, http://www.qnx.com. Printed books are also available.
To help you find your way around the QNX SDP documentation set, we've provided a documentation roadmap.
The complete QNX SDP documentation set contains the following books, arranged here under each main component:
QNX Software Development Platform
- 10 Steps to Developing a QNX Program: Quickstart Guide
- A tutorial that helps you install QNX Momentics on a host machine, install the QNX Neutrino RTOS on a target machine, set up communications between the two systems, and then use the IDE to develop a program on the host machine and run it on the target.
Integrated Development Environment
- IDE User's Guide
- Describes the QNX Momentics Integrated Development Environment, how to set up and start using the tools to build Neutrino-based target systems, etc.
QNX Neutrino Realtime Operating System
- System Architecture
- Describes the concepts and architecture of the QNX Neutrino microkernel, resource managers, processes, threads, message-passing services, and more.
- QNX Neutrino User's Guide
- Explains how to interact with a running Neutrino system. Covers both Photon and text-mode interfaces, as well as various system-administration topics.
- Getting Started with QNX Neutrino: A Guide for Realtime Programmers
- This book, by Rob Krten, will help you design and develop robust realtime systems — from tiny embedded control applications to large network-distributed systems — using the QNX Neutrino RTOS.
- QNX Neutrino Programmer's Guide
- Tells you how to get started writing programs, including interrupt handlers, resource managers, etc.
- Building Embedded Systems
- Tells you how to get the OS running on your target embedded system, write an IPL, customize a startup program, etc.
- Utilities Reference
- Describes the Neutrino configuration files, utilities, and manager processes you'll use during development and at runtime.
- QNX Neutrino Library Reference
- Describes the C library data types and functions, including POSIX threads, kernel calls, resource manager functions, etc.
- Technical Notes
- Deals with a series of topics (e.g. IP tunneling) that aren't covered in the basic documentation set.
Photon microGUI
- Photon Programmer's Guide
- Gives you a hands-on tour of the Photon Application Builder (PhAB). You'll learn how to quickly assemble a GUI from predefined widgets, link the GUI to an application, and generate C source to bring the GUI to life.
- Photon Library Reference
- Provides concise descriptions of Photon's and PhAB's global data structures and functions.
- Widget Reference
- Contains guidelines for programming widgets, along with concise descriptions of all global data structures, resources, and convenience functions associated with widgets. It also gives you practical examples of how to use Photon widgets and widget functions.
- Building Custom Widgets
- Explains how to create a custom widget and how to bind it into PhAB. If you need a widget whose features extend the standard capabilities of the Photon widget library, this guide is for you.
BSPs, DDKs, and specialty tools
- BSP guides
- Describe how to get Neutrino running on your target board. You'll find a separate guide for each BSP that you've installed. We support boards in these processor families: ARM/XScale, MIPS, PowerPC, SH-4, and x86. You can download BSPs from our website, http://www.qnx.com/. The Download area arranges the BSP by platform.
- DDK guides
- Describe how to write drivers for QNX Neutrino. You'll find a separate DDK guide for audio, character, graphics, input, and Universal Serial Bus (USB) devices. You can download the DDKs from our website, but the QNX Software Development Platform includes the documentation.
- System Analysis Toolkit User's Guide
- Describes how to use the SAT with our instrumented microkernel. You can log every communication and state change within the microkernel, including interrupts, all parameters/return values from kernel calls, and scheduling decisions, resulting in a deeper and more detailed analysis of system elements. You can even perform kernel-level diagnostics remotely.
- Photon Multilingual Input
- Tells you how to input Chinese, Japanese, and Korean characters in Photon.
- Phindows Connectivity
- Tells you how to access Photon from a Windows machine.
Dinkum C and C++
- Dinkum C++ Library
- A conforming implementation of the Standard C++ library.
- Dinkum C99 Library
- A conforming implementation of the Standard C library, as revised in 1999.
- Dinkum EC++ Library
- A conforming implementation of the Embedded C++ library as specified by the Embedded C++ Technical Committee.
Viewing the documentation
Within the IDE
Click . There you'll find several booksets listed, including A Roadmap to the QNX Software Development Platform. The other documents listed, such as the Workbench User Guide and JDT Plug-in Developer Guide, pertain to the Eclipse platform and its various plugins.

Getting help in the IDE.
Note that the IDE's internal help system has a builtin search facility. For details, see “Using the QNX Help system” in the Getting Started chapter of the IDE User's Guide.
The Photon Helpviewer
If you're using Neutrino self-hosted, you can access the documentation via our native Helpviewer.

Photon Helpviewer.
To open the Helpviewer, click the Help button in the Applications group on the shelf or select Help from the right-click menu on the desktop.
For more information, see “Getting help with the Helpviewer” in the Using the Photon microGUI chapter of the Neutrino User's Guide, as well as the entry for helpviewer in the Utilities Reference.
Keyword indexes
Nearly every book in the QNX documentation set has its own keyword index. At the top and bottom of the online documents, you'll find a link to the keyword index file (keywords-all.html).
Here's a quick way to get to the keyword-index files of the online documents:
- Audio DDK—index
- Audio Developer's Guide—index
- Building Custom Widgets—index
- Building Embedded Systems—index
- Character DDK—index
- Getting Started with QNX Neutrino: A Guide for Realtime Programmers—index
- Graphics DDK—index
- High Availability Framework Developer's Guide—index
- IDE User's Guide—index
- Input DDK—index
- Photon Library Reference—index
- Photon Programmer's Guide—index
- Photon Widget Reference—index
- QNX Neutrino Library Reference—index
- QNX Neutrino Programmer's Guide—index
- QNX Neutrino User's Guide—index
- System Analysis Toolkit User's Guide—index
- System Architecture—index
- USB DDK—index
- Utilities Reference—index
- Welcome to the QNX Software Development Platform—index
- Widget Reference—index
What should I read first?
Many people simply don't read manuals cover to cover. They often browse or search the documentation for a specific topic, usually for information on how to do a certain task. But if you want to approach your tasks with enough knowledge to work effectively, it's a good idea to start with the System Architecture guide; it will help you understand Neutrino's unique features, particularly its message-based interprocess communication (IPC) and microkernel architecture.
Once you know how Neutrino works, you'll then want to know how to work with it; our 10 Steps to Developing a QNX Program: Quickstart Guide is a short tutorial that will get you started in a matter of minutes. Which document you'll need next depends on when you need it.
During development (on your host)
Most of the documents in the bookset are geared towards developing your Neutrino-based applications. Of these development books, some are how-to guides, and some are reference works.
![]() |
Some books are useful during development as well as at runtime. For instance, the Utilities Reference is a comprehensive document that includes descriptions of both development utilities (e.g. make), which you wouldn't normally use on your target, as well as runtime programs (e.g. devc-sersci), which you would run only on your target. |
Here are the main how-to guides and their corresponding reference books:
| How-to guide: | Companion reference: |
|---|---|
| IDE User's Guide | Utilities Reference (for underlying command-line utilities, such as make); QNX Neutrino Library Reference for API |
| QNX Neutrino User's Guide | Utilities Reference |
| Getting Started with QNX Neutrino: A Guide for Realtime Programmers, QNX Neutrino Programmer's Guide | QNX Neutrino Library Reference |
| Photon Programmer's Guide | Photon Library Reference; Photon Widget Reference |
| Building Embedded Systems | Utilities Reference; QNX Neutrino Library Reference |
At runtime (on your target)
The most runtime-oriented document in your bookset is the QNX Neutrino User's Guide, which describes how to use and interact with a running Neutrino system. The book covers both Photon and text-mode interfaces, as well as various system-administration topics.
Other runtime-oriented documents include the Utilities Reference and the IDE User's Guide (for information on diagnostic tools you'd use on a running system).
Where key features are documented
The following list may help you learn which document to look in when you want information on certain key features or components of the OS and tools.
- Adaptive partitioning
- Adaptive Partitioning User's Guide
- Asymmetric multiprocessing (AMP)
- Multicore Processing in the System Architecture guide
- Audio support
- Audio Developer's Guide (for writing audio applications); Audio DDK (for writing audio device drivers); io-audio manager and the deva-* drivers in the Utilities Reference.
- Bound multiprocessing (BMP)
- Multicore Processing in the System Architecture guide; the Multicore Processing User's Guide; procnto* in the Utilities Reference.
- BSPs
- Each BSP that you install includes documentation; see the BSP's installation and release notes.
- Buildfiles
- Making an OS Image in Building Embedded Systems; mkifs in the Utilities Reference.
- CD-ROM
- Working with Filesystems in the QNX Neutrino User's Guide; cam-cdrom.so in the Utilities Reference.
- Channels
- Channel*, Msg*, and Connect* functions in the QNX Neutrino Library Reference; Message Passing in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Writing a Resource Manager.
- Compiling
- Developing C/C++ Programs in the IDE User's Guide; Compiling and Debugging in the QNX Neutrino Programmer's Guide; make and qcc in the Utilities Reference.
- Compression
- Making an OS Image in Building Embedded Systems; deflate in the Utilities Reference.
- CPU time, sharing among competing processes
- Adaptive Partitioning User's Guide
- Data server
- Setting Up an Embedded Web Server in the QNX Neutrino User's Guide; ds in the Utilities Reference.
- DDKs
- Driver Development Kits (DDKs). The QNX Software Development Platform includes the documentation, but if you want the DDKs, you must download them from our website.
- Debugger
- Debugging Programs in the IDE User's Guide; Compiling and Debugging in the QNX Neutrino Programmer's Guide; gdb and other debugging utilities in the Utilities Reference.
- Device management
- devctl() in the QNX Neutrino Library Reference; Resource Managers in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Writing a Resource Manager; dev* drivers in the Utilities Reference.
- Editors
- IDE Concepts in the IDE User's Guide; Using Editors in the QNX Neutrino User's Guide; elvis, ped, qed, sed, and vi in the Utilities Reference.
- Embedded systems
- Building Embedded Systems.
- Endian issues
- Freedom from Hardware and Platform Dependencies in the QNX Neutrino Programmer's Guide.
- Environment, configuring
- Controlling How Neutrino Starts and Configuring Your Environment chapters in the QNX Neutrino User's Guide.
- Environment variables
- Commonly Used Environment Variables appendix in the Utilities Reference; environ() in the QNX Neutrino Library Reference; Using the Photon microGUI and Configuring Your Environment chapters in the QNX Neutrino User's Guide.
- Event handling (OS)
- MsgDeliverEvent() in the QNX Neutrino Library Reference; Message Passing in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Writing an Interrupt Handler in the QNX Neutrino Programmer's Guide.
- Event handling (Photon)
- Events in the Photon Programmer's Guide; phrelay in the Utilities Reference.
- File handling
- creat() and related functions via its “See also” section in the QNX Neutrino Library Reference; basename, cat, etc. in the Utilities Reference.
- Filesystems
- Working with Filesystems in the QNX Neutrino User's Guide.
- Fonts
- Fonts chapter and Photon in Embedded Systems appendix in the Photon Programmer's Guide.
- Graphics
- Graphics DDK; devg-* drivers in the Utilities Reference.
- Hardware
- Connecting Hardware in the QNX Neutrino User's Guide.
- HID (human input devices)
- hidview and devh-* drivers in the Utilities Reference.
- Helpviewer (Photon)
- Using the Photon microGUI in the QNX Neutrino User's Guide; helpviewer in the Utilities Reference.
- I/O management
- iofunc*, Interrupt*, and open() and related functions via open()'s “See also” section in the QNX Neutrino Library Reference; Resource Managers in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Writing a Resource Manager.
- IPC (interprocess communication)
- pthread_mutex*, SyncMutex*, sem_*, SyncSem*, pthread_cond*, and SyncCondvar* in the QNX Neutrino Library Reference. See also “Message Passing,” below.
- IPL (Initial Program Loader)
- Writing an IPL Program in Building Embedded Systems.
- Images (OS)
- Making an OS Image in Building Embedded Systems; mkifs in the Utilities Reference.
- Images (graphical)
- Raw Drawing and Animation in the Photon Programmer's Guide.
- Input
- Input DDK; devh-* and devi-* drivers in the Utilities Reference.
- Instrumented kernel
- System Analysis Toolkit User's Guide.
- Interrupt handling
- InterruptAttach() and related functions in its “See also” section in the QNX Neutrino Library Reference; Interrupts in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Writing an Interrupt Handler in the QNX Neutrino Programmer's Guide.
- Kernel calls
- Channel*, Clock*, Connect*, Debug*, Interrupt*, Msg*, Sched*, Signal*, Sync*, Thread*, Timer*, and TraceEvent() in the QNX Neutrino Library Reference.
- Keyboard support
- Using the Command Line in the QNX Neutrino User's Guide; mkkbd and related utilities in its “See also” section in the Utilities Reference.
- Libraries
- Compiling and Debugging in the QNX Neutrino Programmer's Guide; Building OS and Flash Images in the IDE User's Guide.
- Linker
- Compiling and Debugging in the QNX Neutrino Programmer's Guide; qcc and related utilities in its “See also” section in the Utilities Reference.
- Makefile structure
- Developing C/C++ Programs in the IDE User's Guide; Conventions for Recursive Makefiles and Directories in the QNX Neutrino Programmer's Guide.
- Memory management
- mem*, mmap*, posix_mem*, and malloc() in the QNX Neutrino Library Reference; Heap Analysis: Making Memory Errors a Thing of the Past in the QNX Neutrino Programmer's Guide; Finding Memory Errors in the IDE User's Guide.
- Message passing
- Msg*, Connect*, and Channel* in QNX Neutrino Library Reference. See also “IPC,” above.
- Message queues
- mq_* functions in the QNX Neutrino Library Reference; mqueue and mq in the Utilities Reference.
- Multicore systems
- Multicore Processing in the System Architecture guide; the Multicore Processing User's Guide; procnto* in the Utilities Reference.
- Native networking (Qnet)
- See “Transparent distributed processing,” below.
- Network drivers
- io-pkt*, devn-*, devnp-* drivers in the Utilities Reference; QNX Neutrino Core Networking User's Guide
- Permissions (on files, directories)
- Managing User Accounts and Working with Files chapters in the QNX Neutrino User's Guide; chmod(), stat(), and umask() in the QNX Neutrino Library Reference; chmod in the Utilities Reference.
- Process manager
- procnto* in Utilities Reference; procmgr_* in the QNX Neutrino Library Reference.
- Processes
- Processes and Threads in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Processes in the QNX Neutrino Programmer's Guide; exec*, fork*, and spawn* in the QNX Neutrino Library Reference.
- Profiler (application)
- Profiling an Application in the IDE User's Guide.
- Profiler (system)
- Analyzing Your System with Kernel Tracing in the IDE User's Guide.
- Pulses
- MsgSendPulse(), MsgReceivePulse(), and pulse_* in the QNX Neutrino Library Reference; Message Passing in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; “Handling private messages and pulses” in the Handling Other Messages chapter of Writing a Resource Manager.
- QoS (Quality of Service)
- “Quality of Service and multiple paths” in the Native Networking (Qnet) chapter in System Architecture; netmgr_ndtostr() in the QNX Neutrino Library Reference.
- RAM disk
- io-blk.so (using the ramdisk=size option), devb-ram, and devf-ram in the Utilities Reference.
- Realtime scheduling
- Sched* functions and sched_param structure in the QNX Neutrino Library Reference.
- Resource management
- Resource Managers in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Writing a Resource Manager; resmgr_* and iofunc_* in the QNX Neutrino Library Reference.
- Resources, sharing among competing processes
- Adaptive Partitioning User's Guide
- Symmetric multiprocessing (SMP)
- Multicore Processing in the System Architecture guide; the Multicore Processing User's Guide; procnto* in the Utilities Reference.
- Self-hosted development
- Compiling and Debugging in the QNX Neutrino Programmer's Guide.
- Signal handling
- sigaction() and related functions via its “See also” section in the QNX Neutrino Library Reference.
- Startup programs
- Customizing Image Startup Programs in Building Embedded Systems; startup-* in the Utilities Reference.
- Synchronization
- Sync* functions in the QNX Neutrino Library Reference.
- System information
- pidin in the Utilities Reference; Analyzing Your System with Kernel Tracing in the IDE User's Guide; Fine-Tuning Your System in the QNX Neutrino User's Guide.
- Target agent (qconn)
- qconn in the Utilities Reference; IDE Concepts in the IDE User's Guide.
- Threads
- pthread_* and Thread* in the QNX Neutrino Library Reference; Processes and Threads in Getting Started with QNX Neutrino: A Guide for Realtime Programmers; Programming Overview in the QNX Neutrino Programmer's Guide.
- Time
- Configuring Your Environment in the QNX Neutrino User's Guide; Clock*, time(), and related functions via their “See also” sections in the QNX Neutrino Library Reference.
- Timestamps (for files)
- touch in the Utilities Reference; utime() and related functions via its “See also” section in the QNX Neutrino Library Reference.
- Timers
- alarm(), Timer*, and timer_* in the QNX Neutrino Library Reference; Clocks, Timers, and Getting a Kick Every So Often in Getting Started with QNX Neutrino: A Guide for Realtime Programmers.
- Transparent distributed processing
- Using Qnet for Transparent Distributed Processing in the QNX Neutrino User's Guide; Transparent Distributed Processing via Qnet in the QNX Neutrino Programmer's Guide; lsm-qnet.so in the Utilities Reference; netmgr_* in the QNX Neutrino Library Reference.
- USB
- Connecting Hardware in the QNX Neutrino User's Guide; devu-*, devh-usb.so, devi-hid, and io-usb in the Utilities Reference; USB DDK.
- Unicode
- wc*() (wide-character functions) in the QNX Neutrino Library Reference; Unicode Multilingual Support in the Photon Programmer's Guide.
- Version control
- Managing Source Code in the IDE User's Guide; Using CVS in the QNX Neutrino User's Guide; cvs in the Utilities Reference; Version Control with Subversion (O'Reilly & Associates).
- Web server (slinger)
- Setting Up an Embedded Web Server in the QNX Neutrino User's Guide; slinger in the Utilities Reference.
- XIP (execute in place)
- Building OS and Flash Images in the IDE User's Guide; Writing an IPL Program in Building Embedded Systems.
Related reading
On QNX Neutrino
- Krten, Robert. 2003. The QNX Cookbook: Recipes for Programmers.
Ottawa, ON, Canada: PARSE Software Devices. ISBN 0-9682501-2-2.
For more information about this book, see http://www.krten.com.
On POSIX
The latest POSIX standards documents are available online here:
http://www.opengroup.org/onlinepubs/007904975/nframe.html
![]() |
For an up-to-date status of the many POSIX drafts/standards documents, see the PASC (Portable Applications Standards Committee of the IEEE Computer Society) report at http://pasc.opengroup.org/standing/sd11.html. |
In addition to the POSIX standards themselves, you might find the following books useful:
- Butenhof, David R. 1997. Programming with POSIX Threads. Reading, MA: Addison-Wesley. ISBN 0-201-63392-2.
- Gallmeister, Bill O. 1995. POSIX.4: Programming for the Real World. Sebastopol, CA: O'Reilly & Associates. ISBN 1-56592-074-0.
On TCP/IP
- Hunt, Craig. 2002. TCP/IP Network Administration. Sebastopol, CA: O'Reilly & Associates. ISBN 0-596-00297-1.
- Stevens, W. R., Fenner, B., Rudoff, A. 2003. UNIX Network Programming, Volume 1: The Sockets Networking API. Third edition. Reading, MA: Addison-Wesley Professional. ISBN 0-131-41155-1.
- Stevens, W. R. 1998. UNIX Network Programming, Volume 2: Interprocess Communications. Second edition. Upper Saddle River, NJ: Prentice Hall. ISBN 0-130-81081-9.
- ———. 1993. TCP/IP Illustrated, Volume 1: The Protocols. Reading, MA: Addison-Wesley. ISBN 0-201-63346-9.
- ———. 1995. TCP/IP Illustrated, Volume 2: The Implementation. Reading, MA: Addison-Wesley. ISBN 0-201-63354-X.
![]() |
Some of the advanced API features mentioned in these TCP/IP books might not be supported. |
Getting quick help with the use command
Similar to the UNIX man command, Neutrino presents a simple usage message for each command-line utility. At the OS system prompt, type:
use utility_name
and you'll see a brief description as well as the command-line options for that utility.
Hover help in the IDE
When working on your projects in the IDE's editor, whenever you hover your mouse pointer over a function name in a line of code, you'll see a popup text box containing that function's purpose and synopsis (provided that it's a documented Neutrino function).
For details, see the chapter on C/C++ development in the IDE User's Guide.
Visit http://www.qnx.com
The QNX Software Systems website (http://www.qnx.com) offers help on using the QNX Software Development Platform through such facilities as:
- detailed lists of supported hardware
- Community area, which has many technical articles and other resources
- Licensing area, which gives details on product licensing
- Partners area, which includes lists of distributors and resellers around the world
- technical forums — members of the Neutrino user community at large as well as our own developers and staff frequent these forums daily
- and more
For general help with Eclipse, the open platform for our IDE, visit the Eclipse consortium website (http://www.eclipse.org). There you'll find valuable support in the form of newsgroups, mailing lists, articles, and more.
Support plans
You can access a wide range of support resources, depending on the particular support plan that you purchase.
For more information about our technical support offerings, including email addresses and telephone numbers, please see the Support + Services section of our website (http://www.qnx.com).
For more information about setting up your myQNX account and registering your products and support plans, see On-line Technical Support. There's a printed copy in the QNX Software Development Platform box, and a PDF version on the DVD and on our website.
Training
QNX training services offers many hands-on courses at your choice of location (QNX headquarters, various training centers around the world, or your site). For details, including the current training schedule, see the Training area in the Support + Services section of our website (http://www.qnx.com).
Custom engineering and consulting
Depending on the nature of your particular project, you may choose to engage us to help in areas such as:
- custom BSPs
- device driver development
- hardware troubleshooting and integration
- application development
- migration/porting services
For more information, see contact your local sales representative.
![]() |
![]() |
![]() |
![]() |

![[Previous]](prev.gif)
![[Contents]](contents.gif)
![[Index]](keyword_index.gif)
![[Next]](next.gif)
