Getting Started

This chapter includes:

How QNX Momentics is organized

The QNX Momentics Tool Suite is organized around these two main areas:

All your libraries, executables, etc., designed to run on your host system (e.g. Windows).
All CPU-specific components, as well as certain common things that you can use on any target system.

The QNX_HOST environment variable identifies the directory that holds the host-related components:

Host-related directory

The host-related directory structure.

The QNX_TARGET environment variable identifies the directory that holds the target-related components:

Target-related directory

The target-related directory structure.

Neutrino also uses these environment variables to locate files on the host machine:

The location of the configuration files and licenses for QNX Momentics.
The location of included *.mk files.

Here's where some of the key components are installed:

Component Location
Buildfiles $QNX_TARGET/platform/boot/build/
Command-line utilities For the host: $QNX_HOST/usr/bin and $QNX_HOST/platform/bin

For the target: $QNX_TARGET/bin and $QNX_TARGET/platform/bin and $QNX_TARGET/platform/sbin

Device drivers (binaries) $QNX_TARGET/platform/sbin
Device drivers (DLLs) $QNX_TARGET/platform/lib/dll
Filesystems $QNX_TARGET/platform/sbin
GUI-related $QNX_TARGET/usr/photon
Shared libraries $QNX_TARGET/platform/lib
System header files $QNX_TARGET/usr/include
Documentation Eclipse plugin directory, also in $QNX_TARGET/usr/help/product on self-hosted Neutrino systems

If you install any BSPs or DDKs, they're installed under ${QNX_TARGET}, or in a directory of your choosing. The IDE creates a workspace, a directory that holds your development projects. By default, this workspace is in your home directory on Linux, and in C:\QNX640 on Windows.

For information about the directory structure on a Neutrino runtime system, see Where everything is stored in the Working with Files chapter of the Neutrino User's Guide.

What's on my desktop?

How you access the components of QNX Momentics depends on your host machine:

You can start the IDE by clicking its icon on the desktop:

IDE icon

or by choosing QNX Momentics IDE from the Start-->All Programs-->QNX Software Development Platform menu. This menu also lets you add or activate licenses, configure your machine to build for a specific version of QNX Neutrino, run Phindows, and start the IDE.

The Start-->Programming menu lets you add or activate licenses, and start the IDE. You can also start the IDE by running the qde command.
The Launch-->Configure menu lets you add and activate licenses. The Help item in the Launch menu and on the shelf starts the Helpviewer, where you'll find the documentation.

Upgrading your software

Here's the general procedure for updating a version of the QNX Software Development Platform or other components you've purchased:

  1. Go to the QNX Software Systems website ( and log in to your myQNX account. If you don't already have a myQNX account, please register now.
  2. Follow the instructions for registering your product. You'll need the Product Registration serial number and password, which you'll find in the box that contains the installation disks.

    For more information about setting up your myQNX account, see Accessing Online 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.

  3. Go to the Download area.
  4. Select the product (e.g. “QNX Software Development Platform”) or search by keywords.

    Note: In the next step, you'll download a file. Don't download it into a directory whose path contains spaces. For example, don't download the file into C:\Documents and Settings\my_userid\Desktop.

  5. Download the appropriate file and follow the instructions.

If you installed an evaluation copy of the QNX Software Development Platform, you can upgrade to a permanent copy without reinstalling. For more information, see the Installation Guide.

Managing source code

You'll probably want to use some sort of version-control system to manage and track changes to the software that you develop.

For information about: See:
CVS (Concurrent Versions System) Using CVS in the Neutrino User's Guide, and Managing Source Code in the IDE User's Guide.
Subversion (svn) Collins-Sussman, Ben, Fitzpatrick, Brian W., Pilato, C. Michael. 2004. Version Control with Subversion. Sebastopol, CA: O'Reilly & Associates. ISBN: 9780596004484

QNX Momentics includes clients for both CVS and Subversion.

Running QNX Neutrino self-hosted

You can develop software on a self-hosted QNX Neutrino system. For more information on working with Neutrino, see the Neutrino User's Guide; for information on developing software on Neutrino, see the Neutrino Programmer's Guide and the IDE User's Guide.

Mixing a self-hosted machine with other hosts

If you have a Neutrino host, you can communicate with other hosts in various ways:

Can different versions of QNX Momentics coexist?

The QNX Momentics Tool Suite lets you install and work with multiple versions of Neutrino (from 6.2.1 and later). Whether you're using the command line or the IDE, you can choose which version of the OS to build programs for.

Note: Coexistence with 6.2.1 is supported only on Windows hosts.

When you install QNX Momentics, you get a set of configuration files that indicate where you've installed the software. The QNX_CONFIGURATION environment variable stores the location of the configuration files for the installed versions of Neutrino; on a self-hosted Neutrino machine, the default is /etc/qnx.

QWinCfg for Windows hosts

On Windows hosts, you'll find a configuration program called QWinCfg for switching between versions of QNX Momentics. You launch QWinCfg via the start menu (e.g. All Programs-->QNX Software Development Platform 6.5.0-->Configuration).

For details on using QWinCfg, see its entry in the Utilities Reference.

qconfig utility for non-Windows hosts

If you're using the command-line tools, use the qconfig utility to configure your machine to use a specific version of Neutrino:

Note: In the above command, you must use the “back tick” character (`), not the single quote character ('). The string that you pass to the -n option is the Installation Name field as printed by qconfig.

This command affects only the shell in which you ran qconfig. Other windows, for example, will be unaffected. To change environments in all your windows, you can run the command in your shell-initialization script or in your .profile. You can also define separate users who use different coexisting versions.

For more information, see the Compiling and Debugging chapter of the Neutrino Programmer's Guide.

Coexistence and the IDE

When you start the IDE, it uses your current qconfig choice as the default version of the OS; if you haven't chosen a version, the IDE chooses an entry from the directory identified by QNX_CONFIGURATION. If you want to override the IDE's choice, you can choose the appropriate build target. For more information, see the IDE Concepts chapter of the IDE User's Guide.

Running QNX Neutrino on a target machine

Neutrino is well suited to embedded systems. For information about creating OS images, downloading them to your target hardware, and running your software, see:

You don't always need to have the hardware to run your software; for more information, see Getting started before you have your target in the What is the QNX Software Development Platform? chapter in this guide.