feature article
Subscribe Now

TLAs: QNX, RIM, ARM, CES, RPM, and MPH

An RTOS for the Automotively Inclined

I’ve got a new idea for data compression. Let’s just remove all the vowels from the English language! Sure, it may look like Welsh when we’re done, but just think of all the space we’d save.

That thought occurred to me during a good, long talk with the nice folks at QNX. You remember QNX: the embedded real-time operating system (RTOS) made by the company of the same name based in Ottawa, Canada. QNX employs about 800 people, so this is not a small startup. Indeed, QNX is probably one of the larger and more successful RTOS companies out there. So successful, in fact, that Research In Motion (the BlackBerry company) acquired the firm a few years ago. QNX has been operating under the RIM umbrella ever since.

To say that has been a mixed blessing would be generous. Back in 2010, the year RIM acquired QNX, things were looking pretty rosy for both Canadian companies. Since that time, BlackBerrys just haven’t been selling the way they used to and RIM’s fortunes have headed south. Though that’s obviously no fault of QNX, the software firm can’t help but catch the splash damage from its proprietor’s bad press. QNX’s new parent turned out to be less rich uncle and more ailing elder.

Nevertheless, QNX itself has been doing just fine, thank you very much. The microkernel-based RTOS can be found in hundreds of completely different and unrelated applications, as with most embedded operating systems. But QNX is particularly popular in automotive systems. At last count, QNX appears in more than 20 million vehicles scattered across 200+ different car models.

You’ll almost always find QNX behind the dashboard. That is, it powers the telematics and infotainment, not the drivetrain. That suits the QNX’ers just fine and, in fact, plays to QNX’s strengths. The company has always been proud of two things: the RTOS’s modularity and its user interfaces. It’s that human-machine interface (HMI) that attracts automakers to QNX. They generally aren’t interested in developing new GUIs from scratch, so they favor an RTOS that has HMI building blocks already installed. On the other hand, those same automakers also like to customize their GUI so that a Chevy OnStar doesn’t look like Hyundai’s BlueLink or Chrysler’s MyGig. QNX makes it easy to “reskin” the user interface to provide brand-specific look and feel.

Lately that work has gotten tougher. The Canadian coders firmly believe that HTML5 is the wave of the future, and they’re spending a good bit of effort to consolidate their GUI and HMI tools around that standard. As most Web developers will tell you, HTML5 provides most of the bells and whistles and levers and gears you need to develop a nicely featured user interface; kind of like Flash without the virus vectors or Apple antagonism. The trouble is that, like Flash, HTML5 is not easy to run on a lightweight embedded system. The QNX operating system itself is very small, light, and modular. HTML5, not so much.

Some of this effort takes the form of acquisition: QNX acquired Torch Mobile awhile back, a company that was focused on HTML for, well, mobile devices. The Ottawans have also spent considerable effort optimizing their code for various embedded graphics processors (think Mali or PowerVR), which is no mean feat. Programming a GPU can be tough; there’s even more variation between GPU architectures than there is between different CPUs. Although QNX runs on just about any popular CPU architecture you can name, that turned out to be the easy part. Supporting today’s elaborate GPUs is turning out to be a real challenge, but one that pays off in improved GUI performance and user experience.

And sometimes the demos can be fun. At this year’s CES, QNX showed off a Porsche with an “ultra HD” hands-free cell connection. The car’s audio was tuned specifically for the cabin to produce remarkably natural and realistic voices coming from a remote caller. Instead of the tinny voices we associate with cellphones, this one sounded rich and full-spectrum. It was even in stereo. This is one area where the company’s affiliation with RIM comes in handy. The BlackBerry guys definitely know how to handle voice processing over cellular connections.

At another show, a QNX-equipped Jeep automatically posted Facebook updates as its titular driver changed tracks on the in-dash MP3 player, all operated by voice command. (I’m not entirely sure I’d want to know what every Facebook user is listening to as they drive, but it makes an interesting demo nonetheless.)

On the subject of silicon, QNX is officially processor-agnostic, but….  Like most software companies, they don’t promote one CPU family over another. The customer is free to choose whatever CPU they want, and QNX will happily supply the appropriate binaries. Yet, over time, they’ve noticed a distinct increase in ARM-related requests, at the expense of other CPU families. Automotive customers, as well as those in more traditional embedded and industrial areas, have slowly but surely started shifting to ARM-based processors. Again, QNX is neutral in all this, but the company does admit that having one dominant architecture does make life easier for them. There are fewer development tools to support, less cross-platform development, less effort spent in porting, and so on. Ideally, the whole world would standardize on a single CPU and QNX could focus on that one alone. We may not be there yet, but we’re headed that way, and that suits QNX just fine.

At the rate QNX is going, it just might become one of the most ubiquitous, yet invisible, operating systems in the world. Whereas iOS- and Android-based gadgets are usually obvious (sometimes annoyingly so), and you can spot a Windows or MacOS box from forty paces, QNX is always hidden: a truly embedded operating system. Even its visible face, its GUI, is reshaped behind client-specific customization. When you see someone’s shiny new 2013 model roll off the showroom floor, you can point and say, “There goes the new QNX!”

Leave a Reply

featured blogs
Dec 19, 2024
Explore Concurrent Multiprotocol and examine the distinctions between CMP single channel, CMP with concurrent listening, and CMP with BLE Dynamic Multiprotocol....
Dec 20, 2024
Do you think the proton is formed from three quarks? Think again. It may be made from five, two of which are heavier than the proton itself!...

Libby's Lab

Libby's Lab - Scopes Out Littelfuse's SRP1 Solid State Relays

Sponsored by Mouser Electronics and Littelfuse

In this episode of Libby's Lab, Libby and Demo investigate quiet, reliable SRP1 solid state relays from Littelfuse availavble on Mouser.com. These multi-purpose relays give engineers a reliable, high-endurance alternative to mechanical relays that provide silent operation and superior uptime.

Click here for more information about Littelfuse SRP1 High-Endurance Solid-State Relays

featured chalk talk

Versatile S32G3 Processors for Automotive and Beyond
In this episode of Chalk Talk, Amelia Dalton and Brian Carlson from NXP investigate NXP’s S32G3 vehicle network processors that combine ASIL D safety, hardware security, high-performance real-time and application processing and network acceleration. They explore how these processors support many vehicle needs simultaneously, the specific benefits they bring to autonomous drive and ADAS applications, and how you can get started developing with these processors today.
Jul 24, 2024
91,826 views