![](/column/assets/images/banner.jpg)
SILSを使用した車載制御ECUソフトウェア開発競争力強化
目次
1. SILSとは
2. HILSや実車を使ったテストの課題
3. SILSによる課題の解決
3-1. SILSの特長
4. 環境構築(vECU構築)
5. GSILでの環境構築(vECU構築)
6. 環境構築(自動テスト)
7. まとめ
1. SILSとは
近年、車載制御ソフト開発の効率化のためにSILS(Software In the Loop Simulation)を採用するケース増えてきています。SILSは、手書きのコードやSimulinkなどのMILS(Model In The Loop Simulation)モデルから自動生成されたECUアプリケーションのソースコードを、PC上で検証します。ハードが完成する前の段階で容易にコード検証が行え、CI等の自動テスト対応ができるので、効率的なソフトウェアの開発、検証並びに工数の削減が可能となります。
![gsil2023_2.png](/column/assets/images/gsil2023_2.jpg)
![gsil2023_3.png](/column/assets/images/gsil2023_3.jpg)
2. HILSや実車を使ったテストの課題
HILSや実車を使用したテストでは、以下のような課題があります。
- HILSは高価で、使用は順番待ち。実装して開発者の記憶がフレッシュなうちにデバッグできない
- 複数人数での並列開発ができない
- ソフト / ハードの問題切り分けが難しい
- デバッグが難しい
- CIによる自動テストが難しい
結果として、不具合の発見から修正に数日もしくはそれ以上要する場合もあり、非常に大きな手戻り工数がかかってしまいます。
3. SILSによる課題の解決
3-1. SILSの特長
- いつでもどこでも実装直後にテスト可能
- 安価で複数人数での開発可能
- ソフト / ハードの問題切り分けが容易
- デバッグが容易
- CIによる自動テストが容易 / 信頼性向上
SILSを使用することで、HILSや実車を使ったテストの課題を解決するとともに、手戻り工数は大幅に削減され、自動テストにより信頼性が向上します。
より詳しい技術や関連製品について知りたい方へ
4. 環境構築(vECU構築)
SILSは、ツールを購入すればすぐに使えるというものではありません。まずは、仮想ECU(vECU)の構築が必要となります。仮想ECUの構築とは、アプリケーション部分のソースコードをPC向けのコンパイラでビルド、実行するための作業です。ECUのソースコードは、組込みコンパイラ向けにプラグマ命令などを使用して作成されているため、そのままでは使用できません。また、アプリケーション部分のみをコンパイルすると、ドライバの呼び出し関数が含まれないのでリンクエラーになります。従来型のSILSでは、これらの対処のためにソースコードを変更したり、スタブを作成したりする必要があります。
5. GSILでの環境構築(vECU構築)
ユビキタスAIと株式会社 エー・アンド・デイで共同開発・販売している、車載ECUソフトウェア開発向けSILSツール「GSIL」は、従来のSILSに比べて容易に環境を構築することができます。コンパイラに対応済みで、人手での変更はほぼ不要です。リンクエラーも自動的に解消し、スタブを自動で生成します。これにより、少ない工数で容易に仮想ECU環境の構築が可能となります。
実機のビルド
![](/column/assets/images/gsil230718_31.png)
アプリケーション
ソースコード
ミドル層・
ドライバ層
ターゲット
コンパイラ
オブジェクト
![](/column/assets/images/gsil230718_33.png)
フラッシュ
従来型SILSのvECU構築
![](/column/assets/images/gsil230718_31.png)
アプリケーション
ソースコード
ミドル層・
ドライバ層
(スタブ)
手作業で数多くの
個所をコード修正
Windows
コンパイラ
仮想ECU
(vECU)
![](/column/assets/images/gsil230718_34.png)
SILS組込み
GSIL vECU構築
![](/column/assets/images/gsil230718_31.png)
アプリケーション
ソースコード
ミドル層・
ドライバ層
(スタブ)
マイコン依存部分を自動修正
スタブ自動作成
Windows
コンパイラ
仮想ECU
(vECU)
![](/column/assets/images/gsil230718_34.png)
SILS組込み
6. 環境構築(自動テスト)
最初に、SILSを使用して実装されたコードが仕様通りになっているかをGUIで確認し、その後自動テスト環境を構築します。
SILSは実機に比べて自動テストの実現が容易で、数多くのテストケースを自動で行うことでECUの信頼性向上が可能です。
自動テストに関し、GSILはテストケースをPythonで記述します。引数の仕様だけ理解していればテストケース記述ができるので、Python言語を知っている必要はありません。もしPythonに詳しければ、そのオブジェクト指向を使うことで、より簡単に再利用することができます。また、XILに対応しているので、MILS、HILSのテストケース資産を活用したり、GSILで作成したテストケースをHILSに応用したりすることが可能です。
7. まとめ
SDV(Software Defined Vehicle、ソフトウェア定義型自動車)の流れが出てきており、車載ECU制御ソフトウェアの開発効率、検証効率の向上は、今後ますます重要な課題となりますが、従来の実機によるテストでは工数削減が限界を迎えつつあります。車載制御ECUソフトウェアの競争力強化には、SILSを使用した制御開発が有効です。
このコラムの著者
![株式会社ユビキタスAI エンベッデッド第3事業部 担当部長 植田宏](/column/assets/images/pf_ueda.jpg)
株式会社ユビキタスAI
エンベデッド第3事業部 担当部長
植田 宏​(うえだ ひろし)
大学卒業後Tire1メーカーへ入社、ECUソフトウェア開発を行う。その後海外で組込みソフトウェア開発エンジニアの経験を経て、帰国。1998年より車載系ソフトウェアの技術営業に従事。自身の経験を活かし、課題解決に役立つ海外のソフトウェア商材を取扱い、国内のエンジニアへ届けている。
より詳しい技術や関連製品について知りたい方へ
システムテストのカバレッジ測定
2024.06.13
組込み制御ソフト開発へのシミュレーション応用による開発効率向上
2024.06.04
CANを使用したSILSテスト ―車両全体シミュレーション、テストケース再利用―
2024.05.27
GSILのMILS開発への適用
2023.12.20
GSILのCI(Continuous Integration)適用
2023.09.22
GSILの網羅的自動テストケース生成機能を使ったECUの信頼性向上
2023.09.13
OEM⇔サプライヤでのECU制御ソフトウェア環境共有による手戻り工数削減方法
2023.07.25
車載ECUシミュレーションでテスト資産を活かすための技術とは?
2022.05.16
早期の車載ECUタイミング検証の実現
2021.08.27