技術コラム Vol.2

今からはじめるRAマイコン開発

公開日:2022/03/18

RAマイコンはルネサス エレクトロニクス社のArm® Cortex®-MベースのMCUで、RAファミリとしてRA2、RA4、RA6、RA8の各シリーズが展開されています。

Arm Cortex-M33、M23、M4コアを搭載し、モーター制御や液晶表示に対応したミドルレンジから超低消費電力の小型IoT向けのローエンドまで、幅広い用途に対応しています。
また、無償のソフトウェア開発環境やツールが提供されているので、初期コストを抑えて開発をはじめることができます。

今回は、RAマイコンのソフトウェア開発をはじめる方向けに

  1. 開発環境の準備
  2. プログラムの開発手順

をご紹介いたします。

1. 開発環境の準備

RAマイコンの開発をはじめる場合、以下の機材とソフトウェアを用意する必要があります。

  • 統合開発環境(エディタ、コンパイラ、デバッガ)
  • OS、ソフトウェア、ドライバなど
  • 内蔵フラッシュ書き込みソフト
  • JTAGエミュレータ
  • CPUボード(ターゲットボード)
  • Windows PC

RAマイコンのソフトウェア開発環境は、ルネサス エレクトロニクス社から提供される開発環境のほか、各サードパーティの開発環境も利用できます。
今回は、ルネサス エレクトロニクス社より無償で提供されている統合開発環境「e2studio」とソフトウェアパッケージ「Flexible Software Package(以下FSP)」をご紹介いたします。

(1)統合開発環境「e2studio」の概要

ルネサス エレクトロニクス社のマイコンの統合開発環境は、主に「CS+」と「e2studio」の2つが提供されていますが、RAマイコンでは「e2studio」のみとなっています。

「e2studio」は、Eclipseベースの統合開発環境で、エディタ、コンパイラ(GNU C)、デバッガなど、RAマイコンのソフトウェア開発に必要な機能がすべて含まれています。

また、同社が提供するツール「Smart Configurator」と連携することで、ピンアサインの設定から、ミドルウェアやドライバのインポートなど、ソフトウェアの開発をより効率化することができます。

(2)ソフトウェアパッケージ「FSP」の概要

「FSP」は、RAマイコンの組込みシステムを開発するためのソフトウェアパッケージです。
RTOSおよびHALドライバやミドルウェアなど、RAマイコンに最適化されたソフトウェアを利用できます。

「FSP」の構成イメージは、以下のようになっています。

Flexible Software Package(FSP)

Real-Time OS

  • FreeRTOS™
  • Azure RTOS

Middleware

  • Ethernet
  • USB
  • Graphics
  • Storage
  • Security
  • FileSystem
  • TouchPanel
  • Connectivity

Hardware Abstraction Layer(HAL) Drivers

Board Support Package(BSP)

「FSP」にはRAマイコンの内蔵機能をすぐに利用できるようにさまざまなソフトウェアが用意されています。

Real-Time OSは、Azure RTOSとFreeRTOSの2つから選択可能で、CPU内蔵機能のHALドライバとEthernet・USBなどのミドルウェアスタック機能、さらにはセキュリティ機能など、これらすべてが含まれており、同社が提供する「Smart Configurator」を利用すれば、GUI上で直感的に機能を選択してソースコードとして出力できます。

(3)インストール方法

「e2studio」と「FSP」、「Renesas Flash Programmer」のインストール手順を説明します。

1. 以下のサイトよりインストーラの最新版をダウンロードします。

fsp_download_github

2. ダウンロードしたファイルを実行し、インストールします。

「e2studio」、「FSP」、「Smart Configurator」が一括でインストールされます。

セットアップ画面

3. 次に内蔵フラッシュ書き込みソフト「Renesas Flash Programmer」のインストーラを以下のサイトよりダウンロードします。最新のWindows版を選択してください。

4. ダウンロードしたファイルを実行し、インストールします。「Renesas Flash Programmer」がインストールされます。

ルネサス エレクトロニクス マイコン開発ツールインストーラ

(4)JTAGエミュレータ

RAマイコンのプログラムのデバッグおよび書き込みには、JTAGエミュレータを使用します。JTAGデバッガやデバッグプローブとも呼ばれます。JTAGエミュレータは、PC側はUSBポートに接続し、マイコン側はJTAG端子(コネクタ)に接続します。

