Choosing a Compiler for Automotive Applications

Mark Forbes
|  Created: April 21, 2017  |  Updated: December 17, 2020

Figure 1:  The “car of the future” isn’t that far in the future!
 

Compiler Capabilities for Automotive Applications

Compiler capabilities are not equal across offerings in the automotive industry. Some compilers are built on Open Source compilers. At first glance, these look capable and inexpensive. However, those two words seldom go together in the same sentence, and certainly not here. While they are inexpensive, they have some major disadvantages that can cause you a lot of headaches when you’re developing source code for your actual product:

  • The compiler is not under the control of the reseller; bugs may propagate and proliferate

  • Open-source compilers are often not aware of hardware; they may not be able to take advantage of all the performance and safety your hardware offers

  • Custom compilers generally yield better code; it’s faster and it’s more compact.

If you are looking at a compiler that does not offer code optimization, you could also be shortchanging yourself in the long run. Code optimization lets you instruct the compiler to look for ways to simplify the code and compact the size as well as make the code run faster. Plus, some offer code-acceleration by having specific assembly instructions to allow you to include a function that C/C++ doesn’t offer.

A capable compiler should also allow for easy debugging — nobody writes perfect code!  Some compilers require painful setup that often takes longer to do than actually run the debugger. You need a compiler that provides quick and easy setup and hook-up with the debugger you choose.

Safety

In the automotive industry, there is nothing more critical than safety. Products are already in production that take-on several safe driving function such as following distance, emergency braking, and lane departure. Cars will soon incorporate more autonomous driving features and receive software updates over-the-air. All this means the hardware and software must meet safety standards.

There are many standards that must be adhered to and safety requirements that must be met. It starts with the hardware. Most hardware offers safety functions onboard the chip. That functionality ensures safety of the final product.

However, if your compiler is not aware of these safety features you are at best stuck writing assembly code; at worst, you may not be able to make the hardware function properly.

Another factor to consider is certification of the compiler. ASPICE certified software development tools can help you correct errors earlier, which reduces product development

costs, sometimes significantly.

Figure 2:  Quality hardware coupled with top-end software development tools yields fast, efficient code.

Make the Right Choice

It’s really imperative to select a compiler that is tightly coupled to the hardware so that all safety and performance features can be exploited. When considering vectorization, source code, programming language, code size, object file and runtime, making the right choice is extremely important.

Learn more about selecting a compiler and embedded software development tools, get expert advice on DevTools for TriCore Apps.

About Author

About Author

Mark Forbes is Director of Product and Persona Marketing at Altium.  He has been involved with marketing PCB design software for the last 11 years. He has also worked in the semiconductor space, networks, embedded software design, and was editor of an electronics trade magazine.

Mark earned a BS in Electrical Engineering from Bradley University and did MBA work at the University of Santa Clara. He has two patents and has written more than 130 technical and business articles as well as three books, including a digital electronics textbook. In his spare time, Mark enjoys photography, hiking, fishing and travelling.

Related Resources

Back to Home
Thank you, you are now subscribed to updates.