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
3
votes
1 answer

Cannot find ldl lnsl lpthread lrt when buildling?

I am trying to build the RTI perftest in an i86 QNX architecture. When I try to build the makefile that I generated, I get the following: Checking directory obj/i86QNX6.6qcc_cpp4.7.3/Release Checking directory…
Joe P
  • 33
  • 3
3
votes
1 answer

How to get process memory on qnx

I would like to get the process memory on qnx. On a shell,I can get the result using the command showmem -P pid. In c I open a pipe for the command but then I would like to parse the output of the command but I don't know how is it done. int…
Bionix1441
  • 2,135
  • 1
  • 30
  • 65
3
votes
2 answers

std::call_once lazy initialization issue on QNX

My code is periodically crashing on QNX. It crashes with error error reading variable: Cannot access memory at address 0x85dd6ac) while trying to access std::map member variable of 0x85dd6ac object, which is lazy initialized using…
incognito
  • 457
  • 5
  • 19
3
votes
1 answer

How to differentiate between system calls and normal function calls

I am working on project which is trying to migrate some legacy application running on QNX neutrino operating system to other open source RTOS based on linux. I have listed all the third party library and device drivers which must be ported and now…
noname
  • 179
  • 1
  • 4
3
votes
4 answers

Is the epoch of steady_clock relative to when the operating system starts? or to the process itself?

Using boost::chrono::steady_clock or std::chrono::steady_clock is suppose to guarantee that physical time is always monotonic and is not affected by date time changes in the system. Here is my question, if I have two processes that need to be immune…
Darien Pardinas
  • 5,910
  • 1
  • 41
  • 48
3
votes
1 answer

Get the PID of a remote SSH Session [QNX]?

So I have been scratching my head trying to figure this one out, and I'm a little stuck. I'm using Python's subprocess module and Popen to open a PuTTY session, (using plink.exe), and connect to a remote host. This means I have access to the session…
3
votes
2 answers

auto_ptr not working as expected - Compile error

MASSIVE EDIT: Following juanchopanza advice, I managed to get this minimal example: #include struct a{ int b; }; int main() { typedef std::auto_ptr ArgAutoPtr; ArgAutoPtr floatingArg; floatingArg = ArgAutoPtr( new a…
ArthurChamz
  • 2,039
  • 14
  • 25
3
votes
2 answers

Is the RT Linux kernel monolithic or a micro-kernel (like QNX)?

I am studying some documents regarding RT linux and qnx and confused about monolithic and microkernel.Some papers are telling that RT linux is monolithic and some are saying that microkernel. I am worried which is right ?? could you please some one…
user3370738
  • 59
  • 1
  • 5
3
votes
1 answer

Qt/Qml for two different displays on QNX platform

I am trying to create Qt application rendering to two displays. QNX is already configured, for 2 displays. We created two windows, but how do we tell Qt to render a window to the second display? Here is my code snippet QGuiApplication app(argc,…
3
votes
1 answer

boost-libs failed to be built

During source installation of boost-libs (link to cvs repo), I get the following at the very end of long output of bmake (make that's used in the package manager pkgsrc that I use) and build seems to fail: ...skipped…
IsaacS
  • 3,551
  • 6
  • 39
  • 61
3
votes
2 answers

Getting the list of running user process in QNX

I am running some daemon user processes as well as some Xlet GUI apps in a QNX operating system.I connect to the QNX console using TeraTerm.I need to get the list of running user apps/process inorder to see which user apps are already running in the…
Tito
  • 8,894
  • 12
  • 52
  • 86
3
votes
1 answer

BB10 how to generate config.pri file

Is there a script or a tool to generate the config.pri file for a BB10 project? Momentics IDE does it for you automatically whenever a project is refreshed or the directory is changed. Unfortunately, I am deploying and compiling via command line…
2
votes
1 answer

Porting Qwt library to playbook

I am new to Qt, cross compiling and porting so please bear with me. My goal is to use the Qwt library on Playbook OS for a Qt based application. I found a nice tutorial on Qt for Blackberry Playbook and I managed to get a simple Qt "Hello World"…
unexplored
  • 1,414
  • 3
  • 18
  • 37
2
votes
1 answer

Halt gdb on thread switching

Is there any way I can make gdb halt every time when the pthread being executed changes? Say I have two POSIX threads (thread A and thread B) running and I want gdb to halt when thread A is being suspended and thread B continues execution (and the…
MBober
  • 1,095
  • 9
  • 25
2
votes
1 answer

How do I set a UDP socket to non-blocking in QNX

I'm coding a UDP datagram receiver in C++ on the QNX operating system and I want to perform non-blocking recvfrom() calls. The QNX man page on recvfrom() suggests that I somehow can put a socket in a non-blocking mode using ioctl(). Unfortunately,…
MBober
  • 1,095
  • 9
  • 25