RA用FSP v5.4.0リリース

2024年6月27日、ルネサスRA用FSP v5.4.0同梱e2 studio 2024-04がリリースされました。セミナ参加のため、久しぶりに最新FSPへ更新したところ、弊社RAベアメタルテンプレートのFSPバージョン出力にバグを発見しましたので修正対策を示します。

Summary:FSPバージョン出力コード修正箇所

修正前:コンパイルエラ発生(RttViewer.cのL41)

APP_PRINT(“\r\n–> Current FSP version is v%d.%d.%d.”, version.major, version.minor, version.patch);

修正後:version_id_bをmajor/minor/patch前に追加

APP_PRINT(“\r\n–> Current FSP version is v%d.%d.%d.”, version.version_id_b.major, version.version_id_b.minor, version.version_id_b.patch);

修正後のJ-Link RTT ViewerによるFSPバージョン出力結果です。

J-Link RTT Viewer V7.96qのFSPバージョン出力
J-Link RTT Viewer V7.96qのFSPバージョン出力

最新RA用開発ソフトウェアツール

無償版RAファミリソフトウェア開発ツールは以下3つで、現時点の最新版が下記です。

  1. e2 studio:統合開発環境、Version 2024-04
  2. FSP:Flexible Software Package、RA用API生成ツール、Version 5.4.0
  3. SEGGER J-Link RTT Viewer:printf出力ツール、Version 7.96q

開発には、FPB-RA6E1/RA4E1などのハードウェアツールも必要です。本稿は、上記3ソフトウェアツール更新に焦点を当てます。

2022年4月30日のRAベアメタルテンプレート開発・発売から2年経過し、3ソフトウェアツールがそれぞれ更新されました。ツール更新に伴い、本稿のようなトラブルが発生する場合があります。その対策を示します。

コンパイルエラ対策

最新ツールへ更新後、以前のエラーフリーソースをコンパイルすると、以下のエラが発生します。

コンパイルエラ発生個所
コンパイルエラ発生個所

メンバ名major/minor/patchが不明なのが原因です。

対策に、version定義のfsp_pack_version_tを調べます。fsp_pack_version_tへカーソルを移動し、F3をクリックすると、fsp_pack_version_t定義箇所fsp_version.hへ自動的に移動します。

FSP Pack version構造体
FSP Pack version構造体

※F3クリックは定義検索に便利。これはEclipse IDE共通機能。

fsp_pack_version_tは、過去有った構造体が無くなっています。そこで、ソースmajor/minor/patchの前に、version_id_bを加えるとコンパイルエラは無くなります(構造体と共用体投稿はコチラ)。

e2 studioとRA用FSP更新

統合開発環境e2 studioとRA用FSPは、別々の更新タイミングです。各更新タイミングで、それぞれを最新版へ更新するのも1方法です。

しかし、これら2つを同梱し、同時に最新版へ更新できるWindowsパッケージが、FSP v5.4.0 with e2 studio 2024-04です(Mac/LinuxパッケージはリリースGitHubにあり)。同梱パッケージは、更新2度手間が省けるだけでなく、個別更新トラブルも避けられます。

同梱パッケージは、個別インストール版よりも数か月遅れてリリースされますが、お勧めの更新方法です(同梱投稿はコチラのまとめ参照)。

SEGGER J-Link RTT Viewer更新

SEGGER J-Linkダウンロードサイト
SEGGER J-Linkダウンロードサイト

RTT Viewerは、既存版が自動的に最新版へ更新されます。しかし、SEGGER社リンクから直接最新版をダウンロードするのも1方法です。古いVersionをお使いの方は、この方法も良いでしょう(RTT Viewerのprintfデバッグ関連投稿はコチラ)。

Afterword:環境依存トラブル対策

今回のような更新トラブルは、組込み開発では良くあります。開発品を顧客へ納入後、数年経ってから機能追加/修正の案件がある場合などです。納入開発環境と、最新版環境の差による「環境依存トラブル」です。

本稿は、簡単なメンバ名追加で対策できました。しかし、例えばAPI内部差によるトラブル等は、容易ではありません。安全側対策に、納入時の旧環境をそのまま使い続ける方法があります。同一MCUで新機能は使わない場合などは、有効な方法です。

一方、新機能の追加/修正やMCU変更案件は、環境依存トラブルも加味したスケジュール対策が望ましいと思います。どの程度加味するかが難しい問題ですが…。

