Choosing a Compiler for Automotive Applications

April 21, 2017

Auto apps rely on DevTools for TriCore Apps

Choosing a compiler for automotive applications can be difficult. Choosing the wrong compiler can lead to a lot of pain and frustration. It could also lead to your product not working or not being able to meet safety certification. Sounds dire? It needn’t be so.
 

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 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 functions 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 functions 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.

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

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.

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

most recent articles

Back to Home