Arm® CPUのデバイスで製品開発(ボード及びS/W)したアプリケーションをRISC-V CPUデバイスに、簡単に速くポーティングできるかという課題があります。
では、この異なるCPU間でのアプリケーション開発にはどのような課題があるのでしょうか。
そもそも、組み込みシステム開発では、ターゲットシステム専用にアプリケーションを開発するケースが多く、この開発の課題として、以下があります。
- ハードウェアとアプリケーションが密結合になりやすい
- システムごとにペリフェラルが異なる場合があり、そのペリフェラルに合わせてアプリケーションの修正が必要
- ミドルウェア等の汎用プログラムのバージョンの互換性がない可能性がある
RZ/FiveではArm CPUのRZ/G2ULと合わせて、以下2つのポイントでこの課題を解決できます。
Pin to Pin互換とSMARC準拠モジュールボードの提供
RZ/FiveとRZ/G2ULではPin to Pin互換のデバイスであること、評価ボードキットがモジュールボード(SOM : System On Module)+ キャリアボードで構成されており、ハードウェア、ペリフェラルの差分は最小限の環境をご提供しております。
Board Support Packageの提供
このBSPは、上記SMARC準拠モジュールボードで動作する、Linux Kernel(CIP Kernel) + Driver類(Driver+Loader) + 基本ソフトウェア(Libraries)で構成されており、CPUの違いは、基本的に図2の赤字部分KernelとDriver類に含まれます。そのため、Applicationはほぼソースコードの変更なしで、toolchainを使用してApplicationをビルドしなおすだけで活用できます。このように、ApplicationをRISC-V CPUのRZ/FiveとArm CPUのRZ/G2ULどちらかで開発いただければ、簡単にもう一方への移植ができます。
ルネサスが開発した「IoT Edge Demo with Multiple Sensors and LEDデモ」は、ウイニングコンビネーション「シングルコアRISC-V MPU向けSMARCシステム」に基づいており、RZ/Five と RZ/G2UL の両方に SMARC 準拠のモジュールボードと BSP を使用しています。このデモでは、複数のセンサデータの情報を取得してPCに送りPC上でリアルタイムに表示します。
このデモの開発はRZ/G2ULに移植後、RZ/Fiveへ移植しましたが、そこでかかった工数はBSP環境の構築を含めて、3人日でした。しかし、RZ/Five と RZ/G2UL の両方を使用することで、相互移行ポーティングをより短時間で完了することができ、必要なリソースの数を減らすことができます。
詳しくは、www.renesas.com/rzfive-evk をご覧ください。