circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Issue 138 January 2002
EXPLORING QNX NEUTRINO


by Duane Mattern

Yes, QNX has been around for a while. But, that doesn’t mean it’s outdated nor that it isn’t a helpful solution to some of today’s real-time problems. Duane takes us step by step through everything from downloading the eval copy to displaying bootable images in real time.

Start Installation Tools Hardware Examples What's Missing? What You Get Sources & PDF

The QNX real-time operating system (RTOS) isn’t new. It’s been around since the early 1980s. When I first encountered QNX in ’87 I thought, "this is a lot better than Windows." Today, it’s still better than Windows for real-time applications. In addition, QNX has added a lot of GUI applications, making it competitive on the desktop.

Since September 2000, we’ve been able to download QNX real-time platform (RTP) for evaluation, prototyping, personal use, or other noncommercial purposes at no charge. And, since July 2001, RTP has included the x86 version of QNX Neutrino 6.1. Through-out the article, I will refer to these as QNX unless a distinction needs to be made.

What is QNX? QNX is a RTOS with a microkernel architecture. It supports MIPS, PowerPC, SH4, StrongArm, and x86 hardware. It is scalable from constrained embedded to multiprocessor platforms. The architecture provides multitasking, priority-driven preemptive scheduling, synchronization, and TCP/IP protocol. Utilities including PPP, DHCP, NFS, RPC, and SNMP are provided as well.

QNX has native message-based networking called Qnet. The Photon microGUI windowing system is a GUI with a small memory footprint. For GUI applications, there is also an integrated development environment called Photon Application Builder (PhAB), which reminds me of Visual Basic with drag-and-drop controls. And, don’t forget about the self-hosting capabilities that simplify development. QNX is not Unix but they have a lot in common. QNX even uses a version of the GNU GCC compiler.

For anyone who wants to do hard real-time work, QNX is a good place to start. If you’ve ever attempted to do real-time work under Windows, you know how difficult it can be to get deterministic timing. Windows CE is a possibility if you want to drop $2500 (US $) in a hurry for Platform Builder. For simple jobs, you can jump backward to MS-DOS, but then you start to have problems with software and hardware support.

Linux is a possibility for real-time applications, but you have to make a tough choice. Which real-time implementation of Linux do you want? There are many choices to evaluate. The list includes RTLinux from FSMLabs, Embedix from Lineo, Hard Hat from MontaVista, TimeSys, and others. [1] The different approaches to scheduling and the supported hardware complicate the choice. If you want to start quickly and for free with a proven RTOS, then QNX is a good candidate to explore.