Applications that require a high level of safety support like advanced driver assistance systems (ADASs) and self-driving cars typically require ISO 26262 or IEC 61508 functional safety certifications. This requires certified tools in addition to the creation and tracking of artifacts. The process is involved, so streamlining any aspect can reduce time-to-market and often overall costs.

Embedded World 2017 was host to a wide range of announcements, including many software tools that address this space. For example, Green Hills Software’s Compiler 2017 supports ISO 26262 ASIL D and IEC 61508 SIL 4 functional safety certification, along with the EN 50128 SWSIL 4 railway standard. It includes a host of new features including support for C++11, automatic or manual vectorization for 128-bit SIMD (Single Instruction, Multiple Data) ARM NEON instructions found on the ARM Cortex-A, as well as expanded support for Intel’s latest Streaming SIMD Extensions (SSE4).

Hypervisors are starting to be used in automotive applications. Lynx Software Technologies was demonstrating its LynxSecure separation kernel hypervisor for ARM Cortex-A platforms using a Xilinx UltraScale+ FPGA-enabled system-on-chip. LynxSecure have been used extensively in military and avionic platforms and hypervisors will also allow multiple automotive applications to be integrated onto a single chip.

Self-driving car

Image courtesy of Thinkstock

Compilers and hypervisors aren’t the only tools used for safety-critical applications. LDRA announced a variant of its LDRA Suite specifically tuned for automotive software quality development, verification, and ISO 26262 compliance. It provides increased transparency with lifecycle traceability, in addition to simplifying testing and test management. It is integrated with tools such as MathWorks Simulink, IBM Rational Rhapsody, IBM Rational DOORS Next Generation (NG), and Polarion ALM.

The suite has both static and dynamic code analysis, and the new Automotive Security Module does vulnerability analysis through data and control coupling analysis, in addition to supporting security standards compliance with MISRA, CERT C, and CWE. The LDRA tool suite has also been certified by TÜV SÜD and SGS-TÜV Saar for development of automotive applications under ISO 26262.

“Functional safety and security are key concerns for automotive developers, and are the primary reasons behind the ISO 26262 standard and advances in security standards development,” said Ian Hennell, operations director, LDRA. “Many customers struggle creating software for ISO 26262 compliance. They need to know what to test for and how to identify coding flaws and vulnerabilities early in the design cycle when they are more cost-effective to fix.

“The LDRA tool suite’s compliance management capabilities ensure that automotive embedded systems can be designed and brought to market faster with up to ASIL D assurance, where lives depend on quality,” Hennell added.

Sometimes the software tools are used to improve hardware, as well. Xilinx’s reVISION stack is design to streamline the use of machine learning and deep neural networks (DNN) applications. The stack is complementary to the Reconfigurable Acceleration Stack that targets Xilinx FPGAs in cloud servers. Both use Xilinx’s SDSoC support that runs on its Vivado development tool to provide a more module construction of FPGA designs.

Machine learning and deep neural networks (DNN) are becoming critical components in automotive applications, providing functions such as object recognition to ADAS and self-driving car systems. The reVISION system can take inputs from tools like Caffe that are used to develop machine learning algorithms to generate FPGA configurations, allowing software developers to bypass the more conventional logic design approach.

Automotive software development is changing significantly. Luckily, the tools are changing to match.