車載アプリケーション用コンパイラの選択

図1: 「未来の自動車」は、それほど先のことではない!

 
 

車載アプリケーション用のコンパイラ機能

コンパイラ機能に求められることは、自動車業界の製品によって異なります。一部のコンパイラは、オープンソースのコンパイラがベースとなっています。一見すると、これらは有能で安価に見えます。しかし、「有能」と「安価」は、両立する場合がほとんどなく、ここでも同様です。安価ではあるが、大きな欠点がいくつかあり、実際の製品のコードを開発するときには,以下のような頭痛の種がたくさん出てくる可能性があります。

  • コンパイラが、再販業者の管理下にない。バグが蔓延、増殖する可能性がある
  • オープンソースのコンパイラは、しばしばハードウェアを意識していない。ハードウェアが提供するパフォーマンスや安全性を全て利用できない場合がある。
  • 一般に、カスタムコンパイラの生成するコードの方が優れている。より速くサイズが小さい。

 

コード最適化を行わないコンパイラを検討している場合、結局は自分をごまかすことにもなりかねません。コード最適化では、コードを単純に、サイズを小さくし、実行を速くする方法を探すようコンパイラに指示できます。また、一部のコンパイラは、独自のアセンブリ命令を使って、C/C++にない関数をインクルードすることによって、コードのアクセラレーションも行います。

 

優れたコンパイラは、デバッグが簡単にできることも必要です。完璧なコードを書く人間はいません! 一部のコンパイラは、実際にデバッガーを実行するよりも、しばしば時間がかかる、骨の折れるセットアップを必要とします。セットアップが素早く簡単にでき、選択したデバッガと連携できるコンパイラが必要です。

安全性

自動車業界では、安全性より重要なものはありません。車間距離、緊急ブレーキ、車線逸脱など、安全運転機能を搭載した製品が、既に生産されています。間もなく車は、自動運転機能を搭載し、無線でソフトウェア更新データを受信するようになります。つまり、ハードウェアとソフトウェアが、安全基準を満たす必要があります。

 

順守する必要のある基準や、満たす必要のある安全要件は、多くあります。まずはハードウェアです。ほとんどのハードウェアは、チップに安全機能を搭載しています。その機能は、最終製品の安全性を確保します。

 

ただし、使用するコンパイラが、これらの安全機能を認識していない場合、うまくいってもアセンブリコードを書くのに行き詰まり、最悪の場合、ハードウェア機能を適切に作成できない可能性もあります。

 

考慮すべきもう1つの要因は、コンパイラの認定です。ASPICE認定ソフトウェア開発ツールでは、早期にエラーを修正でき、製品開発 コストを時には大幅に削減できます。

 

図2: 高品質のハードウェアを、トップエンドのソフトウェア開発ツールと組み合わせると、高速で効率の良いコードが生成される

 

適切な選択

安全機能やパフォーマンス機能を全て活用できるよう、ハードウェアと緊密に連携するコンパイラを選択することが、必要不可欠です。

 

コンパイラや組み込みソフトウェア開発ツールの選択について理解を深めてください。TriCore Apps向けDevToolsに関する専門家のアドバイスを受けてください。

 

About the Author

Mark Forbes

Mark Forbes graduated from Bradley University with a BS in Electrical Engineering and has been in the EDA industry for over 30 years.

More Content by Mark Forbes
Previous Article
組み込みソフトウェア開発のためのリスク管理
組み込みソフトウェア開発のためのリスク管理

組み込みソフトウェア開発企業が、これらのベストプラクティスに従ってビジネスリスクを軽減しながら、急成長するADAS、自動運転市場をいかに活用できるかについて説明します。 成功したダウンヒルスキーヤー、F1レーサー...

Next Article
Mike Brown: 貪欲であれ | 成長を続けよ | 関係を築け
Mike Brown: 貪欲であれ | 成長を続けよ | 関係を築け

Mike Brownは、設計者の中の設計者です。彼のキャリアパスは、17歳の若さで設計上のバグを見つけるところから始まりましたが、これまで過去を振り返ったことはありませんでした。先日彼から、若い製図技師から設計マネ...

Altium Designerの無償評価版を入手する。

無償ダウンロード