This chapter includes:
The Neutrino Programmer's Guide is intended for developers who are building applications that will run under the QNX Neutrino Realtime Operating System.
Depending on the nature of your application and target platform, you may also need to refer to Building Embedded Systems. If you're using the Integrated Development Environment, see the IDE User's Guide. For a different perspective on programming in Neutrino, see Getting Started with QNX Neutrino: A Guide for Realtime Programmers. |
This table may help you find what you need in the Programmer's Guide:
When you want to: | Go to: |
---|---|
Get started with a “Hello, world!” program | Compiling and Debugging |
Get an overview of the Neutrino process model and scheduling methods | Programming Overview |
Create and terminate processes | Processes |
Understand the inaccuracies in times | Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time |
Use native networking | Transparent Distributed Processing Using Qnet |
Learn about ISRs in Neutrino | Writing an Interrupt Handler |
Analyze and detect problems related to dynamic memory management | Heap Analysis: Making Memory Errors a Thing of the Past |
Deal with non-x86 issues (e.g. big-endian vs little-endian) | Freedom from Hardware and Platform Dependencies |
Understand our Makefile methodology | Conventions for Recursive Makefiles and Directories |
Learn how to use the GDB debugger | Using GDB |
Find out about using memory on ARM targets | ARM Memory Management |
Find out about advanced Qnet topics | Advanced Qnet Topics |
Look up terms used in the Neutrino documentation | Glossary |
We assume that you've already installed Neutrino and that you're familiar with its architecture. For a detailed overview, see the System Architecture manual. |
For the most part, the information that's documented in the Programmer's Guide is specific to QNX. For more general information, we recommend the following books:
Threads:
TCP/IP programming (note that some of the advanced API features mentioned in the following books might not be supported):
Throughout this manual, we use certain typographical conventions to distinguish technical terms. In general, the conventions we use conform to those found in IEEE POSIX publications. The following table summarizes our conventions:
Reference | Example |
---|---|
Code examples | if( stream == NULL ) |
Command options | -lR |
Commands | make |
Environment variables | PATH |
File and pathnames | /dev/null |
Function names | exit() |
Keyboard chords | Ctrl-Alt-Delete |
Keyboard input | something you type |
Keyboard keys | Enter |
Program output | login: |
Programming constants | NULL |
Programming data types | unsigned short |
Programming literals | 0xFF, "message string" |
Variable names | stdin |
User-interface components | Cancel |
We use an arrow (→) in directions for accessing menu items, like this:
You'll find the Other... menu item under.
We use notes, cautions, and warnings to highlight important messages:
Notes point out something important or useful. |
Cautions tell you about commands or procedures that may have unwanted or undesirable side effects. |
Warnings tell you about commands or procedures that could be dangerous to your files, your hardware, or even yourself. |
In our documentation, we use a forward slash (/) as a delimiter in all pathnames, including those pointing to Windows files.
We also generally follow POSIX/UNIX filesystem conventions.
At the top and bottom of our HTML docs, you'll see some or all of these buttons:
Use this button: | To move: |
---|---|
To the previous part of the document. | |
“Up” in the document:
|
|
To the keyword index. | |
To the next part of the document. |
To obtain technical support for any QNX product, visit the Support + Services area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
Copyright © 2000–2009, QNX Software Systems GmbH & Co. KG. All rights reserved.