QNX® Software Development Platform

Updated: April 19, 2023

The tables below will help you find your way around the documentation for the QNX Software Development Platform. Here you'll find a comprehensive library of titles to help you understand the OS and its tools so you can develop and deploy superior realtime embedded systems. If you're new to the QNX Neutrino® OS, you should start with the Quickstart Guide and System Architecture; if you've used an earlier version of QNX SDP, see Migrating to QNX SDP 7.1.

Quickstart

Document Description
Quickstart Guide A short tutorial that helps you install and configure the QNX Software Development Platform, and then develop a simple application in the IDE and run it on the QNX Neutrino RTOS.

OS Components

Document Description
Adaptive Partitioning User's Guide Describes how to use adaptive partitioning to control the allocation of resources among competing processes.
Boot Optimization Guide Describes optimization techniques to minimize the startup time of your system
Building Embedded Systems Tells you how to get the OS running on your target embedded system, write an IPL, customize a startup program, etc.
Core Networking Stack User's Guide Describes how to use io-pkt-* for networking on QNX Neutrino.
Customizing a BSP Provides guidance on modifying a reference board BSP to work with a custom board.
Device Publishers Developer's Guide Provides a reference of all PPS objects written by device publishers and lists the command options you can set for publishers.
High Availability Framework Developer's Guide How to build robust high-availability software running on the QNX Neutrino realtime operating system.
High-Performance Networking Stack (io-sock) User's Guide Implement the QNX Neutrino High-Performance Networking Stack and its manager, io-sock.
Instant Device Activation How to set up a “minidriver” to start devices quickly when the system boots.
Migrating to QNX SDP 7.1 Describes how to adapt your programs, buildfiles, and so on if you're moving from QNX SDP 7.0 to QNX SDP 7.1.
PCI Server User's Guide Describes how to use the PCI server to attach and configure PCI devices.
Persistent Publish/Subscribe Developer's Guide Describes the QNX Persistent Publish/Subscribe service and its API.
Platform-independent Publish Subscribe Developer's Guide Describes the QNX Platform-independent Publish Subscribe (PiPS) framework and its API.
QDB Developer's Guide Explains how to set up, configure, and use the QNX database (QDB).
QNX Helpers Developer's Guide Describes how to use QNX helper functions, which include helpers that assist with logging, string conversion, and number and type sizes.
SMMUMAN User's Guide Describes the QNX System Memory Management Unit Manager (SMMUMAN), a system memory management unit (IOMMU/SMMU) manager that runs on the ARM and x86 architectures.
System Analysis Toolkit (SAT) User's Guide Describes how you can use the instrumented microkernel to perform a detailed analysis of what's happening in an entire QNX Neutrino system.
System Architecture Describes the philosophy and architecture of the microkernel, resource managers, processes, threads, message-passing services, and more.
Technotes Deals with a series of topics, often platform-specific, that aren't covered in the basic docset.
User's Guide Explains how to use the QNX Neutrino runtime environment and perform system-administration tasks.

Audio & Graphics API

Document Description
Audio Developer's Guide Describes the audio drivers and API for developers who wish to write audio applications.
Gestures Library Reference How to determine what sort of gestures someone is using to interact with an application.
Image Library Reference How to write applications that render images using the libimg library.
Input Events Library Reference How to receive and process events from input devices.
OpenWF Display Configuration Developer's Guide Explains how to modify and build the Wfdcfg library for your display hardware.
Screen Graphics Subsystem Developer's Guide Brings together modern graphics, multimedia, and user interface (UI) technologies and provides a platform for applications built with HTML5, Elektrobit GUIDE, Crank Storyboard, Qt and native (e.g., OpenGL ES) code.
Video Capture Developer's Guide Explains how to use the video capture framework to capture frames from a video input source.

Multimedia

Document Description
Adding Multimedia to Target Images Describes the buildfile content needed to add multimedia support to a target image.
Multimedia Renderer Developer's Guide Explains how to write multimedia applications that use the mm-renderer service to control playback.
Multimedia Streaming Server Reference Describes the JSON configuration and C API of the mm-stream server, which delivers media content over IP networks.
Multimedia Test Utilities Guide Describes how to use the multimedia test utilities to prototype, test, and debug media applications.
QNX Additions to OpenMAX AL Provides a reference of the QNX-extended OpenMAX AL API, which supports media format conversion, playback, and recording.

Networking Middleware

CAUTION:
We've deprecated the Networking Middleware services in this release and might remove them in a future release. For information about continuing to use these services, contact QNX customer support.
Document Description
Networking Middleware Architecture Guide Explains how the Network Manager, Wi-Fi Manager, and Tether Manager services fit into the QNX SDP architecture.
Networking Middleware C API Reference Provides a full reference to the C API of the Network Manager and Wi-Fi Manager services.
Networking Middleware Services Reference Provides command-line references for the Networking Middleware and QNX Neutrino services that support wireless networking.

Programming

Document Description
Getting Started with QNX Neutrino This book, by Rob Krten and updated by BlackBerry QNX, will help you design and develop robust realtime systems—from tiny embedded control applications to large network-distributed systems—using the QNX Neutrino RTOS.
Programmer's Guide Tells you how to get started writing programs, including interrupt handlers, etc.
The QNX Neutrino Cookbook: Recipes for Programmers Provides small, well-defined pieces of code that you can modify and incorporate in your system.
Writing a Resource Manager Explains how to write a resource manager, a process that registers a name in the filesystem name space, which other processes then use to communicate with the resource manager.

Sensor Framework

Document Description
Architecture Gives an overview of the software architecture for the Sensor Framework.
Getting Started Explains what's available in this Sensor Framework release, how to use the reference images we provide, and what you need to install.
Sensor Framework Libraries Describes the libraries available in the Sensor Framework to build applications that use sensors and cameras.
Sensor Framework Services Describes the purpose, configuration, and execution (when applicable) of each service provided in the Sensor Framework.

System Security

Document Description
System Security Guide A guide to QNX Neutrino security features, including a list of security problems and the features used to mitigate them and information to help system designers and software developers factor security elements into their designs.

Utilities & Libraries

Document Description
Addon Interfaces Library Reference How to create addons that dynamically add functionality to applications.
C Library Reference Describes the QNX Neutrino C library functions, including POSIX threads, kernel calls, resource manager functions, etc.
Devctl and Ioctl Commands Describes the device- and I/O-control commands that you can use with devctl() and ioctl().
JSON Library Reference Provides a reference of the JSON library API, which lets applications encode and decode JSON data.
PAM Reference Describes the set of configurable and pluggable authentication modules that are included as part of the QNX Neutrino RTOS.
Utilities Reference Describes the QNX Neutrino utilities and manager processes.
WPA Control Interface Reference Describes the WPA control interface, including all API functions, command requests, and events
Note: Your system might not include all of the utilities, managers, and configuration files that these documents describe, depending on what software you've installed. For example, some utilities are included in a specific Board Support Package (BSP).

Technical support options

For information about technical support for any QNX product, go to the Support area on our website: https://blackberry.qnx.com/en/support. You'll find a range of support options.

Typographical conventions

For typographical conventions used in our documentation, please see conventions.