Choosing a Compiler for Automotive Applications

Mark Forbes
|  已创建:April 21, 2017  |  已更新: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.

关于作者

关于作者

<p>Mark Forbes是Altium的产品和形象营销总监。在过去的11年里,他一直从事PCB设计软件的营销工作。他还曾在半导体领域、网络、嵌入式软件设计领域工作,并且是一家电子行业杂志的编辑。</p>

<p>Mark获得布拉德利大学(Bradley University)电气工程学士学位,并在圣克拉拉大学(University of Santa Clara)攻读MBA学位。他手握两项专利,并撰写了130多篇技术和商业文章以及三本书,其中包括一本数字电子教科书。在业余时间,Mark喜欢摄影、远足、钓鱼和旅行。</p>

相关资源

返回主页
Thank you, you are now subscribed to updates.