Choosing a Compiler for Automotive Applications
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.
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.
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.