API

Synergy Software Package(SSP)に実装され、ThreadX® RTOSと完全に統合された、システムレベルサービスです。

Synergy Software Package(SSP)に実装されたアプリケーションプログラミングインタフェース(API)は、デバイス固有のコンポーネントを抽象化して、ロウレベルソフトウェアやハードウェアを介さずにマイクロコントローラの機能にアクセスすることができます。このAPIは、アプリケーションソフトウェア開発とRenesas Synergy™ プラットフォーム上で構築されたソフトウェア製品間でのコード再利用を容易にし、開発を加速します。またThreadX® RTOSと完全に統合されています。

Real-Time Operating System

IoTシステムでは、複数のイベントがリアルタイムに発生します。この複雑性を管理するには、個別のイベント要求に対しての確実な実行と、CPUもしくはダイレクトメモリアクセス(DMA)チャンネルからのタイムリーな応答が必要です。これを達成するためのもっともシンプルで確実な方法は、リアルタイムオペレーティングシステム(RTOS)を使用して、組み込みスレッドの優先度設定とスケジューリングを行うことです。これにより、一貫性のある、高速なパフォーマンスが保証されます。

Real-Time Operating System

ThreadX® RTOS

Thread  X RTOS

ThreadX®

ハイエンドアプリケーションから、リソース制約のある組み込み機器まで、すべての製品向けに設計されたExpress Logic製の先進のRTOSです。

ThreadX®は、Event-chaining™やpicokernel™アーキテクチャに加えて、メッセージングサービス、割り込み管理やPreemption-Threshold™スケジューリングなどを効率よく実行するために、高度な同期機能を備えています。ThreadX®は、民生機器/電子医療機器/工業制御市場において500万台以上の電子製品に実装されるなど広く普及しており、重要な安全規格および品質規格を数多く満たしています。

 

picokernel™アーキテクチャ

高速な応答時間を可能にするリーンRTOS設計です。

ThreadX®は、従来のマイクロカーネルアーキテクチャのようにカーネルサービスを重ねるのではなく、コアに直接接続するpicokernel™アーキテクチャを採用しています。これにより、効率の高いコンテキストスイッチとサービスコールパフォーマンスを実現しています。

 

Event-chaining™テクノロジー

ThreadX®は、通知機能を使用してさまざまな同期イベントを「Chain」で繋ぎます。アプリケーションは、キューメッセージ、イベントフラグ、セマフォをチェックするための個別スレッドを持たずに、各オブジェクトに関する通知を受信できます。

このように複数のイベントを同期させることで、スレッド数、オーバーヘッド、RAM容量を削減します。

 

Preemption-Threshold™スケジューリング

優先度の高いスレッドが優先度の低いスレッドに割り込むことで、重要なアプリケーションイベントへのタイムリーな対応を実現します。

ThreadX®は、スレッドが一時的にプリエンプション・スレシュホールドを変更できるようにすることで、多くの同期問題に対処でき、優れた制御と柔軟性を実現します。

Application Framework

シンプルなAPIで豊富な機能を実現する独立したフレームワークです。

このフレームワークは、スレッド間のリソース競合管理と同期のために、ThreadX® RTOSと統合されています。ユーザは、頻繁に使用するサービスを開発する必要がなくなり、さらにハードウェアと直接インタフェースをとる必要もないため、開発時間の短縮が可能です。さらにプロセッサ間でコードを再利用することで、開発サイクルを短縮します。

Application Framework

Application Framework

Application Framework

Audio Framework

ハードウェアコンポーネント間で同期をとり、オーディオコンテンツを再生します。

シームレスなオーディオ再生のために、タイマやダイレクトメモリアクセス(DMA)コントローラ、D/Aコンバータ(DAC)などの複数の周辺回路での必要な同期を処理します。非圧縮16ビットモノリニアパルス符号変調(PCM)サンプル、および複数の周辺機器経由の音声出力をサポートします。

Application Framework

SPI Framework

SPI、SCI(Serial Communications Interface)と接続された外部デバイスとのシリアル通信を、SPIモードで行います。

SPIフレームワークは、SPIおよびSCI周辺回路のための単一インタフェースを提供し、適切なロウレベルドライバを呼び出します。単一バスまたは複数バス、単一バス上の複数スレーブ、およびバス制御/ロック機能をサポートします。

Application Framework

Console Framework

UART経由でコマンドや入力文字列を受信し、処理をおこない、適切なルーチンを呼び出します。

コンソールフレームワークは、コマンドラインインタフェース(CLI)のベースになります。UART経由でコマンドや入力文字列を受信し、内容を解析して、関連するコマンドハンドラルーチンを呼び出します。また、USB CDC(Communication Device Class)などのその他のシリアルインタフェースからの入力も処理します。

Application Framework

I2C Framework

I2C、SCI(Serial Communications Interface)と接続された外部デバイスとのシリアル通信を、I2Cモードでおこないます。

I2Cフレームワークは、この二つの周辺回路のための単一インタフェースを提供し、適切なロウレベルドライバを呼び出します。同時アクセス要求に対応するため、相互排他と同期のサービスをおこないます。

Application Framework

JPEG Decode Framework

オンチップのハードウェアアクセラレーターを利用して、JPEG復号をおこないます。

JPEG復号フレームワークは、アプリケーションに対して以下を指定します。

  • ・水平および垂直サブサンプリング値
  • ・水平ストライド
  • ・復号ピクセル形式
  • ・入力および出力データ形式
  • ・色空間

 