RAマイコンは、基本的にArm Cortex-Mコアに対応するJTAGエミュレータであれば利用できますが、今回は「e2studio」が対応する製品をご紹介します。

E2エミュレータLite

ルネサス エレクトロニクス社純正のJTAGエミュレータです。
e2studioをはじめ、ルネサス エレクトロニクス社が提供するツールに最適化されており、RAマイコンのほか、RXマイコンやRLマイコンにも対応しています。上位版としてE2エミュレータがあります。

J-Link

SEGGER社の汎用JTAGエミュレータです。
e2studioに対応しており、RAマイコン用の各種ツールにも対応しています。また、ルネサス エレクトロニクス社のRAマイコンやRZマイコンのほか、各社のマイコンにも対応しています。SEGGER社が提供する各種ツールソフトも利用できます。
詳しくはSEGEER社の製品情報をご覧ください。

E2エミュレータLite
「E2エミュレータLite」と「AP-RA6M-1A」の接続

JTAGコネクタについて

ArmのJATGコネクタには、20pinや10pinなどコネクタの規格が複数ありますが、当社のRA搭載CPUボードは10pinハーフピッチコネクタとなっています。
E2 Liteでは、20pin-10pinケーブル「RTE0T00020KCAC1000J」を使用します。
また、E2 Lite以外のデバッガの場合、各デバッガメーカーより提供されている対応ケーブルをご用意ください。

2. プログラムの開発手順

RAマイコンの開発環境の準備が完了したら、実際にソフトウェアの開発をはじめます。

今回は、RA6M5(Cortex-M33@200MHz)を搭載したCPUボード「AP-RA6M-1A」とサンプルプログラムを使用して、プロジェクトをビルド・デバッグするまでの流れを説明します。

より詳しい内容は、「AN2002 RAファミリ開発チュートリアル」を参照してください。

  1. 1. プロジェクトのインポート
  2. 2. デバイスドライバ・ミドルウェア
  3. 3. コーディング・ビルド
  4. 4. デバッグ

(1)プロジェクトのインポート

ユーザープログラムを作成する場合、ベースとなるサンプルプログラムを利用することで効率よく開発が進められます。
まずは、e2studioでベースとなるプログラムのプロジェクトをe2studioにインポートします。
「AP-RA6M-1A」ではサンプルプログラムを提供しているので、ご利用ください。

(2)デバイスドライバ・ミドルウェアの設定

デバイスドライバ・ミドルウェアを設定するためSmart Configuratorを起動し、FSPから必要な機能を出力・設定を行います。
Smart ConfiguratorではCPUのクロックやピンアサインの設定から、使用するドライバやミドルウェアまでもGUIで設定し、ソースコードを生成することができます。これまで組込み開発の初心者にとってはハードルが高かったハードウェア機能の設定を、マウスの操作だけで簡単に済ませることができます。

クロック設定画面
クロック設定画面
ピン設定画面
ピン設定画面
ソフトウェアスタック設定画面
ソフトウェアスタック設定画面

(3)コーディング・ビルド

デバイスドライバ・ミドルウェアの設定が完了したら、アプリケーション部のコーディングを行い、ビルドします。

エディタ画面
エディタ画面

(4)デバッグ

ビルドが正常に完了したら、実機でのデバッグを行います。
JTAGエミュレータを接続した「AP-RA6M-1A」に電源を入れて、e2studio上のデバッグボタンを押すと、マイコンにプログラムがダウンロードされ、デバッグが開始されます。
e2studio上のデバッグ画面を操作して、プログラムが仕様通りに動作しているか確認します。

デバッグ画面
デバッグ画面

製品のご案内

本コラムのより詳細な内容については、下記の製品のアプリケーションノートとして、公開しております。
アプリケーションノートでは開発にお役立ていただける技術情報を多数公開しておりますので、興味のある方はぜひ製品をご利用ください。

  • ※ArmおよびCortexは、米国および/またはその他の地域におけるArm Limited(またはその子会社)の登録商標です。
  • ※記載されている会社名、製品名は、各社の登録商標または商標です。
  • ※記載の内容は改良のため、予告なく変更する場合がございます。