Freescale's Technology Forum (FTF) had plenty of hardware announcements including the Cortex-M0-based Kinetis L (see Suppliers Deliver Low-Cost 32-Bit Arm Architecture), the new Vybrid VF series (see Asymmetrical Multicore SoC Services Automotive Applications) and its QorIQ quad core P5040 (see Multiprocessor Hits High Performance Control Plane) but there were a number of automotive software related announcements from Freescale and its partners. Many included support for Linux platforms like those defined by the Genivi Alliance.
Green Hills Softare was highlighting its new Platform for Automotive Digital Instruments based on their Integrity Multivisor RTOS (Fig. 1). The Integrity kernel is IEC 61508 (SIL3) certified and ISO 26262 ASIL D compliant. It can support a range of client virtual machines including popular automotive platforms like OSEK, Genivi and Android.
Integrity support native 3D graphics that are key to automotive instrumentation these days. The Multivisor supports Asymmetric Multiprocessing (AMP) allowing guest operating systems to be bound to specific cores in addition to supporting Symmetric Multiprocessing (SMP) with more dynamic distribution of operating systems. It runs on Freescale's Arm platforms like the i.MX6x multicore SoC (see CES 2011 Micros) as well as its Power-based multi core platforms like the triple core MPC5746M (see Three Core Micro Pushes Powertrain Performance).
Green Hills' RTOS is complemented by its Multi IDE with support for MISRA C/C++. Multi provides access to Green Hills' DoubleCheck static analysis tool. Automotive applications definitely do not work well with null pointer errors or using memory that has already been deallocated.
Freescale's SafeAssure Functional Safety Program targets automotive and industrial environments requiring safety compliance certification (Fig. 2). This includes Automotive Safety Integrity Levels (ASIL) up to and including ASIL D. Automotive applications requiring this level of safety include vehicle dynamic and chassis control, power steering, stability control, safety domain control, adaptive cruise control and blind spot detection.
Of course, the program targets Freescale's processors like the Power-based Qorivva MPC574xP line. It also includes Freescale's wide range of sensors.
QNX is known for its Neutrino RTOS technology. It is the basis for its QNX Car platform that shipped on most automotive infotainment systems in 2011. QNX Car 2 runs on platforms like Freescale's i.MX6 (Fig. 3).
QNX Car 2 is based on HTML5 human-machine interface (HMI) technology (see Understanding HTML5). HTML5 is capable of providing a flexible, hands-free operational environment. QNX Car 2 uses a modular approach allowing developers to include only those blocks necessary to support their application. QNX was showing off their technology on a customized Jeep Wrangler Sahara including a reconfigurable instrument cluster interface. There was even an integrated tablet-based rear-seat entertainment interface.
Mentor Graphics released a GENIVI 2.0-compliant, Linux-based In-Vehicle Infotainment (IVI) solution (Fig. 4). Mentor Embedded's platform supports Freescale's Sabre and SabreLite IVI solutions and is based on Mentor Embedded Linux.
The HMI interface for Mentor Embedded In-Vehicle Infotainment is based on Mentor's Inflexion graphical user interface (see New Graphics For Nucleus). Mentor's System Builder provides a mechanism for selecting and configuring modules including graphics support. It provides preconfigured kernels for various hardware. System Builder handles license flagging and binary-to-source matching contained in the software bill-of-materials. This helps developers address open and closed source compliance issues.
System Builder is compatible with OpenEmbedded (OE) project. OE is an industry standard cross-compile environment. It runs on any Linux distribution and cross-compiles a wide range of packages including GTK+, Qt, and X Windows using bitbake recipes.
System Builder can generate an Application Developer Kit (ADK). The ADK works from the command line or be imported into Mentor's EDGE IDE. This allows a custom development environment to be created and delivered to all developers within a project.