さらに、符号化入力データのストリーミングをサポートしており、これによってアプリケーションは画像全体をバッファリングせずに、ファイルまたはネットワークからデータの読み取りと復号を行うことができます。

Application Framework

UART Framework

複数の全二重シリアル通信を実現します。

UARTフレームワークは、SCI(Serial Communications Interface)またはUSBX™通信フレームワークで接続された外部デバイスとの、全二重シリアル通信をサポートします。CDC(Communication Device Class)ACM(Abstract Control Model)プロトコルを使用しています。

Application Framework

Touch Panel Framework

複数のタッチスクリーンから入力イベントを受け取り、ユーザ入力を取り込んでソフトウェア処理をおこないます。

タッチパネルフレームワークは、I2C(Inter-Integrated Circuit)バス経由で外部タッチスクリーンの設定と制御をするための、シームレスでスレッドセーフなインタフェースを提供します。このフレームワークは、複数のタッチスクリーンからの入力イベントを受けとり、内部メッセージングフレームワークを利用してアプリケーションへ迅速に送信します。

Application Framework

Thread Monitor Framework

スレッドを監視し、不正なスレッドの動きを検出した場合は、マイクロコントローラによってリセットを発行します。

スレッド実行の追跡には、各スレッドにアサインされた変数を使用します。スレッドモニタは、これらの変数をチェックし、変数が想定範囲を超えるとマイクロコントローラによってリセットを発行します。

Application Framework

Messaging Framework

スレッド間でメッセージを渡すことで、信頼性の高い通信を可能にします。

メッセージングフレームワークは、スレッド間通信を可能にするために、フラグやハンドシェイクを含むメッセージ管理機能をサポートします。また、特定のメッセージキューからの通知へのスレッドのサブスクライブを可能にし、メッセージのキューへの送信時に、コールバック関数実行のトリガをかけることができます。

Application Framework

ADC Framework

A/Dコンバータ(ADC)のサンプリングレート、サンプリングしきい値などの設定をおこないます。

ADCは、指定の速度でデータのサンプリングとバッファリングを行い、設定したサンプル数が得られるとアプリケーションに通知します。ADCフレームワークは、タイミング機能のために汎用タイマ(GPT)または非同期汎用タイマ(AGT)インタフェースを使用し、内蔵ダイレクトメモリアクセス(DMA)コントローラまたはデータ転送コントローラ(DTC)を使用してデータ転送を効率的に行います。

Application Framework

Capacitive Touch Sensing Framework

ThreadX® RTOSを使用して、静電容量式タッチアプリケーション向けの汎用APIを提供します。

静電容量式タッチ検出フレームワークは、静電容量式タッチパネルのハードウェアスキャンを駆動し、周期的にパネルを更新するプライベートスレッドを作成します。

Application Framework

Power Profiles Framework

システムクロック、I/Oポート、動作モード、および低電力モードを制御します(動作モードはクロック制御による間接制御)。

電力プロファイルフレームワークが、マイクロコントローラの消費電力を高度に制御します。低電力モードのHALドライバを利用してマイクロコントローラの消費電力を制御するために、runとsleepの2つの主要機能を提供します。さらに、スレッド化動作と非スレッド化動作の両方をサポートします。

Application Framework

Block Media Interface Framework

メディアデバイスへアクセスします。アプリケーションコードはシンプルで、メディアデバイスのスワップも容易におこなえます。

ブロックメディアインタフェースフレームワークがメディアドライバを抽象化しているため、メディアドライバはファイルI/Oレイヤーで機能的に同一に見えます。メディアデバイスをスワップする際にコードを変更する必要がありません。ブロックメディアインタフェースフレームワークは、関数を直接呼び出す代わりに、関数へのポインタを使用することで、これらを実現しています。関数は、FileX®とブロックメディアドライバ(SDMMC (Secure Digital Multi-Media Card)およびSPIフラッシュメモリなど)との間で呼び出されます。

Application Framework

X-Ware™ Interface

SSPは、Express Logic製の以下のX-Ware™コンポーネントを使用します。

  • ・ThreadX® RTOS ・NetX™ IPv4およびNetX Duo™ TCP/IPスタック、NetX Secure™
  • ・USBX™ USB Host/Deviceプロトコルスタック
  • ・FileX® MS-DOS互換ファイルシステム
  • ・GUIX™グラフィックスランタイムライブラリ
  • ・その他

 

SSPの一連のアプリケーションフレームワークによって、最終アプリケーションでの使用を単純化します。

Application Framework

TLS

TLS(Transport Layer Security)プロトコルは、セキュアソケットレイヤ(SSL)プロトコルに代わってクライアントとサーバ間のセキュアな通信を可能にする、ネットワークセキュリティプロトコルです。

TLSは不正なアクセスを防止するために、クライアントとサーバ間のメッセージを暗号化するメカニズムを提供します。クライアントとサーバは、TLSハンドシェイクを実行してセッションキーを生成します。セッションキーは、データの暗号化のためにアプリケーションが使用します。また、このプロトコルは身元確認に認証を使用し、データ整合性の保証にハッシュ値を使用します。システムは、潜在的なセキュリティ違反と考えられるエラーを検出すると、TLSアラートを使用してクライアントとサーバに通知します。このTLS実装は、TLSバージョン1.0および1.2(2018年第2四半期からバージョン1.1を追加予定)をサポートし、RFC 5246標準に準拠しています。

