概要

説明

R-Car マルチコア同期デバッグ&トレースツール

R-Car S4 用 統合化環境e2 studio で新しくサポートするマルチコア同期デバッグについてご紹介します。車載用SoCデバイスには、複数のCPUやIPが搭載されており、ソフトウェアはそのリソースを共有しています。そのため、ソフトウェアを統合した段階で動作に不具合が発生した場合、その解析や解決には多くの労力が必要とされます。そこでルネサスは、R-Carの複数のハードウェアリソースが相互に影響して発生する問題の解析や原因特定を容易にするツール「マルチコア同期デバッグ&トレースツール」を開発しました。

ターゲットデバイス

設計・開発

関連ボード&キット

ボード&キット

Introduction of Multi-Core Synchronous Debug Tool

SOC開発時のデバッグでの課題

車載ECU、特にセントラルECUなどの高度な処理を備えたECUには、1つのSOC内に複数のコアが装備されており、これらは連携して動作します。複数コア上で動作するソフトウェアを組み合わせて動作させた場合、どのソフトウェアが問題を発生させているかを特定する際に時間がかかります。
従来の開発ツールを使用した課題について事例を以下に説明します。

右図で、一番左のG4MH coreで動いているSoftware-Aに何か異常が起きて、デバッグしようとしたとき、従来であればG4MH coresの動作を止めて、レジスタやメモリ、変数の状態をデバッガを使って調べる、というのはよく行う方法です。ところが、G4MH coreの動作を止めても、他のコアはそのまま動いてますので、Software-Aで問題が起きた時にSoftware-BやCで何が起きていたのか見ようとしても、Software-BやCはもっと先に進んでしまっているか、場合によってはSoftware-Aを止めていることで動作がおかしくなってしまい、肝心の問題点にたどり着けない、ということが起こりえます。

Multi-Core Use Case

画像
Multi-Core Use Case

特徴

  • ユースケースと期待される効果
    • R-Car S4に集積された、ヘテロジニアスな複数の異種プロセッサコア(Arm core(CR52,CA55)/ RH850 core(G4MH)) を同時にデバッグ、トレースすることが可能。これにより、複数のコアが連携して機能を実現するシステムにおいて原因特定や問題解析の時間を短縮できます。
画像
e2 studio, E2 emulator, and R-Car S4 reference board/Spider

主な機能

  • 同期実行制御
    • 同期ブレークを行うことにより想定外の動作やバグの状態を参照することが容易になります。

例:問題事象(CR52 State-1)が発生したときのSOC内部のS/W変数やI/Oの状態を参照し、問題事象の特定したいケース

画像
問題事象(CR52 State-1)が発生したときのSOC内部のS/W変数やI/Oの状態を参照し、問題事象の特定したいケース
画像
1つのIDEでArm core/RH850 coreデバッグ操作するコア選択可能
  • 同期トレース
    • 各コアのSWの動作の流れを同時に同期して確認することにより、問題が発生する状態を把握することが容易になります。
画像
同一時間でArm core/RH850 coreの実行履歴を参照可能