RXファミリ開発環境 「ソフトウェア」 のご紹介
RXファミリ開発環境では、お客様が開発をすぐにスタートできるように、ボード依存プログラム、周辺機能ドライバ、ミドルウェアおよび使用方法のドキュメントなど、すべてを同梱したソフトウェアパッケージをご提供しています。また、これらのパッケージを利用した応用例やデバイスの制御例などに関する豊富なサンプルコードおよびドキュメントも用意しています。
*Microsoft社は、Azure RTOSのオープンソース化を発表しています。 Azure RTOSは今後、Eclipse FoundationからEclipse ThreadXとして提供されます。詳細は Microsoft Contributes Azure RTOS to Open Source をご確認ください。
さまざまなソフトウェアの組み合わせによりユーザプログラム開発を支援
RXファミリ用のソフトウェアは統合開発環境(e² studio/CS+) により以下ソフトウェアモジュールを組み合わせたユーザコードテンプレートとして構成することができます。
ユーザはOS、ドライバ/ミドルウェア、ボード依存プログラムを作成する必要がなく、アプリケーション開発に注力できます。
- ユーザコードテンプレート
main()関数やリアルタイムOS毎のタスク関数のテンプレート出力が可能です。ユーザはここにユーザシステム向けの独自コードを追加することができます。ユーザはテンプレートを カスタムするだけでユーザシステムを作ることができます。
- 設定済みのリアルタイムOS
インターネット接続が必要なシステムを検討する際に適する リアルタイムOSである、AWS社が提供する「FreeRTOS」、Microsoft社が提供する「Azure RTOS」をユーザプログラムに取り込むことが可能です。
*Microsoft社は、Azure RTOSのオープンソース化を発表しています。 Azure RTOSは今後、Eclipse FoundationからEclipse ThreadXとして提供されます。詳細は Microsoft Contributes Azure RTOS to Open Source をご確認ください。
- 設定済みの周辺機能ドライバ/ミドルウエア
A/D変換、IIC、SPI、UART、タイマ機能、PWM出力など、マイコン制御に必要な「周辺機能ドライバ」やファイルシステム、暗号処理、TCP/IPなどの規格化されたデータ処理を行う際に必要な「ミドルウェア」をユーザプログラムに取り込むことが可能です。
- 設定済みのボード依存プログラム
マイコンの端子機能の設定などの「ボード依存プログラム」を ユーザプログラムに取り込むことが可能です。
統合開発環境(e² studio/CS+) は「リアルタイムOS」 「周辺機能ドライバ」 「ミドルウェア」 「ボード依存プログラム」をGitHub上で適切にバージョン管理されたリポジトリから自動でダウンロードします。
例えば統合開発環境(e² studio/CS+) の画面上で以下の手順によって非常に短期間に ユーザプログラムとして構成することができます。
- 利用しているボードを選択
- 必要なソフトウェアを選択
- ソフトウェアを設定
- ソフトウェアをRXにダウンロード/デバッグ
また、統合開発環境は評価ボードからユーザシステムボードへのプロジェクト移行を支援する機能が充実しています。これにより初期評価完了後すぐにユーザーシステムボードでの評価を開始できます。
ソフトウェアパッケージ
RXファミリは、周辺機能およびミドルウェアのソフトウェアパッケージとして、「Code generator」と「FITソフトウェアモジュール」の二種類を用意しています。
「Code generator」はGUIによるパラメータ設定のみでドライバを自動生成できます。 FITソフトウェアモジュールは”Firmware Integration Technology(以下、FIT)”の仕様に適合して作成されたモジュール群です。これはRX Driver Packageとしてパッケージングして準備されており、モジュール間の結合も簡単に行えます。
Code GeneratorとFITソフトウェアモジュールは統合開発環境に含まれる「Smart Configurator」を使用して利用することができます。それぞれメリットがあり、ユーザはこの2つを併用して利用することができます。
Code GeneratorとFITソフトウェアモジュールの比較
Code Generator | FITソフトウェアモジュール | |
---|---|---|
プロジェクトへの組み込み方法 | GUIによるコンフィグ設定後自動コード生成 | FIT仕様に基づくソフトウェアモジュールの組み込み |
レジスタ初期設定と使用方法 | Smart ConfiguratorのGUI画面で必要情報を入力し、レジスタ初期設定値を含むコードを自動出力 出力されたStart関数、Stop関数などをコールして処理を実現 | Smart Configuratorで可読性の高い設定値定義ファイル(ヘッダファイル)を出力し、それを読み込んだFITソフトウェアモジュールが適切にレジスタに反映。 ユーザは用意されたAPI関数をコールして処理を実現。 |
プログラム実行中のレジスタ変更 | - | 関数の引数に設定して動的にレジスタ変更が可能(シリアルのビットレート調整、タイマの周波数設定など) |
メリット | 生成されるコードは簡易かつコンパクトなため、可読性に優れ、メモリの節約が可能 生成されたコードは上位層のユーザアプリケーションに合わせたカスタマイズが可能 | FITソフトウェアモジュールが提供するユーザプログラムとのI/F部分はRXファミリの製品間ですべて共通のため、ユーザはRXファミリ間のマイコン移行が容易 *ユーザプログラムの変更なく、FITモジュールの入れ替えだけで移行が可能 |
適切なシステム例 | A/D変換やタイマ制御などデバイス単体で機能実現可能な機能のみを搭載するシステム | リアルタイムOSやミドルウェア等、複数のソフトウェアモジュールを結合する必要のあるシステム |
個人や少数で開発するシステム | 複数人で開発するシステム |
ユースケース
各ソフトウェアはモジュール化されており、任意のソフトウェアおよびボードの組み合わせによりユーザプログラムを構成することができます。
例えば以下のような多様なシステムを構成することができます。
- RX MCU評価キット上のMCU内蔵タイマ機能を用いてLEDを定期的に明滅させるシステム(初歩的な初期評価プログラム)
- RX MCU評価キットでFreeRTOSやAzure RTOSを用いてLEDを定期的に明滅させるシステム (リアルタイムOS含む初歩的な初期評価プログラム)
*Microsoft社は、Azure RTOSのオープンソース化を発表しています。 Azure RTOSは今後、Eclipse FoundationからEclipse ThreadXとして提供されます。詳細は Microsoft Contributes Azure RTOS to Open Source をご確認ください。
- RX MCU評価キット上のセンサから取得したデータをAWSにアップロードするシステム
- RX72N Envision Kitに搭載されたSDカードへのファイルアクセスシステム
- RX65N RSK上のシリアルポートからデータ受信しセルフプログラミングするシステム
RX Driver Package
RX Driver package(RDP) は、FITの仕様に基づくソフトウェアモジュールパッケージです。RX共通のApplication Program Interfaceを用いているので製品間の移行が容易であり、資産を有効に活用することができます。
RXマイコン共通のソフトウェアプラットフォーム
RDPは、マイコンの初期化、フラッシュセルフプログラミング、タイマ制御、UART通信、A/D等の基本機能や、USB、Ethernet等の応用機能を利用するためのソフトウェアパッケージです。
RXマイコンの周辺機能をすぐに利用でき、お客様の試作検討期間を大幅短縮するだけでなく、Firmware Integration Technology (FIT)を活用したアプリケーションは、すべてのRXマイコンに流用することができるためお客様製品の機種展開時にソフトウェア開発コストも大幅に削減できます。
ドライバ / ミドルウェア / OS
カテゴリ | 用途 | 名称 | 内容 |
---|---|---|---|
ドライバ生成 | Code Generator | スマート・コンフィグレータ | スマート・コンフィグレータは、「ソフトウェアを自由に組み合わせられる」をコンセプトとしたユーティリティです。FITモジュールのミドルウェアをインポート、ドライバコード生成、端子設定の3つの機能で、お客様のシステムへのルネサス製ドライバの組み込みを容易にします。 *RX210、RX220、RX63x、RX62xシリーズは、Peripheral Driver Generatorによりサポートしています。 |
ドライバ | On-chip Flash Memory | M3S-DATFRX | RXファミリ用データフラッシュドライバです。 |
SD Card | RXファミリ用SDカードドライバ | RX内蔵SDホストインタフェース(SDHI)を使用してSDカードを制御するデバイスドライバです。 | |
e・MMC | マルチメディアカード/e・MMCドライバ | RX内蔵のマルチメディアカードインタフェース(MMCIF)を使用してマルチメディアカードおよびe・MMCを制御するデバイスドライバです。 | |
Serial Memory | I2CシリアルEEPROMドライバ | RXファミリ I2Cバス シリアルEEPROM R1EX24xxxシリーズ、R1EV24xxxシリーズおよびHN58X24xxxシリーズ用デバイスドライバです。 | |
SPIシリアルEEPROMドライバ | RXファミリ SPIバス シリアルEEPROM R1EX25xxxシリーズ、HN58X25xxxシリーズ用デバイスドライバです。 | ||
SPI/QSPIシリアルフラッシュメモリ・QSPIシリアル相変化メモリドライバ | RXファミリ SPI/QSPIバスシリアルフラッシュメモリ用、QSPIバスシリアル相変化メモリ用デバイスドライバです。 | ||
ミドルウェア | Sensor | センサソフトウェア | センサミドルウェアとI2Cコミュニケーションミドルウェアを組み合わせて使用することで、マイコンの種類やI2C通信インタフェースの制御方法を意識することなく、簡単かつ短期間にルネサスセンサの応用製品を開発することが可能になります。 |
USB | USBドライバ | RXマイコン内蔵のUSBインターフェースを使用したUSB通信が可能なデバイスドライバです。 | |
File System | M3S-TFAT-Tiny | RXファミリ用オープンソースFATファイルシステムです。 | |
Protocol Stack | RXファミリ用 Bluetooth® Low Energyプロトコルスタック | RX23WのBluetooth機能を利用するには、Bluetooth仕様に準拠したプロトコルスタックが必要です。 Bluetooth仕様に準拠したプロファイルおよびメッシュソフトウェアにより、広いアプリケーションエリアでBluetooth製品の相互接続性を高めます。 | |
Sub-GHz/Wi-SUN プロトコルスタック* | Sub-GHz無線通信ソリューション向けソフトウエアは、RL78/G1H、またはRX651+RAA604S00のプラットフォームに搭載され、 国際標準規格IEEE802.15.4に基づくWi-SUNプロファイルの無線通信プロトコルを実現します。 *FITには準拠しておりません。 | ||
M3S-T4-Tiny | RXファミリ用のTCP/IPプロトコルスタックです。メモリを節約できる非常にコンパクトな設計になっています。LANコントローラ用サンプルドライバも提供しており、Renesas Starter Kitですぐに動作確認することができます。 | ||
Security / Cipher | 暗号ライブラリ | RXファミリ用の暗号ライブラリ(AES、RSA、DES、SHA)です。セキュリティが必要とされる各種システム開発のために強固な暗号ライブラリを提供します。 | |
Trusted Secure IPドライバ | RXファミリ用のTrusted Secure IPドライバ・ソフトウェアです。AES(128/256bit鍵)、AES-GCM、AES-CMAC、乱数生成、AES鍵管理機能、セキュアファームウェアアップデート/セキュアブートといった機能を高速・安全に実行可能です。 | ||
Imaging | JPEG圧縮/伸張 - オールソフト版JPEGソフトウェアライブラリ | オールソフト版JPEGソフトウェアライブラリは、JPEGデコーダ(JPEG画像伸張ライブラリ)とJPEGエンコーダ(JPEG画像圧縮ライブラリ)で構成されます。 | |
DSP / FFT | DSPライブラリ | DSP(Digital Signal Processor)で使用される数値演算機能をRXマイコンで実現するソフトウェアライブラリです。入力データ32-bit整数データのFFT、IIRフィルタ等を高速に実現します。 | |
Sound / Voice | M3S-S2-Tiny | 省メモリタイプの音声再生システムです。独自アルゴリズムにより、高速コンパクトに音声のADPCM伸張を行います。表示のみであった機器等に音声出力の機能を付加することができます。 | |
OS | ITRON OS | RXファミリ用リアルタイムOS [RI600V4] | 組み込み用OSとして実績のあるμITRON仕様準拠のリアルタイムOSです。高品質なリアルタイム・マルチタスク環境を備えた組み込みシステムを実現します。 |
RXファミリ用リアルタイムOS [RI600PX] | メモリ保護機能を使用する場合はこちらをご使用ください。RI600V4にメモリ保護機能を追加した製品です。メモリプロテクション機能を搭載したRXマイコン製品(RX700シリーズ、RX600シリーズ、RX200シリーズ)でご利用でき、信頼性の高いシステムの実現に貢献します。 |
サンプルコード
各種パッケージソフトウェア、ミドルウェア、ドライバを利用した応用例やデバイスの制御例などのサンプルコードです。