4.2. QNX Platforms¶
The following table shows the currently supported QNX platforms.
OS |
Version |
CPU |
Network Stack |
Toolchain |
Architecture PIL |
Architecture PSL |
---|---|---|---|---|---|---|
QOS (QNX OS for Safety) |
2.2.1 |
ARMv8 (64-bit) |
OS Default: io-pkt |
qcc_gpp8.3.0 |
armv8leElfqcc8.3.0CERT |
armv8leElfqcc8.3.0CERT-QOS2.2.1 |
4.2.1. How the PIL was built for QNX platforms¶
This section describes how RTI built the Platform Independent Library (PIL) for QNX platforms.
The following table shows the compiler flags RTI used to create the PIL for QNX platforms:
Architecture PIL |
Library Format |
Compiler Flags Used by RTI |
---|---|---|
armv8leElfqcc8.3.0CERT |
Static Release |
-Vgcc/8.3.0,gcc_ntoaarch64le -std=c99 -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wlogical-op -Wdouble-promotion -DNDEBUG |
4.2.2. Building the PSL from source for QNX platforms¶
Refer to Building the PSL for instructions on how to build your own Platform Support Library (PSL) for QNX platforms.
4.2.3. Building QNX applications with Connext Cert¶
This section describes how RTI built the Platform Support Library (PSL) for QNX platforms. You must build applications with the same flags as the PSL in order to operate with Connext Cert. The PSL must also be binary compatible with the PIL.
The following table shows the compiler flags and required options that RTI used to build the PSL for QNX platforms. The PSL always requires the same compiler flags as the corresponding PIL, plus additional flags; the table below shows all these required flags.
When you build the PSL with rtime-make
, the --target
argument
automatically adds all the necessary flags for the specified architecture.
Architecture PSL |
Library Format |
Compiler Flags Used by RTI |
---|---|---|
armv8leElfqcc8.3.0CERT-QOS2.2.1 |
Static Release |
-Vgcc/8.3.0,gcc_ntoaarch64le -std=c99 -Winit-self -fstrict-aliasing -Wmissing-declarations -Wall -Wextra -Wpedantic -Wshadow -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wlogical-op -Wdouble-promotion -DNDEBUG -DRTI_CERT -DRTI_PSL -DOSAPI_CC_DEF_H=<name file with compiler definitions> -DRTI_LITTLE_ENDIAN -DNDEBUG -I<install directory>/rti_me_cert.1.0/include/rti_me |
4.2.4. Allocating QNX resources¶
The following table outlines the type and amount of typical OS resources used by different entities and objects, allocated from the PSL:
Entity |
mutex |
semaphore |
timer |
---|---|---|---|
DDS_DomainParticipantFactory |
3 |
0 |
0 |
DDS_DomainParticipant |
2 |
0 |
1 |
DDS_DataReader |
1 |
0 |
0 |
DDS_DataWriter |
1 |
0 |
0 |
DDS_Publisher |
1 |
0 |
0 |
DDS_Subscriber |
1 |
0 |
0 |
DDS_WaitSet |
3 |
2 |
0 |
DDS_GuardCondition |
1 |
0 |
0 |