adviceLUNA Ⅱを使ってOpenAMPのコア間通信をデバッグしよう!

MPSoCに搭載されたArm上ソフトウェアをデバッグしよう

今回は、Arm Cortex-A53上のLinuxとArm Cortex-R5上のFreeRTOSをデバッグしてみたいと思います。デバッガとしては、Armを使ったシステム開発にて根強い人気を誇る「adviceLUNA Ⅱ」を選択しています。

DTSインサイト製「JTAG ICE デバッグツール adviceLUNA Ⅱ」

スタートアップガイド

前半では、MPSoC上のプログラムを効率的にデバッグできる、adviceLUNA Ⅱの特長を紹介。後半では、動画にて紹介しているOpenAMPのデバッグ方法(マルチコアのデバッグ方法)を紹介いたします。

adviceLUNA Ⅱを使うメリット

adviceLUNA Ⅱは、DTSインサイト製のJTAG ICEデバッグツールです。adviceLUNA Ⅱは根強い人気を誇っており、便利な機能を多く持っています。特に、以下の機能はZynq Ultrascale+ MPSoCの開発において、とても便利な機能です!

すべてのArmコアに対応

adviceLUNA Ⅱは、すべてのArmコアに対応しています。もちろん、Zynq Ultrascale+ MPSoCに内蔵されたArm Cortex-A53とArm Cortex-R5を同時にデバッグすることができます。つまり、開発を簡単に始めることができます(Cortex-A専用、Cortex-M専用のような複数のデバッガは不要です)。

図図1:adviceLUNAⅡは、すべてのArmコアに対応済。マルチコアの開発も簡単。

1台でマルチコアすべてに接続できる

1台のadvice LUNA ⅡをMPSoCへ接続するだけで、デバッグ用ソフトウェア「microVIEW-PLUS」を使って各コアそれぞれを同時にデバッグすることができます。

図図2: adviceLUNAⅡは1つのハードウェアのみで、SoC内の全コアを解析できる

ICEデバッガ機能はもちろん、トレースや動的テストツールにも対応。

Zynq Ultrascale+ MPSoC上の開発は、ハードウェアからOS、デバイスドライバ、アプリケーションに至るまで様々な課題があります。adviceLUNA Ⅱは、開発初期のデバッガとしての利用方法に加えて、実行中の状態監視(トレース機能)や動的テストツールとしても使うことができます。

図図3: adviceLUNAⅡの提供する様々な機能

簡単に使い始めるための「スタートアップガイド」

adviceLUNA Ⅱと、microVIEW-PLUSを使うための設定や、プロジェクトの作成、デバッグの第一歩など、開発を始める際に困ることが無いように、DTSインサイト「advice LUNA Ⅱサポート」ページから、各ハードウェアに沿った手順が揃った「スタートアップガイド」を入手できます(ユーザ登録必要)。

adviceLUNA Ⅱ スタートアップガイド集

MPSoC上で動くOpenAMPをadviceLUNA Ⅱでデバッグしよう!

それでは早速、第4回で動かしたArm Cortex-A53上のLinuxとArm Cortex-R5上のFreeRTOSがOpenAMPでコア間通信する部分をデバッグしてみましょう。詳しくは、ビデオをご覧ください。

ZCU102とadviceLUNA Ⅱの接続

adviceLUNA ⅡはJTAG ICEデバッガのため、ZUC102のJTAGポートに接続しましょう。adviceLUNA ⅡとmicroVIEW-PLUSの設定方法の詳細は、スタートアップガイドをご参照ください。

スタートアップガイド

図図4:ZCU102とadviceLUNA Ⅱを接続するJTAG端子

OpenAMPの通信プログラムをデバッグしてみよう

Arm Cortex-A53とArm Cortex-R5でそれぞれデバッガを立ち上げ、同期の設定を行います。そして、FreeRTOSがLinuxへRPMsgを送信するところでbreakを設定して、デモ プログラムを実行すると、FreeRTOSがBreakするのに同期してLinuxもbreakします。メモリやレジスタの内容を簡単に確認できますし、シリアルコンソールも止まってくれますので、どういったデータが送受信されたのかを簡単に確認できます。デバッグが捗りますね!

図図5:Arm Cortex-R5のデバッグ中画面(microVIEW-PLUS)

図図6:Arm Cortex-A53のデバッグ中画面(microVIEW-PLUS)

まとめ

いかがだったでしょうか?MPSoCは、Cortex-A53 x 4コアはもちろん、Cortex-R x2コアも活用できる、ディープな開発環境です。様々な情報が、Xilnxから続々と配信されています。まだまだ紹介したいポイントが多数ございます。今後も、APS初心者講座にご期待ください!

前の記事を読む