Application Framework

MQTT

MQTT(Message Queue Telemetry Transport)プロトコルは、リソースに制約があるアプリケーション用に設計された、パブリッシュ/サブスクライブモデルを利用するライトウェイトなメッセージングプロトコルです。

このプロトコルにより、クライアント(センサ、ネットワークデバイスなど)はメッセージを発行できます。ネットワーク上の他のクライアントは、サブスクライブしてメッセージを受信できます。メッセージは、ブローカ経由で中継されます。この際、組み込み機器は他のデバイスの情報を知る必要がないため、組み込み機器のコードの複雑度とサイズが低減されます。

MQTTは、マルチレベルのトピックを使用して、メッセージの記述と分類を行います。クライアントは、特定のトピックにサブスクライブして、対応するメッセージを受信できます。MQTTは、3つのサービス品質(QoS)レベルをサポートし、メッセージの優先度を柔軟に設定します。

Application Framework

Wi-Fi Framework

Wi-Fiモジュールデバイスドライバに対して、抽象化レイヤーを提供します。この抽象化レイヤーは、APIセット、ネットワークスタック抽象化レイヤー(NSAL)、SSP HALインタフェース、およびベンダ提供のWi-Fiデバイスドライバで構成されています。

Wi-Fi APIは、Wi-Fiモジュールの設定と動作のための汎用インタフェースを提供します。アプリケーションがハードウェアやロウレベルドライバと直接インタラクトする必要はありません。

Renesas Synergy™ マイクロコントローラは、ネットワークスタックをローカルで実行するか、APIセットを利用して外部Wi-Fiモジュール上で動作するスタックとインタフェースが取れます。

ネットワークスタックがRenesas Synergy™ マイクロコントローラ上で動作している場合、NSALはWi-Fi APIを使用してMACレイヤーを実現します。このレイヤーは、NetX™およびNetX Duo™ネットワークスタックにより使用されます。

SSP HALインタフェースは、各Wi-Fiモジュール向けのロウレベルドライバに適応します。

Application Framework

BLE Framework

デバイスへの通知、スキャン、接続を実行するAPIセットを提供します。またサービス検出などのGATT(Generic Attributes)機能や、読み取り/書き込みをサポートします。

BLEフレームワークは、セントラルロールとペリフェラルGAP(Generic Access Profile)ロールをサポートするAPIセットと、その接続を容易にする機能を提供します。BLE動作モード、セキュリティモード、ボンディングモード、およびその他のパラメータを設定することができます。また、APIセットは、外部BLEモジュール上で動作するFind Me、Proximity、Blood Pressure、Heart Rate、およびAlert NotificationなどのGATTプロファイルもサポートします。

BLEフレームワークは、サードパーティ製のBLE通信スタックを、マイクロコントローラ上でローカルに実行させることも、外部BLEモジュール上で実行させることもできます。

Application Framework

Cellular Framework

LTEセルラモジュール用APIセット、ネットワークスタック抽象化レイヤー(NSAL)、SSP HALインタフェース、およびセルラデバイスドライバで構成される抽象化レイヤーを提供します。

セルラAPIには、基本機能を提供する汎用セルラドライバセットと、必要に応じて機能をオーバーライドできるモジュール専用ドライバが含まれています。

NSALは、ポイントツーポイント通信チャンネルを確立し、選択した任意の認証を実行します。適切なAPIを呼び出して、セルラデータの送受信を行います。

SSP HALインタフェースは、各セルラモジュール専用のロウレベルドライバに適応してします。

Application Framework

External Interrupt Framework

他の集積回路、プッシュボタン、電源モニタなどの、外部ハードウェアで発生したマイクロコントローラへの割込みを、バイナリ信号として処理します。

すべてのSSPフレームワークと同様に、外部割り込みフレームワークはThreadX®アウェアであり、セマフォを使用して割り込みを同期します。イベントリンクコントローラ(ELC)を利用して、割り込みをスレッドに送ったり、転送をトリガすることができます。

外部割り込みフレームワークは、最大16個のハードウェアチャンネルへの要求をサポートし、複数のスレッドに対して固有のペンディング割り込み要求(IRQ)を処理します。さらに、このフレームワークは、外部からのIRQ要求を待つ間に、スレッドの停止を可能にするAPIを提供します。

Middleware

SSPには、ThreadX® RTOSと完全に統合された、以下のExpress Logic社製ミドルウェアコンポーネントが含まれています。

  • ・NetX™ IPv4およびNetX Duo™ TCP/IPスタック、NetX Secure™
  • ・USBX™ USB Host/Deviceプロトコルスタック
  • ・FileX® MS-DOS互換ファイルシステム
  • ・GUIX™グラフィックスランタイムライブラリ
Middleware

Middleware

Middleware

FileX®

ThreadX® RTOSと完全に統合された、ハイパフォーマンスなMS-DOS互換ファイルシステムです。

ThreadX®と同じく、FileX®はコンパクトでハイパフォーマンスに設計されています。このため、システムに深く組み込まれながらもファイル操作が必要なアプリケーションに最適です。FileX®は、12ビット、16ビット、および32ビットのファイルアロケーションテーブル(FAT)フォーマットと、連続的なファイル配置をサポーしています。サイズとパフォーマンスにも高度に最適化されています。さらに、USBマスストレージ、SD/MMCカード、オンチップフラッシュメモリ、およびSPIフラッシュメモリなど、さまざまなストレージメディアをサポートしています。

