Automotive Applications Will Benefit from the Latest Arm Development Tools
February 04, 2021
Story
Changes in the embedded space are continual. There is no disputing that.
The way code is generated and written, and even procured is quite different than in the recent past. System complexity, with the need for technologies like AI and heightened security, is growing quickly. And we are also seeing more autonomous machines and their inherent complexity, including high safety integrity. The result is that the code base is expanding. Today’s developers need to keep pace.
Arm is paving the way for powertrain, also known as vehicle and motion dynamics applications, as users can achieve better performance with the combination of Arm processors and tools, as well as the ecosystem partners.
The increase in system complexity has led to the use of a new breed of tools, namely model-based control development tools. Such tools can satisfy the need for more “mature” control systems to monitor and regulate the associated hardware.
C is Still the Language of Choice
C is still the most popular programming language for powertrain control systems, either hand-coded or auto-generated, due to the compiled code’s execution speed, as well as its wide compiler support. However, developers must take the proper precautions as it is possible to create code that runs properly with one tool chain and processor, but not on another.
The situation described here prompted the automotive industry to create a set of C language software development guidelines that hail from MISRA (Motor Industry Software Reliability Association). The goal of the guidelines is to force the use of a subset of C to maximize code safety, security, and portability.
Another trend is the use of the Eclipse platform as the basis of the integrated development environment (IDE) for a number of tools. This provides a commonality between the use of those tools, both from the user experience point of view as well as in how the different tools interact with each another.
One such tool for the developer's arsenal is Arm Development Studio, featuring the Arm Compiler. With these tools, developers can optimize code generated by a model-based design flow. Arm Development Studio is an embedded C/C++ development toolchain that accelerates system design and software development for Arm-based SoCs, specifically those based on Cortex-M, Cortex-R, and Cortex-A processors. Arm Development Studio covers the entire product lifecycle, from SoC architecture exploration to software integration and testing.
Arm Compiler provides early and accurate support for the latest architectural features and extensions of the Arm architecture. It’s essentially a toolchain that is tailored to the development of bare-metal software, firmware, and RTOS applications, which obviously includes automotive. In addition, it is qualified by TUV SUD for use in high integrity safety applications conforming to standards ISO 26262, IEC 61508, EN 50128, and IEC 62304.
Another Eclipse-based tool, ASCET-DEVELOPER, is an example of an auto-code generator that’s been used in the automotive space for more than two decades. The tool is popular with many automotive OEMs for both prototype and production of automotive powertrain and chassis software—even for highest safety demands. For an experienced C developer, it can be a very intuitive tool, with a close link between the schematic (or block) diagrams and the generated C code.
As shown, the ASCET-DEVELOPER block diagram, a state machine, and C code can all reside within the Eclipse window.
Adding Checks Along the Way
The block diagrams and state machines are being constantly translated into ESDL (Embedded Systems Description Language), allowing ASCET-DEVELOPER to check the diagram as it’s edited and before the build occurs. Once built, portable source code that conforms to the MISRA standard is generated. Migrating that MISRA C code from one microprocessor to another can be very straightforward if the proper tools are used.
Creating maximum safety integrity systems for ISO 26262 or IEC 61508 doesn’t require a complex process. Rather, it requires a clean process with good traceability from end to end. Combining the power, flexibility, and security of Arm microprocessors with Arm Development Studio and the ASIL-D qualified Arm Compiler suite results in a straightforward process. By offering an Eclipse-based IDE, developers now have the ability to leverage the various version management plug-ins and similarly available third-party tools.
To learn more about how to implement this technology, you may want to check out the on-demand webinar Model-Based Development Accelerated: Optimized Code Generation for Arm Devices and the related Developers’ Guide . The webinar discusses how ETAS and Arm collaborated to provide an easy flow for the development and migration of safety-relevant control applications conforming to the established industry standards. It also shows how users can achieve optimum runtime performance while simplifying the toolchain integration process.