本初心者講座は、ルネサスエレクトロニクス社(以降、ルネサス)のArm® Cortex®-Aプロセッサ内蔵マイコン RZ/Gシリーズを初めて使うエンジニア向けの「ルネサスRZ/Gシリーズ入門講座」です。
本初心者講座のゴールは次の3つです。
- マイクロプロセッサ・RZ/Gシリーズの製品仕様、開発環境、アプリケーションを理解する。
- マイクロプロセッサ・RZ/Gシリーズの基本的な使い方を理解する。
- マイクロプロセッサ・RZ/Gシリーズの応用的な使い方を理解する。
*本講座では、マイクロプロセッサをプロセッサと称して説明いたします。
本講座は次の5回シリーズの連載で構成されます。
第1回:RZ/Gシリーズの紹介
第2回:開発環境の整備
第3回:組込みLinuxを動かしてみる
第4回:ユーザーアプリケーションを追加してみる
第5回:サブコアを使ってみる
今回は、第2回の「開発環境の整備」です。RZ/Gシリーズを使って製品を開発するにあたり、必要なPCや統合開発ツール、評価ボードなどの整備方法について解説します。
【課題】
1.RZ/Gシリーズを使った開発を始める際の関連情報を入手する
ユーザーがアプリケーションを開発するために必要なすべての情報の入手方法を学習します。
2. RZ/Gシリーズを使うPCのOSとソフトウェアツールをセットアップする
RZ/GシリーズはLinux上で走ります。そこで、PC上にLinuxをインストールし、開発用のソフトウェアツールをセットアップします。
3. RZ/Gシリーズの評価キットとパートナーの開発環境について学習する
RZ/Gシリーズの評価ボードには、ルネサスが提供する評価キットと、パートナー企業が提供するリファレンスボードがあります。それらの特長を学習します。
関連情報
最初に、各RZ/Gシリーズの開発に必要なドキュメントを紹介します。
ルネサスでは、各RZ/Gシリーズの開発のフェーズ毎に必要になるドキュメントを 「Easy Download Guide」としてWebで公開しています。これらのドキュメントには、ユーザーがアプリケーションを開発するために必要なすべてのリンクが示されています。各グループのURLは次のようになります。
(1)RZ/G2L、RZ/G2LCグループ(図1)
https://www.renesas.com/ja/document/gde/rzg2l-rzg2lc-easy-download-guide
(2)RZ/G2ULグループ
https://www.renesas.com/ja/document/gde/rzg2ul-easy-download-guide?language=ja
(3)RZ/G3Sグループ
https://www.renesas.com/ja/document/gde/rzg3s-easy-download-guide?r=25458591
PCのセットアップ(Linux環境)
まずは、PCをセットアップしていきます。RZ/Gシリーズを使うためには、Linuxの環境が必要です。例えば、RZ/G2Lグループには、「 RZ/G2L, RZ/G2LC and RZ/G2UL-EVKIT Linux Start-up Guide」が用意されていて、この中に開発環境が記載されています。
ここに記載されていますように、デバッグ環境としてターミナルソフトウェアで制御する場合のホストPCはWindowsを使いますが、ビルド、デバッグ環境としては、Linuxを使います。
ルネサスが提供しているパッケージソフトの「Verified Linux Package(以降、VLP)」は、作成、検証の際に、Windowsの仮想環境を使用していないので、専用のLinux PCが推奨環境になります。
しかし、組み込み業界でマイコンを使われている多くのエンジニアのメインPCはWindowsであり、専用のLinux PCを準備しなくてはならなくなると手間もかかりますし、コストもかかります。
一方、仮想環境を利用すると、使い慣れたWindowsとLinuxを両立できるため、効率的な作業環境を構築できます。
本講座では、開発環境を整備するハードルを下げるという意味合いで、Windows PCにLinuxの仮想環境をセットアップして、Linuxを実行する方法を行ってみたいと思います。
良く使われている仮想環境にVirtual Boxがあります。今回はVirtual Boxを使ってホストLinuxのUbuntu 20.04 LTSを走らせることにします。
《参考情報》
Windows10バージョン2004以降およびWindows11でも、WSLを使えばLinux仮想環境を構築できるみたいですが、筆者の知る限りでは実績がありませんので、今回はVirtual Boxを使います。
(1)Virtual Boxのダウンロード
Download VirtualBoxを開けて、Windows hostsをクリックします。すると、ダウンロードが始まります。インストールは、Ubuntu 20.04 LTSをダウンロードした後に行います。
(2)Ubuntu 20.04 LTSのダウンロード
検索エンジンでUbuntuを検索すると、ダウンロードページが出てきます。そこで「日本語Remixイメージのダウンロード」をクリックすると、「Ubuntu Desktop 日本語 Remixのダウンロード」のページが出てきますが、ここからダウンロードできるUbuntuは22.04 (本記事の執筆時のバージョン)で、20.04ではありません。
そこで、Githubの「 renesas-rz/docker_setup」を読むと、Docker Containerを使えば、20.04以外のバージョンでも設定できることが書いてあります。
(抜粋文)
A docker container will allow you to replicate the same build environment (Ubuntu OS version) without having to modify your current running host OS version.
(訳:Docker containerを使用すると、現在実行中のホストOSバージョンを変更することなく、同じビルド環境 (Ubuntu OS バージョン) を複製できます。)
しかし、それだと、Docker Containerを使う手間が増えます。そこで、20.04.をダウンロードできるサイトを、さらにさがしてみると以下のURLからダウンロードできることが判りました。URLをクリックすると自動的に20.04のダウンロードが始まります。
https://ftp.jaist.ac.jp/pub/Linux/ubuntu-jp-cdimage/releases/20.04.1/ubuntu-ja-20.04.1-desktop-amd64.iso
ネット環境とPCの能力に依存しますが、筆者のPCだと、ダウンロードが終わるまで数時間かかりました。ダウンロードされるファイルは「ubuntu-ja-20.04.1-desktop-amd64.iso」です。
(3)VirtualBoxのインストールとUbuntuの起動
先ほどダウンロードしたVirtualBox-7.1.4-165100-Win.exe(本記事執筆時のバージョン)を管理者として実行します。
すると、Welcome to the Oracle VirtualBox 7.1.4 Setup Wizardの画面が出てきますので、ここからは「Next」をクリックしていきます。Warning Network InterfacesとMissing Dependencies Python Core / win32apiの画面では「Yes」をクリックします。
その次からは「Next」をクリックしていきます。Oracle VirtualBox 7.1.4 installation is completeの画面が出れば、インストールは完了です。Start Oracle VirtualBox 7.1.4 after installationにチェックを入れて、続けてUbuntuの設定を行います。最後に「Finish」をクリックします。
Virtual Boxのスタート画面が開きますので、新規をクリックします。
仮想マシンの名前とOSを入力する画面が出ます。今回、名前はapsにします。ISOイメージには、先ほどダウンロードしたubuntu-ja-20.04.1-desktop-amd64.isoを指定します。
ISOイメージのプルダウンメニューから「その他」を開けます。「開く」ウィンドウでubuntu-ja-20.04.1-desktop-amd64.isoの場所を指定して「開く」をクリックします。仮想マシンの名前とOSを入力する画面に戻って、「自動インストール」の画面を開きます。
ユーザー名とパスワードを入れる画面が出ますので、任意のユーザー名(今回は「aps」)とパスワード(今回は「inscape」)を入れます。ユーザー名とパスワードは英文字の小文字で入れます。大文字を使うとエラーコメントが出たり、ログインできなかったりしますので注意してください。
「ハードウェア」の画面で、メインメモリは4096MB、プロセッサ数は4にしました。「ハードディスク」の画面に移って、仮想ハードディスクは200GBにします。200GBは推奨値です。
内容を確認して「完了」をクリックします。
Vira Virtual Boxの画面の左側にapsという名のUbuntuができて、起動されます。
暫くすると、UbuntuがVira Virtual Boxとは別の画面で現れます。ここから少し時間がかかりますが、ユーザーアカウントを入れる画面が出ますので「aps」と入力します。次にパスワードを入力する画面が出ますので「inscape」と入力します。次に、最新版のUbuntuにアップグレードするかどうかを聞かれますので、「アップグレードしない」を選びます。ここで、アップグレードしてしまうと、せっかくUbuntu 20.04を探してきた作業が無駄になります。
続いて様々な画面が現れますが、基本的に右上にある「スキップ」か「次へ」をクリックして進みます。最後は「完了」をクリックして、準備完了です。
では、実際にコマンドを入れてみましょう。「Ctrl + Alt + T」で新しいターミナルが開きます。試しに「ls」と入力してみます。正常にリストが出ましたので、これでちゃんと動作していることが確認できました。
ターミナルを終了するのは「Ctrl + D」または「Exit()」です。新しいタブを開けるときは「Ctrl + Shift + T」です。
Virtual Boxを終るのは、左上の「ファイル」から「終了」を選んで、操作を選びます。(ここでは、仮想マシンの電源オフ)
「第3回:組込みLinuxを動かしてみる」ではWindows PCにターミナルソフトやVCPをセットアップしますが、その手順は「第3回:組込みLinuxを動かしてみる」の中で解説します。
開発サポートツール
この章では、ルネサスが提供している開発ツールを紹介します。RZ/Gシリーズを使う上で、とても役に立つツールです。どれもルネサスのWebから容易に入手できます。
(1)スマート・コンフィギュレータ
https://www.renesas.com/ja/software-tool/smart-configurator
スマート・コンフィグレータは、RZファミリだけでなくルネサスのマイコン、マイクロプロセッサなどのデバイス用に準備されているツールです。
マイコンの初期設定プログラムを自動で生成することができ、端子設定、ミドルウェアやドライバの組み込みなど、ユーザー開発に応じたソフトウェアの組み合わせと設定がスピーディかつスマートに実現できるツールです。
ピン設定はパッケージのイメージ上で、端子位置を確認しながらGUIにより端子設定ができます。また、機能を選択すると利用する端子を自動で有効化してくれます。機能が競合しているかどうかもGUIで確認することができます。最終的に、設定した端子情報を含むDTSI(Device Tree Source include)ファイルを生成することができます。
RZファミリ用のインストールは以下のURLから行いますが、各デバイスによってインストーラ形式が異なりますので、詳細は リリース情報を確認してください。
(注意:Windows 32ビット版のサポート終了)
2021年12月以降にリリースされたルネサスエレクトロニクス製スマート・コンフィグレータは、Windows® 64ビット版しかサポートしていません。
(2)ソフトウェアセキュリティソリューション
現代社会を支える産業機器の要件として、製品の長期運用と品質の安定性、セキュア、信頼性やリアルタイム性能が求められています。そこで、ルネサスでは、検証済みLinuxパッケージとサイバーセキュリティソリューションを提供しています。
この章では、検証済みLinuxパッケージのVLPとセキュリティソリューションを紹介します。
VLP
VLPは、産業分野に必要な基本的なソフトウェアをパッケージングし、データシートに基づいた動作検証を済ませたパッケージソフトです。このパッケージは、リファレンスボード上でのミドルウェア・ドライバの動作検証が実施されており、定期的なアップデートのリリースと無償サポートも提供されています。そのため、ユーザーは、安定動作するLinuxと基本的なソフトウェアを利用することができ、すぐにアプリケーション開発をスタートできます。さらに、検証工数も削減し、メンテナンスコストも削減することができます。
パッケージには、「Yocto」「CIP Linux」「Qt」「HTML5 Browser Engine」「GStreamer「Wayland/Weston」「Docker」など、各種のソフトウェア・モジュールが組み込まれています。
特長を挙げると次のようになります。
- Civil Infrastructure Platform™ (CIP™) による超長期サポートを実現
- 最新カーネルの追加機能を5年間バックポート
- 10年超のセキュリティパッチ対応
- ルネサス独自でメンテナンス範囲を拡大する活動を実施
- 業界標準の APIをサポート
- 産業/IoT向けに強化された標準ソフトウェアコンポーネント
- 信頼性、リアルタイム性、セキュリティ、機能安全を強化
- 標準化されたソフトウェア開発プロセスのもとで動作検証実施済
- 無償かつシンプルなクリックスルー形式によるライセンス
- 無償でメンテナンスを実施
- RZ MPU共通で利用可能なソフトウェアパッケージ
(補足)Civil Infrastructure Platform(CIP)とは
現代の社会インフラの要件を満たす Linux ベースの組込みシステムを構築するために必要なベース レイヤ (base layer) を提供するプラットフォームです。The Linux Foundation主導で世界の主要なインフラシステムメーカが推進しています。
関係する情報のURLをまとめておきます。
Linux Package
Civil Infrastructure Platform
技術者向け情報集
ブログ
RZ/G HMI SDK
サイバーセキュリティソリューション
サイバーセキュリティソリューションは、IoT製品をサイバー攻撃から保護するためのソリューションです。ルネサスが提供しているソリューションは、サイバーセキュリティソリューションとIEC62443 Readyソリューションがあります。
サイバーセキュリティソリューションは、TrustZone(Trusted Execution Environment)とセキュアブートを使用して、IoT製品をサイバー攻撃から保護するものです。
IEC62443 Readyソリューションは、Trusted Secure IPを使用したRZ / G2セキュリティ機能を利用してIEC62443-4-2を取得するのに効果的なソリューションです。IEC62443とは、産業オートメーションおよび制御システム(IACS)およびビル管理システム(BCS)の国際サイバーセキュリティ規格です。
本講座は入門編なのでサイバーセキュリティソリューションのみ解説します。
IEC62443 Readyソリューションについては、 RZセキュリティソリューション概要を参照してください。
ルネサスが提供しているサイバーセキュリティソリューションを表2に示します。 RZ MPU Security Package(Linux OS)から該当デバイスのSecurity Packageをダウンロードし、VLPに組み込む事で利用可能になります。なお、セキュリティの機能を使用する場合はセキュリティ機能に対応した型名のデバイスを選択してください。
TrustZoneとはCortex-Aシリーズの拡張機能で、大規模OSやアプリケーションが動作するノーマルワールドとセキュリティ関連が動作するセキュアワールドを導入しており、ノーマルワールドメモリ空間(ノーマルワールドが動作するメモリ空間)とセキュアワールドメモリ空間(セキュアワールドが動作するメモリ空間)の分離することによりセキュリティ機能を実現しています。詳細については初心者講座「Cortex-A編」 TrustZoneを参照してください。
Trusted Secure IPとは、重要なデータをSecure IPの外部からアクセス困難なデバイス固有鍵を使用して暗号化する事で保護する機能です。
IoT製品にあるセキュアブート/アップデートなどのユーザーデータは、Root of TrustとしてTSIPの「デバイス固有鍵」を使用して暗号化されます。「デバイス固有鍵」はハードウェアメカニズムから派生した一意の値に基づいており、この鍵はTSIPによってのみ参照されます。
評価キット(Evaluation board kit)
(1)概要
RZ/Gシリーズの評価ボードには、ルネサスが提供する評価キットと、HoperunやSilicon Linuxが提供するリファレンスボードがあります。
RZ/G2L、RZ/G2LC、RZ/G2UL、RZ/G3S、RZ/Fiveグループでは、評価キットがルネサスから提供されています。
RZ/G2H、RZ/G2M、RZ/G2Nグループでは、Hoperunが提供するリファレンスボードが使えて、RZ/G2EグループではSilicon Linuxが提供するリファレンスボードが使えます。HoperunとSilicon Linuxのリファレンスボードは業界標準の96Boards仕様をサポートしています。
(2)RZ/G2L、RZ/G2LCグループ
RZ/G2L評価ボードキット「Part Number:RTK9744L23S01000BE(ノンセキュア版)、RTK9744L27S01000BE(セキュア版)」およびRZ/G2LC評価ボードキット「Part Number:RTK9744C22S01000BE(ノンセキュア版)、RTK9744C26S01000BE(セキュア版)」は、モジュールボード(SOM)とキャリアボードで構成されています。モジュールボードはどちらもSMARC v2.1規格に準拠していますが、ボードの仕様は異なります。キャリアボードは同一仕様です。
《RZ/G2L SMARC モジュール ボード》
- 寸法:82mm x 50mm
- プロセッサ:RZ/G2L
- メインメモリ:2GB DDR4 (2GB x1)
- QSPI NOR FLASH:64MB
- eMMC メモリ:64GB
- 外部ストレージ:micro SD x1 (eMMC 専用)
- A/D コンバータ インタフェース:6 入力
- JTAG コネクタ
《RZ/G2LC SMARC モジュールボード》
《キャリアボード》
(3)RZ/G2ULグループ
RZ/G2UL評価キット「Part Number:RTK9743U11S01000BE(ノンセキュア版)、RTK9743U15S01000BE(セキュア版)」は、モジュールボード(SOM)とキャリアボードで構成されています。モジュールボードはSMARC v2.1規格に準拠しています。キャリアボードは、RZ/G2L, RZ/G2LCのものと同じ仕様です。FPC経由でパラレル出力を行うパラレル-HDMI変換ボードも同梱されています。
《RZ/G2ULSMARCモジュールボード》
- 寸法:82mm x 50mm
- プロセッサ:RZ/G2UL
- メイン メモリ:1GB DDR4 (1GB x1)
- QSPI NOR FLASH:128Mb
- eMMC メモリ:64GB
- 外部ストレージ:micro SD x1 (eMMC 専用)
- パラレル LCD インタフェース
- A/D コンバータ インタフェース:2 入力
- JTAG コネクタ
《パラレルからHDMIへの変換ボード》
- 寸法:20mm x 40mm
- FFC/FPC コネクタ (CN5) に接続して使用
- RZ/G2UL-EVKはキャリアボード上のHDMIからビデオを出力しない
(4)RZ/G2H、RZ/G2M、RZ/G2N、RZ/G2Eグループ
RZ/G2H、RZ/G2M、RZ/G2Nグループでは、Hoperunが提供するリファレンスボード(HiHOPE-RZG2H,M,N)が使えて、RZ/G2EグループではSilicon Linuxが提供するリファレンスボード(EK874)が使えます。
《HiHOPE-RZG2H,M,N》
RZ/G2N、RZ/G2M、RZ/G2Hキットは、ピン互換であるため、同じPCBボードが使用されます。RZ/G2N ボードには1つの4Gb DDRメモリ デバイスが搭載されているのに対し、G2MおよびG2Hボードには2つの2Gb DDRメモリが搭載されています。
HiHOPE-RZ/G2H
HiHOPE-RZ/G2M
HiHOPE-RZ/G2N
- 寸法:54 mm x 85 mm
- プロセッサ:RZ/G2H、G2M、G2N
- メインメモリ:4GB LPDDR4
- QSPI NOR FLASH 64MByte
- I2C EEPROM 512Byte
- 外部ストレージ:micro SD x1
- 接続:USB2.0x 2ch、USB3.0x1ch、GbEx1
- HDMI出力/LVDS出力またはMIPI DSI出力
- Wi-Fi+BT
- PMIC Intersil
仕様の詳細はRenesas Wikiの RZ/G2 HiHope Boardを参照してください。
《EK874》
RZ/G2Eを搭載した96ボード互換のリファレンスボードです。メインボードとサブボードの2ボードで構成されており、サブボードに接続することでRZ/G2Eに搭載されている機能を評価できます。
- 寸法:54 mm x 85 mm
- プロセッサ:RZ/G2E
- メインメモリ:2GB DDR3L
- QSPI NOR FLASH 64MByte
- I2C EEPROM 512Byte
- 外部ストレージ:micro SD x1
- 接続:USB2.0x 2ch、USB3.0x1ch、GbEx1
- HDMI出力/LVDS出力またはMIPI DSI出力
- Wi-Fi+BT
- PMIC intersil
仕様の詳細はRenesas Wikiの RZ/G2E EK874 Boardを参照してください。
(5)RZ/G3Sグループ
RZ/G3S評価ボードキット(Part Number :RTK9845S33S01000BE)は、SMARC v2.1規格に準拠したモジュールボード(SOM)と、キャリアボードで構成されています。
《モジュールボード》
- 寸法:82 mm x 82 mm
- プロセッサ:RZ/G3S
- メインメモリ:1GB LPDDR4
- QSPI NOR FLASH:16MB
- eMMC メモリ:64GB
- 外部ストレージ:micro SD x2
- A/D コンバータ インタフェース x8
- JTAG コネクタ
- RZ/G3S 用 PMIC (RAA215300)
《キャリアボード》
- 寸法:190mm x 130mm
- ギガビット イーサネット x2
- USB2.0 2xch (OTG x1ch、ホスト x1ch)
- CAN-FD x2
- 外部ストレージ:micro SD x1
- スピーカー出力、ステレオ ヘッドフォン出力、ステレオ マイク入力、補助入力
- PMOD x2
- 電源入力用 USB-Type C
- PCIe Gen2 1 レーン スロット
- コイン型電池ホルダー
(6)RZ/Fiveグループ
RZ/Five評価キット「Part Number :RTK9743F01S01000BE(ノンセキュア版)、RTK9743F05S01000BE(セキュア版)」も、SMARC v2.1規格に準拠したモジュールボード(SOM)とキャリアボードで構成されます。
《RZ/FIVE SMARC モジュールボード》
- 寸法:82 mm x 50 mm
- プロセッサ:RZ/Five(RISC-V)
- メインメモリ:1GB DDR4 (1GB x1)
- QSPI NOR FLASH:16MB
- eMMC メモリ:64GB
- 外部ストレージ:micro SD x1 (eMMC 専用)
- A/D コンバータ インタフェース x2
- JTAG コネクタ
《キャリアボード》
- 寸法:150mmx90mm
- ギガビット イーサネット x2
- USB2.0x 2ch (OTG x1ch、ホスト x1ch)
- 外部ストレージ:micro SD x1
- オーディオ ライン入力 x1
- オーディオ ライン出力 x1
- PMOD x2
- 電源入力用 USB-Type C
パートナーの開発環境
世界中のパートナーが、ルネサスRZファミリの様々なアプリケーションの設計をサポートしています。パートナーソリューションは、パフォーマンスやセキュリティの課題を解決する技術の提供により、市場への早い製品投入に役立ちます。
パートナーソリューションの情報はルネサスの RZ パートナエコシステムソリューションにまとめられています。
また、最後にRZのシリーズ、パートナー名、ソリューション名を表3にまとめます。
以上で、「第2回:開発環境の整備」は終わりです。開発環境が整いましたので、次回は「第3回:組込みLinuxを動かしてみる」です。実際に評価キットを使ってRZ/G2Lを動かしてみます。