Middleware

GUIX™

グラフィックユーザインタフェース開発ソフトウェアです。フル装備のランタイムUIライブラリを含み、ThreadX® RTOSと統合されています。

GUIX™は少ないメモリ(6KB以下)で動作するように設計されており、このためアプリケーションは実際に使用する機能のみを最終イメージにします。最小限の関数呼び出し階層化と、高度に最適化されたクリッピング、描画、イベント処理により、高速インタフェース応答を実現しています。簡単に使用、統合できるようにするため、サービス名は単純化されています。

Middleware

USBX™

USBホストスタックと、デバイススタックです。ロウスピード、フルスピードデバイス、およびハイスピードデバイスに対応しています。

USBX™ホストコアスタックは、デバイスの確実な検出と構成をおこないます。カスケードハブ、マルチコンフィグレーションデバイス、複合デバイスをサポートします。USBX™デバイスモードは、複数構成、インタフェース、および代替設定などの複雑なデバイスフレームワークをサポートします。USBX™デバイス文字列フレームワークは複数の言語に対応しています。

Middleware

NetX™, NetX Duo™, and NetX Secure™

SSPには、TCP/IP規格を高いパフォーマンスで実現した、NetX™とNetX Duo™の二つのモジュールが含まれます。NetX™とNetX Duo™は、ThreadX® RTOSと完全に統合されています。どちらのモジュールも、ユーザバッファとのデータ入出力時のプロセッササイクルがないため、ゼロコピー通信が可能です。

NetX™は、スリムなIPv4対応TCP/IPスタックを提供します。NetX Duo™は、IPv4とIPv6をサポートしています。どちらのモジュールも独自Piconet™アーキテクチャ上で構築されており、アプリケーションに必要な最小限のサービスのみを準備することで、グラフィックのデータサイズを小さくしています。

NetX Duo™は、以下のプロトコルに対応しています。

·         ARP/RARP

·         MQTT

·         DHCP

·         NAT

·         DNS

·         POP3

·         FTP

·         PPP

·         TFTP

·         SMTP

·         HTTP

·         SNMP

·         ICMP

·         Telnet

·         IGMP

·         UDP

·         BSD Socket Library

 

NetX Secure™は、TLS(Transport Layer Security)によって、先端のネットワークセキュリティ機能を提供します。

Functional Libraries

ルネサスとベンダが提供する機能ライブラリです。高度に最適化されたC呼び出し可能な関数を、フレームワーク外に提供します。

機能ライブラリはHALと直接通信します。また、ルネサスによって予備テスト、認定、検証が行われています。定期的に新しいライブラリがリリースされ、新しい機能が提供されます。

 

Functional Libraries Structure

Functional Libraries Structure

Functional Libraries

Cryptography and Security Library

マクロレベルのセキュリティ機能、RoT(Root of Trust)、信頼出来るソース/コードかを判別する機能によって、幅広いセキュリティ機能を実現するAPI集です。

暗号化セキュリティライブラリは、暗号ハッシュアルゴリズム、対称/非対称暗号鍵アルゴリズム、ハードウェアアクセラレーターを使用して、真性乱数を発生させます。

暗号のタイプには、AES 128/192/256、SHA1、SHA224/256、DES、3DES、ARC4、DSA 1024/2048、HRK、RSAがあります。

Functional Libraries

CMSIS DSP Library

Cortex®-Mコアを使用するマイクロコントローラ用に開発された、デジタル信号処理(DSP)アルゴリズムおよび関数のための業界標準抽象化レイヤーです。

DSP用Arm® CMSIS(Cortex®マイクロコントローラソフトウェアインタフェース規格)によってソフトウェア再利用が容易にできるため、ユーザの学習/開発時間が削減されます。CMSIS DSPライブラリは60以上の機能を備えており、固定小数点(小数部分q7、q15、q31)や単精度浮動小数点(32ビット)などの、さまざまなデータタイプに対応できます。

Functional Libraries

Software Safety Library

このソフトウェアライブラリは、マイクロコントローラの安全自己チェック機能(safety self-check features)を実行し、ステータスをアプリケーションレイヤーに報告します。このソフトウェアライブラリは、家庭電化製品向け安全規格IEC 60730、および機能安全のための安全規格IEC 61508に則り、認定されています。

Hardware Abstraction Layer (HAL)

Renesas Synergy™ マイクロコントローラ周辺回路へのアクセスと、高いコード移植性を同時に実現するソフトウェアドライバです。ユーザはハードウェアと直接インタラクトする必要がありません。

ハードウェア抽象化レイヤー(HAL)は、ロウレベルドライバ(LLD)とハイレベルドライバ(HLD)の、二つのレイヤーで構成されています。ロウレベルドライバ(LLD)は周辺回路のレジスタと直接インタフェースがとれ、対象IPを持つすべてのRenesas Synergy™ マイクロコントローラで使用できます。ハイレベルドライバ(HLD)は、ハードウェア非依存の、移植性の高いコードが効率的に開発できます。

Hardware Abstraction Layer

Hardware Abstraction Layer

Hardware Abstraction Layer (HAL)

CAN

全二重コントローラエリアネットワーク(CAN)通信と設定をサポートします。

CAN HALドライバは、CAN規格で定義されたビットタイミング構成を可能にします。さらに、標準または拡張IDフレームで、最大32個の送信または受信メールボックスも構成できます。受信メールボックスは、データまたはリモートCANフレームを取り込むように構成できます。また、このドライバは、送信、受信、またはエラー割り込みがトリガされたときに実行されるユーザコールバック関数もサポートします。