お詫び

弊社RAベアメタルテンプレートV1ご購入者様は、本稿修正をお願い致します。また、この場を借りて、お詫び申し上げます。ご迷惑をおかけし、申し訳ございません。


RAファミリ最新情報とFSP

ルネサスは、最近元気です。特にRAファミリMCUにその傾向が顕著です。RAファミリ最新情報を2件ピックアップし、ルネサスRAファミリソフトウェア開発の鍵:FSP習得の重要性を示します。

Cortex-M85搭載AI処理実装RAファミリ

Cortex-M85搭載RAファミリによるAI人物検出デモ(出展:ルネサス)
Cortex-M85搭載RAファミリによるAI人物検出デモ(出展:ルネサス)

2023年3月14日~16日、ドイツ開催embedded world 2023で、ルネサスは、Cortex-M85コア搭載のRAファミリへAI処理を実装し、人物検出へ適用したデモを行いました。

従来、人物検出アルゴリズム実行には、Cortex-M7クラスMPU(Micro Processor Unit)が必要でした。このCortex-M85搭載RAファミリにより初めてMCUでもAI処理可能となり、MPU比、低コストで低消費電力動作など革命が起こるそうです。

このCortex-M85搭載RA MCUは、2023年中にリリース予定です。

SDR搭載RAファミリサンプル出荷

SDR(Software Defined Radio)は、ソフトウェアにより無線機能の変更が可能なハードウェアのことです。Cortex-M33コアRAファミリに搭載するSDRは、Bluetooth 5.3 Low Energyまでの各種Bluetooth仕様に対応しました。

つまり、ソフトウェアを更新すれば、常に最新バージョンBluetooth準拠のMCUになる訳です。2023年4月11日、このRA MCUのサンプル出荷が始まりました。

SDR搭載RA MCUは、ルネサス初の22nm製造プロセスMCUです。但し、22nmロジックとは異なる製造プロセスの不揮発性メモリを混載封止したSIP(System In Package)版MCUです。

不揮発性メモリまで同一の22nmで製造し、さらに高速で製造原価を下げたMCUの提供時期は、未定です。SIP版で機能優先のサンプル出荷を開始したのでしょう。

RAファミリへ最新技術を適用する理由

これら最新技術は、従来のMCUファミリには搭載しづらいです。その理由が以下です。

先ずハードウェア的には、最新技術が22nmなど先端MCU製造プロセスをベースにしていること、また、IoT向きCortex-M33/M85コアのRAファミリの方が、従来コアへ最新技術を追加するより性能的にも導入し易いこと、などです。

次にソフトウェア的には、RAファミリが、新しいFSP(Flexible Software Package)で開発することも一因です。簡単に言うと、FSPはAPI生成ツールです(関連投稿:MCUベンダAPI生成ツール比較2020年版)。

FSPは、HALやBSPなどハードウェア依存部分を隠ぺいしつつ効率的MCUソフトウェア開発ができる
FSPは、HALやBSPなどハードウェア依存部分を隠ぺいしつつ効率的MCUソフトウェア開発ができる

IoT MCU製品は、従来のベアメタルソフトウェア開発へ、RTOSや通信、セキュリティなど様々な機能が追加されます。

これら追加機能は、製品毎に適用が大きく変わる可能性が高く、その変更に対し開発ソフトウェア流用性や、柔軟かつ素早い対応も求められます(前章SDR搭載RA MCUが一例)。

FSPは、BSP(Board Support Package)やHAL(Hardware Abstraction Layer)を利用しMCU個別ハードウェア依存部分を隠ぺいしつつ、効率的かつ柔軟にソフトウェアの早期開発ができるよう工夫されています。

最新ルネサスMCUファミリソフトウェア開発の鍵FSP

つまり、ルネサス最新技術を活用したIoT MCU製品の早期開発には、FSPを上手く使えることが重要です。

FSPが扱うソフトウェアは、従来のベアメタル開発だけでなく、RTOS(Azure RTOS/FreeRTOS)や通信、各種USB、TrustZoneセキュリティなどと広範囲に及ぶため、FSP活用にはコツや慣れも必要です。

逆に、この鍵となるFSPを開発者が習得すれば、RAファミリに限らずルネサス最新IoT MCU製品化に、大きく貢献できる訳です。FSPは、RAファミリ以外のルネサスMCU開発へも適用されています。

まとめ

