
皆さん、こんにちは!IARシステムズの松本です。今回は、以前ウェビナーでもお話しした「機能安全認証の効率化」について、特に「コンパイラ選定」の重要性に焦点を当ててブログ記事にまとめたいと思います。
なぜコンパイラの選定が重要なのか?
機能安全認証を目指す組み込みソフトウェア開発において、多くの方が「開発ツールは開発フェーズに入ってからでいいか」と考えがちです。しかし、これが大きな落とし穴になりかねません。私の経験上、機能安全認証のプロセスでは、実は「コンセプトフェーズ」が非常に重要で、認証機関によっては全体の7割を占めるとも言われるほど時間と労力を要するフェーズです。
このコンセプトフェーズで、ソフトウェアやハードウェアの安全要求仕様、マネジメントシステムについて認証機関と合意する必要がありますが、実はこの段階でコンパイラの「マイナーバージョン」まで決定しておく必要があるのです。
なぜなら、OSやミドルウェア、解析ツール、さらにはMCAL(Microcontroller Abstraction Layer)といった多くの開発要素が、特定のコンパイラバージョンに依存している場合が多いからです。後からコンパイラを変更しようとすると、これら全ての要素に影響が及び、大規模な手戻りが発生するリスクが高まります。
認証済みコンパイラがもたらすメリット
では、早期にコンパイラを選定し、しかも「機能安全認証済み」のコンパイラを選ぶことには、どのようなメリットがあるのでしょうか?
一般的に、コンパイラの認証には約200時間もの工数がかかると言われています。これは、開発チームにとって大きな負担です。IARシステムズの機能安全コンパイラであれば、この認証工数を大幅に削減し、手戻りを防止できます。IARの機能安全版には、TÜV SÜDからの認定書やレポート、適合証明書などが全て含まれており、お客様側で個別にコンパイラを認証する必要がありません。
また、機能安全は一度認証を取得して終わりではありません。長期にわたるメンテナンスが必須です。IARシステムズでは、長期の固定バージョンサポートや定期的なレポートサービスパックを提供し、皆様の継続的な機能安全維持を全面的にサポートしています。
IARの包括的な機能安全ソリューション
IARシステムズは、コンパイラだけでなく、機能安全開発を支援する多様なソリューションを提供しています。
- 幅広いアーキテクチャ対応
Arm、RISC-V、ルネサスRX、RL78、RH850、STM8など、主要な6つのコア向けコンパイラでIEC 61508、ISO 26262といった主要な機能安全規格をカバー。ロボット向けのISO 13849やIEC 61511などの派生規格にも対応しています。 - 最適化の柔軟性
弊社の機能安全コンパイラは、どの最適化レベルでも認証範囲に含まれるため、オプション設定の縛りがありません。ただし、機能安全規格では最適化の使用を慎重に検討するよう推奨されるため、お客様のプロジェクトチーム内で十分に議論し、生成コードの検証を行うことをお勧めしています。 - CI/CD環境への対応
最近では、Linux対応のビルドツール「IAR Build Tools」でも機能安全認証版をリリースしました。これにより、CI/CD(継続的インテグレーション/継続的デリバリー)環境でも機能安全ソフトウェア開発を効率的に進めることが可能です。Linux上でのビルドは、Windows OSと比較して約2倍、解析実行は約3.5倍高速に行えます。
- 静的解析機能の強化
2024年2月には、静的解析機能「C-STAT」もTÜV SÜDによる機能安全認証を取得しました(IAR Embedded Workbench for Armのバージョン9.50.3以降)。これにより、信頼性の高いコード解析をシームレスに行うことができ、アプリケーションのコンプライアンスと信頼性確保に貢献します。
最後に
機能安全認証は、決して楽な道のりではありません。しかし、適切なツールを適切なタイミングで選定することで、そのプロセスは格段に効率化されます。特に、コンセプトフェーズでのコンパイラ選定は、その後の開発全体の成否を左右する重要な鍵となります。
IARシステムズは、デバイスからOS、そして開発ツールまで、機能安全認証の取得を強力にサポートしてまいります。機能安全開発でお困りのことがあれば、ぜひお気軽にご相談ください。