Hardware Abstraction Layer (HAL)

UART

全二重UART通信のために、SCI(Serial Communications Interface)周辺回路を設定して動作させます。

UART HALドライバは、割り込みドライブ型データ送受信、コールバック関数、ランタイムボーレート変更、ハードウェアフロー制御、データ転送コントローラのサポートなどを実現します。

Hardware Abstraction Layer (HAL)

SDHI

外部SDカードと組み込みMMC(eMMC)デバイス間の通信用に、SD/MMCホストインタフェース(SDHI)を設定して動作させます。

SDHIドライバは、接続したデバイスに対する読み取りコマンド、書き込みコマンド、および制御コマンドをサポートします。また、FileX®などの互換ファイルシステムと共に使用することができ、さらに、スタンドアロンSDIOカードドライバとして使用することもできます。

Hardware Abstraction Layer (HAL)

QSPI

Quad SPI(QSPI)フラッシュメモリデバイスの、消去と書き込みを行います。

QSPI HALドライバは、Renesas Synergy™ マイクロコントローラのQSPI周辺回路をサポートします。QSPI周辺回路は、シリアルROM(シリアルフラッシュメモリ、シリアルEEPROM、シリアルFeRAMなどの不揮発性メモリ)を、SPI互換インタフェースと接続させるためのメモリコントローラとして機能します。

Hardware Abstraction Layer (HAL)

SPI

SPI HALドライバ:

外部デバイスとの通信のために、SPI(Serial Peripheral Interface)を設定して動作させます。

SPI HALドライバは、SPIの初期化や設定を実行し、8ビット、16ビット、および32ビットデータ転送をサポートします。ユーザ定義のコールバックは、SPIのデータ送信時、データ転送中止時、またはエラー状態検出時に信号を送信するために使用できます。

SCI SPI HALドライバ:

マスタベースのSPI通信のために、SCI(Serial Communications Interface)を設定して動作させます。

SCI SPI HALドライバは、SPIの初期化やクロック設定などを実行します。ユーザ定義のコールバックは、SPIのデータ送信時、データ転送中止時、またはエラー状態検出時に信号を送信するために使用できます。SCI SPI HALドライバは、データ転送コントローラ(DTC)を使用したデータ転送をサポートし、CPU負荷を軽減します。

Hardware Abstraction Layer (HAL)

I2C

外部デバイスとの通信のために、I2C(Inter-Integrated Circuit)周辺回路を設定して動作させます。

SSPは、マスタ動作とスレーブ動作にそれぞれ1つずつ、計2つのI2C HALドライバを提供します。ドライバは、割り込みドリブン型の送受信処理を、それぞれのコールバック関数でサポートします。I2Cモジュールは、100Kbps、400Kbps、および1Mbpsのビットレートをサポートします。

Hardware Abstraction Layer (HAL)

SSI

I2S(Inter-IC Sound)プロトコル使用の音声通信のために、SSI(Serial Sound Interface)を設定して動作させます。

SSIドライバは、SSI周辺回路をマスタモードで動作させ、通常、非圧縮の音声データの送受信を行います。このドライバは、全二重I2S通信(SSIチャンネル0のみ)、割り込みドリブン型データ送受信、およびDTC転送モジュールとの統合機能をサポートします。

Hardware Abstraction Layer (HAL)

IOPort

I/Oポートへのアクセスを、ビットレベルとポートレベルの両方で提供します。

IOPort HALドライバは、ポートおよび端子を入力または出力として設定します。さらに、個別の端子の機能を変更するために、いくつかのコンフィグレーションAPIを提供しています。

Hardware Abstraction Layer (HAL)

Parallel Data Capture Unit

PDC周辺回路に接続されたカメラや画像センサモジュールから画像データを取り込みます。

パラレルデータキャプチャユニット(PDC)ドライバは、周辺回路の初期化、画像取り込みの開始、およびインタフェースのクローズを行う機能を備えています。画像データの取り込み完了時にCPUに通知するコールバックをサポートし、取り込みバッファへポインタを提供します。

Hardware Abstraction Layer (HAL)

Capacitive Touch Sensing Unit

静電容量式タッチインタフェースと使用するための静電容量式タッチ検出ユニット(CTSU)を設定して動作させます。

CTSUドライバは、周辺回路をオープン、クローズ、実行、制御する機能を提供します。タッチスクリーンへの入力を検出し、適切なフィルタリングを実行し、後続処理のためにタッチデータをハイレベルドライバに送信します。

Hardware Abstraction Layer (HAL)

ADC12 HAL drivers

A/Dコンバータ(ADC)を設定し、動作させて、シングルスキャン、連続スキャン、またはグループスキャンを実行する機能を提供します

12ビットA/Dコンバータ(ADC12)HALドライバは、スキャンの開始や変換後の割り込み発行のための、ハードウェアトリガとソフトウェアトリガを可能にします。

Hardware Abstraction Layer (HAL)

ADC14 HAL drivers

A/Dコンバータ(ADC)を設定し、動作させて、シングルスキャン、連続スキャン、またはグループスキャンを実行する機能を提供します。

14ビットA/Dコンバータ(ADC14)HALドライバは、スキャンの開始や変換後の割り込み発行のための、ハードウェアトリガとソフトウェアトリガを可能にします。

Hardware Abstraction Layer (HAL)

