This is documentation for the old, first-generation Kaa platform v0.x.
Next generation Kaa Enterprise IoT platform is now available! Try it free with a 30-days trial.
Kaa Enterprise documentation is here.
. . .

QNX Neutrino RTOS

The guide explains how to cross-compile Kaa C SDK for QNX Neutrino RTOS 6.6 and create Kaa applications.

NOTE: This guide is verified against:

  • Target OS: QNX Neutrino RTOS 6.6.


Prior to building Kaa C SDK, install QNX Software Development Platform (SDP). To do this:

  1. Register as a developer and download the following components:
  2. Install SDP.

    NOTE: It is recommended that you install SDP in the default directory (/opt/qnx660 for Linux platforms).

  3. Install Applypatch and Header Files Patch.

Configure build environment

To configure your build environment:

  1. Install build dependencies.

    sudo apt-get install cmake build-essential
  2. Set the path to the root directory of SDP.

    export QNX_SDK_HOME="<path_to_qnx_sdk_home>"

    Default value: /opt/qnx660

  3. Set the target architecture.

    export QNX_TARGET_ARCH=<architecture>

    Supported architectures:

    • gcc_ntoarmv7le_cpp-ne
    • gcc_ntox86_cpp-ne
    • gcc_ntox86_gpp
    • gcc_ntoarmv7le
    • gcc_ntox86
    • gcc_ntoarmv7le_cpp
    • gcc_ntoarmv7le_gpp
    • gcc_ntox86_cpp

    Default value: gcc_ntox86

  4. Set paths to host and target SDP files.

    export QNX_HOST="$QNX_SDK_HOME/host/linux/x86"
    export QNX_TARGET="$QNX_SDK_HOME/target/qnx6"
    export PATH="$QNX_HOST/usr/bin:$PATH"

Build Kaa application

Since QNX is a POSIX-compliant system, you can use the Linux guide to build and run your application.

NOTE: During CMake configuration and building step, make sure to use proper CMake toolchain.

Kaa C SDK provides the toolchain file for QNX as shown below.

mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/qnx.cmake -DBUILD_TESTING=OFF ..

Exporting application

If you have SSH enabled, you can use it on a QNX-running device to transfer your application.

scp <app_name> <user>@<ip_of_target_machine>:<app_name>