最新RAファミリソフトウェア開発の鍵:FSP
最新RAファミリソフトウェア開発の鍵:FSP

最新技術搭載のルネサスRAファミリMCUは、今後急速に増えます。最新RAソフトウェア開発の鍵:FSPを習得し、ベアメタル/IoT MCUソフトウェア開発に貢献できるようスキルを磨きましょう。

FSP習得方法

弊社RAベアメタルテンプレート(1000円税込)は、効率的かつ効果的にFSP習得ができます。将来的には、RTOSへも対応したRA RTOSテンプレート(仮名)も開発予定です。

判り易い添付資料と低価格で入手性が良いFPB-RA6E1、または、FPB-RA4E1評価ボードと、Baseboardを利用すれば、どなたでもFSP提供サンプルコードを活用、流用したRAベアメタル開発が可能で、FSP利用のコツも掴めます。是非、ご活用ください。




Tips)最新FSP v4.3.0でも、RTOS開発に100%対応はしていません。例えば、Developer Assistanceは、ベアメタルHAL callback関数定義はできますが、FreeRTOS callback関数定義はできません。
今後のFSP改版で、RTOSへの対応も広がるでしょう。但し、FSP習得タイミングとしては、ベアメタル開発に完全対応済みの「今がチャンス」と言えます。



RAファミリクラウド開発環境提供

ルネサスは、クラウド上のMCU開発環境でRAファミリの開発ができる「クイックコネクトスタジオ」の提供を開始しました(2023年3月1日)。

ブラウザのみで使えるクラウド開発結果を、ローカル環境のe2 studioへダウンロード可能でRAファミリプロトタイプ開発の早期立上げに役立ちます。

クラウド開発の利用手順

クイックコネクトスタジオ利用手順(EK-RA2E1開発例)
クイックコネクトスタジオ利用手順(EK-RA2E1開発例)

クラウドMCU開発環境クイックコネクトスタジオの利用手順を、簡単にまとめます。

  1. クラウドクイックコネクトスタジオへログイン
  2. 画面右側のGETTING STARTに沿って操作
  3. 新規プロジェクト作成→RAボード選択→PMODモジュール選択→ビルド→開発Zipファイルをローカル環境へダウンロード
  4. クラウド開発Zipファイルをローカル環境e2 studioへインポート
  5. 手元に用意したRAボード+PMODモジュールで実動作確認

Zipファイルには、ハードウェア選択肢のRAボードとPMODモジュールのベアメタル開発サンプルコードが生成済みです。1~3で使うツールはブラウザのみ、新規プロジェクト作成からZipファイルダウンロードまで数分でできます。

クイックコネクトスタジオのクラウドハードウェア構成と同じものをローカル側に用意すれば、直に動作するサンプルコードが僅か数分で入手できる訳です。

クイックコネクトスタジオ利用により、プロトタイプ開発の早期立上げが実現可能です。

EK-RA2E1、EK-RA6M4評価ボード対応中

4月5日現在、クイックコネクトスタジオが対応しているのは、EK-RA2E1EK-RA6M4の2種RAファミリ評価ボードです。PMODモジュールは、通信関連がBluetoothとWi-Fi、センサ関連がフローセンサと湿度・温度センサです。

関連投稿:PMODモジュール

これらは、IoT製品向きの品揃えです。現在のハードウェア選択肢は少数ですが、今後、品揃えも豊富になるでしょう。

また、ベアメタル開発だけでなくRAファミリの得意分野FreeRTOSやAzure利用のRTOS開発や、セキュリティ強化TrustZoneへも、クイックコネクトスタジオが対応する可能性があります。

注)Cortex-Mxコアに比べTrustZoneなどのセキュリティ強化Cortex-M33/23コアがRAファミリ特徴。

サンプルコードの新しい入手方法

MCU利用の早期製品化には、プロトタイプ開発が必須です。

ベンダ各社は、多くのサンプルコードを提供しプロトタイプ開発支援を行っています。しかしながら、提供サンプルコード数が多いため、どのサンプルコードを利用すれば良いか開発者が迷う欠点もあります。

クイックコネクトスタジオは、評価ボードや使用センサ、通信方法をGUIで選択しながらMCUハードウェアが構築でき、構築ハードウェアの最新サンプルコードをクラウド上で簡単に作成できます。

つまり、プロトタイプ開発に適すサンプルコードを、間違わずに簡単入手が可能です。また、プロトタイプの仕様が変更になっても、クラウド上で「クイック」に対応できます。