DAC12

4096個ある電圧レベルの1つを出力させるため、デュアルチャンネルD/Aコンバータ(DAC)を設定して動作させます。

12ビットD/Aコンバータ(DAC12)ドライバで、内部基準電圧または外部基準電圧の選択が柔軟に行えます。また、DAC12は、ADCモジュールと同期して動作する干渉防止モードを備えています。

Hardware Abstraction Layer (HAL)

DMA Controller

バックグラウンドデータ転送を実行するため、ダイレクトメモリアクセスコントローラ(DMAC)を設定して動作させます。

DMACドライバは、メモリと周辺機器間、または2つの周辺機器間で、CPUを介さずにデータを転送します。割り込みまたはイベントの発生時、ユーザ指定のソースから、ユーザ指定の移動先にデータを移動します。

Hardware Abstraction Layer (HAL)

Data Transfer Controller

バックグラウンドデータ転送を実行するため、データ転送コントローラ(DTC)周辺機器を設定して動作させます。

DTCドライバは、メモリと周辺機器間、または2つの周辺機器間で、CPUを介さずにデータを転送します。割り込みまたはイベントの発生時、ユーザ指定のソースからユーザ指定の移動先にデータを移動します。また、DTCは、単一の起動元割り込み後に1つ以上の転送が発生するチェーン転送をサポートします。

Hardware Abstraction Layer (HAL)

Event Link Controller

イベント要求を使用して、CPUを介さずに周辺機器をリンクさせます。

イベントリンクコントローラ(ELC)は、周辺機器間の接続を管理し、データ転送コントローラ(DTC)を起動するイベントを生成します。さらに、2つのブロック間のリンクを作成または遮断し、CPUをインタラプトするイベントを生成する機能を備えています。

Hardware Abstraction Layer (HAL)

Code Flash

マイクロコントローラの内蔵フラッシュメモリ内にある、アプリケーションコードの読み出し、書き込み、消去を行います。

Renesas Synergy™ マイクロコントローラは、コード格納用フラッシュメモリを内蔵しているため、アプリケーションコードへの高速アクセスが可能です。すべてのRenesas Synergy™ マイクロコントローラは、コードフラッシュメモリの読み出し、書き込み、消去、およびブランクチェックの4つの操作をサポートします。利用可能なフラッシュメモリ容量は、Renesas Synergy™ マイクロコントローラデバイスにより異なります。

内蔵フラッシュメモリの重要エリアに対する意図しない上書きを防ぐため、書込み禁止機能が準備されています。さらに、ブートブロックスワップ用のスワップエリアにより、初期消去せずに、起動プログラムを安全に再書き込みできます。

Hardware Abstraction Layer (HAL)

AGT 16-Bit Timer

非同期汎用タイマ(AGT)を設定してアクセスし、パルス測定、パルス生成、イベントカウント、および割り込み生成を行います。

AGTドライバは、I/Oイベント、DMAC/DTC使用のデータ転送、マイクロコントローラのウェイクアップ、ELC経由での他の周辺機器上のアクティビティのトリガに使用できます。

Hardware Abstraction Layer (HAL)

Independent Watchdog Timer

独立型ウォッチドッグタイマ(IWDT)を設定して動作させることで、デバイスのリセットや、ノンマスカブル割り込みの発生を行うフェールセーフ機能を提供します。

IWDTは専用クロックで動作し、14ビットダウンカウンタで構成されています。14ビットダウンカウンタはアンダーフロー防止のため、一定時間毎の補正が必要です。IWDTドライバは、タイマの読み取りとリフレッシュ、およびステータスフラグの読み取りとクリアを行います。

Hardware Abstraction Layer (HAL)

Data Flash

マイクロコントローラの内蔵フラッシュメモリ内にある、アプリケーションデータの読み出し、書き込み、消去を行います。

Renesas Synergy™ マイクロコントローラは、データ格納用フラッシュメモリを内蔵しているため、アプリケーションデータへの高速アクセスが可能です。すべてのRenesas Synergy™ マイクロコントローラは、データフラッシュメモリの、読み出し、書き込み、消去、およびブランクチェック操作(すべて、ブロッキングとノンブロッキングに対応)と、ノンブロッキングデータフラッシュメモリ操作完了のコールバック関数をサポートしています。

利用可能なフラッシュメモリ容量は、Renesas Synergy™ マイクロコントローラデバイスにより異なります。

Hardware Abstraction Layer (HAL)

GPT 32-Bit

波形生成とその他タイマ機能のために、汎用パルス幅変調(PWM)タイマを設定して動作させます。

32ビットGPTタイマは、のこぎり波および三角波などのパルス幅変調(PWM)波形の生成や、汎用タイマとして使用します。

GPTドライバは、波形周期、波形デューティサイクル、およびELCベーストリガなどの、タイマや構成オプションの開始/停止機能を持っています。また、タイマ信号をGTIOC端子に出力する出力コンペア拡張機能を提供します。

Hardware Abstraction Layer (HAL)

Watchdog Timer

ウォッチドッグタイマ(WDT)を設定して動作させることで、デバイスのリセットや、ノンマスカブル割り込みの発生を行うフェールセーフ機能を提供します。

WDTは14ビットダウンカウンタで構成されています。14ビットダウンカウンタはアンダーフロー防止のため、一定時間毎の補正が必要です。WDTドライバは、タイマの読み取りとリフレッシュ、およびステータスフラグの読み取りとクリアを行います。

