Questions tagged [qnx]

QNX mainly known as a Real-Time Operating System that is both full-featured and robust, but can also scale down to meet the constrained resource requirements of realtime embedded systems. It features a UNIX like environment, microkernel based design and POSIX compliance. There are other software products that now carry the name QNX.

QNX is the name of a family of products focused on real time and safety critical embedded systems written by QNX Software Systems. It is most widely associated with the Real Time Operating Systems of the same name, but their portfolio has expanded to include development systems, middleware and services under the name QNX. Some examples include:

RIM own QNX Software Systems and their development tools, such as the QNX Momentics IDE (based on Eclipse) and qcc compiler (based on gcc), are provided as the Native Development Kit for the Blackberry Tablet. The Blackberry Tablet OS runs on top of the QNX Neutrino RTOS.

Software going under the name of QNX

RTOS

QNX is most famous for being the Real Time Operating System of which there are two versions: QNX RTOS v4 is an older product but is still used in many existing systems and still supported by the company. More recently QNX Neutrino RTOS (v6) was released. It is based on a microkernel architecture, modular design and message passing to make it robust and scalable.

HMI and Graphics

QNX Core Graphics provides underlying libraries that developers can target for hardware accelerated 2D and 3D rendering with little CPU overhead (based on OpenGL ES) or the need for screen/widget builder tools.

QNX Photon microGUI is a windowing system for small embedded HMIs providing the developer with a widget toolkit, callback based event handlers and remote graphical connections via Phindows.

Multimedia

QNX Aviage is a pair of frameworks for multimedia applications and acoustic processing. The multimedia suite allows you to create anything from simple media players to in-car entertainment systems. The acoustics processing suite focuses on improving voice communications (such as in-car telephony) and recognition.

Development Tools

QNX Momentics is the name of the development suite that QNX provides to target its RTOSes and libraries. It is based on Eclipse as the IDE and gcc as the toolchain, but there are many other tools included such as a system builder (for building and configuring your embedded system image), application/system profiler and memory analysis.

What kinds of questions should have this tag?

This tag should be applied to questions which are asking about programming for the QNX RTOSes, using the QNX development tools or are programming against the QNX libraries, middleware APIs or frameworks.

Questions about using the QNX development software to target the Blackberry Tablet OS Native development kit are suitable for this tag. Questions specifically about the Blackberry Tablet OS should probably not have this tag unless you are coding directly against the underlying QNX Neutrino RTOS APIs.

Important Links

495 questions
4
votes
1 answer

How do you call a function with the same symbol in 2 different shared libraries?

I have several versions of the same library written in C++. I need to compare them side-by-side. These libraries use the same namespace, function names and take the same parameters. Are there any methods to control which version of the library I use…
Some Noob Student
  • 14,186
  • 13
  • 65
  • 103
3
votes
2 answers

Looking for UTF8-aware formatting functions like printf(), etc

I discovered an interesting problem when processing UTF-8 strings containing non-ASCII chars with C standard library formatting functions like sprintf(): The functions of the printf() family are not aware of utf-8 and process everything based on…
mh.
  • 650
  • 4
  • 8
3
votes
1 answer

Access QNX Filesystem in Windows

I have a QNX partition in a CF card, running on a SBC. How do I access the filesystem in Windows, using something like an Explorer interface? The filesystem is in QNX Oberon. I've also had QNX Momentics IDE but that is no help as well.
freonix
  • 1,605
  • 3
  • 22
  • 35
3
votes
0 answers

Is it possible to compile for QNX?

did somebody tried to compile Rust code for QNX? I would love switching from C++ to Rust, but have to support QNX. Compiling for Linux (same architecture) and trying to link with QNX linker causes a lot of linking issues (not sure if this makes any…
flba
  • 379
  • 1
  • 11
3
votes
0 answers

QNX 6.5 - Repack ifs root stage 2 for MIB2

I have been working on a custom patch for my car with MIB2 unit for some time and would like to try my modified MIBRoot file. The command I used to repack everything is: mkxfs -t ifs -nn -o ./ -r / ./mkifs_attributes.txt ./ifs_extracted…
MaNuNiNjA
  • 31
  • 4
3
votes
0 answers

How to debug uncaught exception core dump in C++

The application I'm working on crashed on the client machine and I have the following callstack from the core dump: #0 SignalKill () at /MyBuildDir/lib/c/kercalls/aarch64/SignalKill.S:8 #1 0x0000000001041d2c in abort () at…
Mircea Ispas
  • 20,260
  • 32
  • 123
  • 211
3
votes
1 answer

QNX: Detect memory leak in program

For: QNX Software Development Platform 6.5.0 I have run into a problem on a QNX 6.5.0 system where my program silently exists, and has been found to be due to a race condition similar to this post here: Thread stops randomly in the middle of a while…
user12241860
3
votes
2 answers

How to get cmake generate -std=c++14 flag for qcc compiler

I'm trying to cross compile some c++ library for QNX neutrino using cmake. In CMakeLists.txt file I specified CMAKE_CXX_STANDARD 14 required, but the resulting compiler command line does not contain the -std=c++14 option. set(CMAKE_CXX_STANDARD…
joggerwolf
  • 59
  • 1
  • 6
3
votes
1 answer

std::mktime return -1 on QNX

C++11 Have a cross platform code with usage of std::mktime on Ununtu 18 (x64) and QNX (x64) On Ubuntu everything is ok. But on QNX mktime returns -1. errno = 3 What's wrong? #include #include "ctime" int main(int argc, char *argv[]){ …
Holiday
  • 31
  • 4
3
votes
1 answer

Make -j (multiple jobs) with number specified doesn't work in QNX

From various sources (like this) state that you can parallelise your build jobs with: make -j n where n is the number of jobs. In QNX 6.5.0 with GNU Make 3.81 I noticed that the number doesnt seem to work. If i call make -j (no number) a huge…
Fantastic Mr Fox
  • 32,495
  • 27
  • 95
  • 175
3
votes
3 answers

How to write a CanOpen stack?

I have a similar problem with this. How to program a simple CANopen layer . I read the answers but I have to program a CANopen layer on my own I cannot get a commercial one. So are there any basics of writing a CANopen stack (or layer I'm not…
İpek
  • 162
  • 1
  • 11
3
votes
3 answers

QNX c++ thread question

I have a question concerning this code which I want to run on QNX: class ConcreteThread : public Thread { public: ConcreteThread(int test) { testNumber = test; } void *start_routine() { for(int i = 0; i < 10;…
Toby
3
votes
1 answer

Debug QNX target using Ubuntu host and gdb

This is a question from an absolute beginner. I have a Ubuntu 14.04 host, gdb 7.7.1 installed on it and a project cross-compiled for qnx. I also have a qnx target, that I want to debug my app on. The instructions on the internet tell me to use…
Asalle
  • 1,239
  • 19
  • 41
3
votes
1 answer

Cross compile perl for QNX 6.6.0 armle v7

I'm trying to cross compile perl 5.24 using following method since the target machine does not have ssh installed. https://github.com/arsv/perl-cross Just for Fyi, my local machine is ubuntu x86_64 GNU/Linux. I configure the toolchain with the…
stack764
  • 43
  • 7
3
votes
0 answers

Memory mapping behaviour in QNX

I’m working on porting our text to speech code to work on QNX (6.6). One challenge is to keep RAM consumption as low as possible, as our high quality voices need access to around 200 Mbyte of data (stored in a single file). We hoped that we could…
Koen
  • 31
  • 1
1 2
3
32 33