さらに、RTOS開発では、AWSやAzureの接続先、TrustZone利用有無、OTA更新有無など製品化の選択肢がベアメタル開発に比べより多くなります。

注)AWS:Amazon Web ServicesはFreeRTOS、Azure:MicrosoftクラウドはAzure RTOS利用。OTA:Over The Airは、IoT製品ソフトウェア更新をクラウド経由で行うこと。

クラウド上で、これら接続先や利用有無に応じた必須ライブラリを自動的にZipパッケージ化してくれれば、ローカル開発環境の準備ミスも防げます。

クイックコネクトスタジオは、プロトタイプサンプルコードの新しい入手方法になると期待できそうです。

RAベアメタルテンプレート販売中

RAベアメタルテンプレートのP1
RAベアメタルテンプレートのP1

ローカル環境でのFSP利用RAファミリベアメタル開発は、弊社RAベアメタルテンプレート(税込1000円)をお勧めします。RAファミリの低価格で入手性も良いFPB-RA6E1FPB-RA4E1評価ボードと、Baseboardで動作確認済みです。

添付資料には、RAファミリ開発の鍵となるFSPの使い方やe2 studioのTipsも掲載済み、FSPサンプルコードを活用できる実務直結テンプレートです。

RAファミリ開発の早期習得ができ、添付資料P1~P3は、テンプレートサイトから無料ダウンロードも可能です。

ご購入、お待ちしております。



8/16ビットMCU置換えを狙う32ビットMCU

半導体不足が続いています。対策として、8/16ビットMCU置換えを狙った、汎用低コストの新しい32ビットMCUを2種紹介します。

STマイクロ:STM32C0シリーズ

STマイクロ、2023年1月12日、低価格なSTM32C0シリーズ(Cortex-M0+:48MHz、Flash:16K/32K、RAM:6K/12K)を発表。

STM32C0とSTM32G0の位置づけ(出展:STMサイト)
STM32C0とSTM32G0の位置づけ(出展:STMサイト)

ルネサス:RA2グループ

ルネサス、2021年10月13日、省スペース低消費電力向けにRA2E2グループ(Cortex-M23:48MHz、Flash:64K、RAM:8K)を、RA2シリーズへ追加。

RA2E2評価ボードのMCU基板アートワーク
RA2E2評価ボードのMCU基板アートワーク

8/16ビットMCU置換え最新32ビットMCU特徴

  • 少数ピン/小型パッケージ
  • 小容量Flash/RAM
  • 低消費電力
  • 低価格(8/16ビットMCUと同等)

8/16ビットMCU置換えを狙う32ビットMCU特徴です。置換え32ビットMCUと言えば、古くからNXP:LPC800シリーズが有名なので、本稿は省略しました。

動作周波数が高くても、Sleepなどの超低消費電力動作時間も長く、実働消費電力は驚くほど小さくなります。また、古い8/16ビットMCUよりも入手性に優れます。

置換え32ビットMCUメリット

旧MCU開発は、周辺回路ドライバなども自主開発することが多く、ドライバとアプリケーションの境界も開発者毎にバラバラでした。最新MCU開発は、ドライバはベンダHAL API生成ツールが自動生成します。

その結果、開発者は、アプリケーション開発に集中でき、ソフトウェア開発費も安くなります。

※HAL API:MCUハードウェアに依存しない(Hardware Abstraction Layer)API。シリーズ/グループが異なっても開発アプリケーション流用が容易。

既に実装済みの旧8/16ビットMCU機能を最新32ビットMCUへ置換える時も、この最新MCU開発環境が使えるため、効率的なソフトウェア開発が可能です。更に、置換えだけでなく、新機能追加、IoTやセキュリティなど高機能アップグレートも容易です。

最新汎用32ビットMCUは、半導体不足にも有効です。紹介したSTマイクロ、ルネサスいずれも、上位MCUへの置換えが可能な基板アートワークができるピン配置を採用しています。

つまり、IoT時代に合わせた開発スキルやソフトウェア発展性があり、基板ハードウェア持続性も期待できるなど、8/16ビットMCU置換え汎用32ビットMCU採用には、多くのメリットがあります。

STM32G0テンプレート、RAベアメタルテンプレート

STM32C0シリーズ開発には、STM32G0Xテンプレート、RA2グループ開発には、RAベアメタルテンプレートがお役に立てます。