Hardware Abstraction Layer (HAL)

RTC

クロックおよびカレンダ機能のため、リアルタイムクロック(RTC)を設定して動作させます。

RTCは、標準カレンダ機能に加えて、西暦以外のカレンダのために2進計数モードをサポートしています。このドライバは、時間、日付、およびアラーム値にアクセスします。また、RTCやイベント通知を設定し、周辺機器を起動することができます。

Hardware Abstraction Layer (HAL)

Interrupt Controller Unit

プッシュボタン、外部集積回路や、その他の割り込みソースからの、外部端子への割り込みを検出するために、割り込みコントローラユニット(ICU)を設定して動作させます。

外部割り込み要求(IRQ)ドライバは、割り込みの有効化/無効化を行います。また、ユーザコールバック関数を指定して、さまざまな割り込み構成オプションを提供します。

Hardware Abstraction Layer (HAL)

Keyboard Interrupt Control

キーボード入力を処理するためのキー割り込み(KINT)機能をサポートします。

KINTドライバは、1~8個のチャンネル用、またはマトリクス形式で使用できます。このドライバは、キーボード入力の検出時に割り込みを生成し、ユーザ指定のコールバック関数を実行します。

Hardware Abstraction Layer (HAL)

Clock Generation Circuit

CPUおよび周辺回路のためのオンチップクロック生成をサポートします。

クロック生成回路(CGC)機能には、複数のクロックソースからの選択、分周、クロック安定性チェック、および電力管理が含まれます。このドライバは、ランタイム時のシステムクロックやシステム周辺クロックの周波数を返すことで、メイン発振器の停止時にコールバック関数を提供できます。

Hardware Abstraction Layer (HAL)

Low Voltage Detection

オンチップ電圧モニタは、供給電圧の低下を検出します。

低電圧検出(LVD)ドライバは、Renesas Synergy™ マイクロコントローラの動作電圧が範囲外のときに、アプリケーションソフトウェアに警告を行います。モニタステータスは、2つのフラグで構成されます。1つは現在の電圧がしきい値より下かどうかを示し、もう1つは任意の時点でしきい値をまたいだかどうかを示します。LVDドライバは、電圧しきい値、応答アクション、およびコールバック関数アドレス(該当時)、およびその他の値を設定します。また、このドライバは、LVDステータスの読み取りとクリアを行います。

Hardware Abstraction Layer (HAL)

Factory MCU Information

オンチップ電圧モニタは、供給電圧の低下を検出します。

低電圧検出(LVD)ドライバは、Renesas Synergy™ マイクロコントローラの動作電圧が範囲外のときに、アプリケーションソフトウェアに警告を行います。モニタステータスは、2つのフラグで構成されます。1つは現在の電圧がしきい値より下かどうかを示し、もう1つは任意の時点でしきい値をまたいだかどうかを示します。LVDドライバは、電圧しきい値、応答アクション、およびコールバック関数アドレス(該当時)、およびその他の値を設定します。また、このドライバは、LVDステータスの読み取りとクリアを行います。

Hardware Abstraction Layer (HAL)

Graphics LCD Controller

RGBカラーTFTLCDパネル(最大カラー深度:24ビット)を使用したアプリケーション向けディスプレイを生成するAPIです。

グラフィックスLCDコントローラ(GLCDC)ドライバにより、512ワード(32ビット/ワード)の入力グラフィックプレーンのためのカラールックアップテーブル(CLUT)が可能になります。また、GLCDCドライバにより、明るさ、コントラスト、ガンマ補正などの出力調整も可能です。GLCDCは、フレームバッファシステムでしばしば発生するティアリングを防止するためのピンポンバッファを用いることで、2つの入力グラフィックプレーンを融合できます。

Hardware Abstraction Layer (HAL)

Segment LCD Controller

Renesas Synergy™ S3シリーズマイクロコントローラでセグメントLCDコントローラ(SLCDC)を制御します。

SLCDCドライバは、コントローラを初期化し、ディスプレイに適切な波形を出力するように電圧発生器を設定します。また、ディスプレイ出力の更新、ディスプレイ領域の構成、およびコントラスト調整機能などのコンフィグレーションのオプションを提供します。

Hardware Abstraction Layer (HAL)

JPEG Codec

JPEG画像データの高速データ圧縮と復号を実行するJPEG回路を設定して動作させます。

このJPEGコーデックドライバは符号化データのストリーミングもサポートしているため、アプリケーションは画像全体をバッファリングせずに、ファイルまたはネットワークから符号化JPEG画像を復号しながら読み取ることができます。

またこのドライバは、JPEG画像の高さまたは幅が指定入力値と一致しない場合にエラーを返す組み込みエラーチェック機能を備えています。このJPEGデコーダは、JPEGベースライン復号規格JPEGパート2、ISO-IEC 10918-2に準拠しています。

Hardware Abstraction Layer (HAL)

CRC

データ整合性を確実にするため、巡回冗長検査(CRC)周辺回路を設定して動作させます。

CRCドライバは、メモリ内またはシリアルチャンネル上のデータストリームに存在するデータブロックを、8ビット、16ビット、および32ビット値で計算できます。このドライバは、さまざまな業界標準多項式を使用してCRC計算を行います。

Board Support Package

電源オンまたはリセット後のシステムの初期化を行います。また、ユーザアプリケーションでmain()関数に到達するために必要なすべての関数が実行できます。

ボードサポートパッケージ(BSP)は、スタック、ヒープ、クロック、割り込み、Cランタイム環境の設定などの初期化関数を実行します。BSPは、マイクロコントローラ固有、ボード固有、および汎用コードとAPIで構成されています。すべてのRenesas Synergy™ キットとマイクロコントローラは、BSPによってサポートされています。ユーザ独自の回路基板とアプリケーションへのボードレベルのサポートには、BSP APIを使用します。

Licensing

クリア/保護SSPソースコード

 

ユースケースやソースコードへのアクセス要求レベルに応じて、3種類のSSPライセンスが提供されています。

 

SSPは、クリアソースコードと保護ソースコードで構成されています。クリアソースコードは、すべてのライセンスで編集と保存が可能です。保護ソースコードは、適切なSSPライセンスを取得したうえで、表示と編集が可能です。通常の製品開発において、保護ソースコードを修正する必要はありません。ほとんどの製品は、ソースコードを変更することなく生産に移行できます。

 

SSPソースコードの表示、編集、デバッグには、e2 studio統合ソリューション開発環境(ISDE)やIAR社 Embedded Workbench® for Renesas Synergy™の、サポートされた開発環境が必要です。

SSPライセンスの種類

SSPは、3種類の異なるライセンスで配布されます。ライセンスオプションを以下の表に示します。

特長

評価

開発/生産

ソースコード**

ライセンス料金またはロイヤリティ

なし

なし

 あり

ライセンス申請先

Renesas Synergy™ ウェブサイト

Renesas Synergy™ ウェブサイト

ルネサス営業担当者

Renesas Synergy™ アカウントタイプ

ユーザ単位

法人

法人

ライセンス入手先

Renesas Synergy™ ウェブサイト

Renesas Synergy™ ウェブサイト

Renesas Synergy™ ウェブサイト

全SSP機能へのアクセス

あり

あり

あり

SSPデータシートによる動作のWarranty

なし

ライセンス取得後1年間

購入したメンテナンス期間中

メンテナンス - SSPアップデートおよびアップグレードリリースへのアクセス

あり

あり

ライセンス購入に含まれる1年間のメンテナンス
メンテナンス期間の延長を購入可能

ソースコードへのアクセス範囲

クリアソースコード

使用、表示、編集、保存

使用、表示、編集、保存

使用、表示、編集、保存

保護ソースコード

使用

使用、表示

メンテナンス期間中にリリースされた任意のSSPバージョンを、クリアソースコードに変換。使用、表示、編集、保存*

使用条件

評価ライセンス条件による

開発/生産ライセンス条件による

ソースコードライセンス購入条件による

ユースケース

初期評価、迅速な試作とデモ、学生プロジェクト

最終製品の開発および量産へのリリース

保護SSPソースコードモジュールのクリアテキストファイルの要件:

· 企業ポリシーコンプライアンス

· サードパーティによるソフトウェア認証

· 保護SSPソースコードの修正(ほとんどの場合不要)

 

* メンテナンス期間の終了後は、終了前に変換されたSSPクリアソースコードの継続使用、表示、編集、および保存は可能ですが、新たにリリースされたSSPにおいては、保護ソースコードからクリアソースコードへの変換はできません。

** ソースコードライセンス

 

ほとんどの最終製品は、ソースコードライセンスの必要なく開発し、生産に移行できます。まれに、保護SSPソースコードの表示・編集可能ファイルを取得する必要が生じることがあります。これは企業ポリシー、個別の認証要件、もしくは特定機能の修正のために要求される場合があります。

ソースコードライセンスは、メンテナンス期間中に発生するSSPリリースのために、保護SSPソースコードを表示・編集可能なコードに変換することを許します。初期メンテナンス期間の後は、SSPリリースを変換するための延長オプションを購入できます。

Licensing

Maintenance

ルネサスはSSPのメンテナンスを継続的に行っており、バグ修正、機能・パフォーマンス強化、および最適化のための新しいSSPバージョンを提供しています。

SSPメンテナンスアップデート版は有効なSSPライセンスで利用可能です。Renesas Synergy™の価格に含まれているため、更新料は不要です。SSPメンテナンス版は、ルネサスがRenesas Synergy™をサポートする間は継続的に提供されます。

リリース候補版

開発サイクルを通じてリリースを行う際に、候補版の段階(例:プレビュー、アルファ、ベータ、量産[MP])が指定されます。各段階の指定基準とリリースの対象を以下の表に示します。

候補版

機能/バグ状態

リリース対象

プレビュー

一部機能は未実装。利用可能な機能(未完成も含む)は動作確認のみ

回帰テストと一部統合テストを実施済み

指示テストまたは統合のための特定顧客向けリリース

 

アルファ

全機能を実装している

フル機能統合テスト向けソフトウェア品質保証(SQA)

通常は特定顧客向けリリース

一部機能にバグを含む可能性あり

ベータ

致命的なバグはすべて修正済み

ベータテスタで通常は特定顧客向けリリース

 

量産

致命的なバグおよび重要なバグはすべて修正済み

リリース準備完了

特定顧客向けリリースの場合と一般向けリリース

ソフトウェア品質保証(SQA)サイクル中またはベータリリース後に量産リリースが行われた場合は、RCタグを付与

上記の表に記載のとおり、リリース候補(RC)は量産候補版を持ちますが、ソフトウェア品質保証(SQA)サイクルは完了していません。量産より前のリリースは、例外を除いて一般公開されません。