TI-RTOS-MCU
TI-RTOS:マイコン (MCU) 向け、リアルタイム オペレーティング システム (RTOS)
TI-RTOS-MCU
概要
このページの TI-RTOS パッケージはレガシー デバイス向けであり、サポートは利用できません。新しいデバイスで TI-RTOS が利用可能な場合、そのデバイスに対応するソフトウェア開発キット (SDK) に TI-RTOS が付属しています。
TI-RTOS の採用によるマイコン アプリケーションの迅速な開発
TI-RTOS を使用すると、システム・ソフトウェアの基本的な機能の新規作成が不要になり、開発スケジュールの迅速化が可能になります。TI-RTOS は、リアルタイム マルチタスキング カーネルである TI-RTOS カーネルから、付加的なミドルウェア コンポーネント、デバイス ドライバ、パワー マネージメントなどの包括的な RTOS ソリューションにいたるまで、広範なソリューションに対応しています。TI-RTOS と TI の超低消費電力マイコンを組み合わせると、バッテリ動作期間が非常に長いアプリケーションを設計できます。TI-RTOS は、重要なシステム ソフトウェア コンポーネントの事前テストと事前統合を実施済みであり、開発者はアプリケーションの差別化に専念できます。
TI-RTOS は、既存の実証済みソフトウェア コンポーネントを土台としており、信頼性と品質を確保できます。さらに、マルチタスク開発およびすべてのコンポーネントが同時に動作することを検証する統合テストのための資料、追加サンプル、API も用意されています。TI-RTOS アプリケーションを開発するときに、Code Composer Studio™、IDE デスクトップ、Code Composer Studio IDE クラウド、Energia (Arduino 互換のソフトウェア環境)、IAR Embedded Workbench IDE、GCC など、複数の統合開発環境 (IDE) またはツールチェーンを使用できます。
ライセンス体系 - TI-RTOS には全体のソース コードが付属しているため、事前またはランタイムのライセンス料金は必要ありません。マルチタスク カーネル、TCP/IP ネットワーク スタック、FAT ファイル システム、すべてのデバイス ドライバとサンプルは、いずれも BSD に似たオープン ソース ライセンス体系を使用しています。この結果、開発者はライセンス体系の面倒な制約を課さずに、開発したソフトウェアをパートナーや下請け業者に簡単に渡すことができます。GPL ライセンスとは異なり、BSD ライセンスはアプリケーションのソース コード配布を開発者に義務付けていません。
機能
TI-RTOS は、以下のコンポーネントで形成されています。
- TI-RTOS カーネル - TI-RTOS カーネル (以前の呼称 SYS/BIOS) は、ディタミニスティック (確定的) プリエンプティブ マルチタスク サービスと同期サービス、メモリ管理機能、割り込み処理機能を実現しています。
- TI-RTOS のデバイス ドライバとボードの初期化機能 - TI-RTOS のドライバとボードの初期化機能は、イーサネット、UART (ユニバーサル非同期レシーバ / トランスミッタ)、I2C など、多様なデバイスの間で標準になっている一連のデバイス ドライバ API を公開するとともに、サポート対象のすべてのボードに適した初期化コードを提供します。ドライバとボードの初期化 API はどれも、TivaWare、MWare、CCWare、MSPWare いずれかのライブラリをベースにして開発したものです。
- TI-RTOS ネットワーク - TI-RTOS ネットワーク (以前の呼称 NDK) は、IPv4 と IPv6 に準拠する TCP/IP スタックに加えて、DNS、HTTP、DHCP など関連するネットワーク アプリケーションをサポートしています。
- TI-RTOS ワイヤレス接続 - SimpleLink™ ワイヤレス マイコン ファミリを想定して、Wi-Fi、Bluetooth Smart (Bluetooth Low Energy)、ZigBee® などのワイヤレス接続スタックが公開済みです。TI-RTOS は、このスタックを包括的に統合しています。
- TI-RTOS ファイル システム - TI-RTOS ファイル システムは、オープン ソースの Fatfs 製品をベースとした、FAT 互換のファイル システムです。
- TI-RTOS USB - TI-RTOS USB には、USB ホスト スタックと USB デバイス スタックの両方、さらに MSC、CDC、HID の各クラス ドライバが付属しています。
- TI-RTOS パワー マネージャ - TI-RTOS パワー マネージャは、事前実装済みの超低消費電力モードを複数搭載しており、CPU がアイドル状態になったときに、最適な低消費電力モードを自動的に決定できます。TI-RTOS ドライバは電力を意識しています。パワー マネージャとの通信を行い、ペリフェラルを使用していないときに、そのペリフェラルを確実に電源オフにすることができます。詳細については、パワー マネージメントに関する TI のホワイト ペーパーをご覧ください。
- TI-RTOS 計測機能 - TI-RTOS 計測機能を使用すると、開発者は自分が開発するアプリケーションにデバッグ計測機能を搭載し、コンテキストの切り替えなどのランタイム動作を、システム レベルの解析ツールで表示することができます。
TI-RTOS エコシステム パートナー
TI-RTOS に付属する機能以外に、それらを補完する追加機能を必要とするお客様は、TI-RTOS エコシステム パートナーからシステム ソフトウェア モジュールのライセンスを取得することもできます。
- HCC Embedded - SNMP、フェイルセーフ、フラッシュ ファイル システム
- wolfSSL - SSL、TLS、DTLS、暗号ライブラリ
- Simma Software - CAN スタック
TI-RTOS カーネルの概要
TI-RTOS カーネルは、ディタミニスティック (確定的) かつプリエンプティブなマルチタスク カーネルであり、開発者はリアルタイムのデッドラインを犠牲にせずに、洗練されたアプリケーションを製作することができます。カーネル サービスの概要は以下のとおりです。
- Cache (キャッシュ) - キャッシュの構成と管理
- Clock (クロック) - 時間でトリガする機能
- Diags (診断) - パラメータと状態をチェックするためのアサートを含め、ユーザーが構成可能なトレース機能
- Error (エラー) - エラー ハンドラを定義 (define)、エラーを意図的に発生させる (raise)、エラー ハンドラをチェックする (check)
- Event (イベント) - 任意の RTOS イベントまたはカスタム イベントの組み合わせに対する待機
- GateMutex (ゲート ミューテックス) - 優先度の継承が可能なバイナリ ミューテックス (相互排他)
- HeapBuf (ヒープ バッファ) - 高速、ディタミニスティック (確定的)、固定サイズのバッファ プール
- HeapMem (ヒープ メモリ) - 可変サイズのダイナミック ヒープ
- HeapMultiBuf (ヒープ マルチ バッファ) - 複数のバッファ プールをベースとする、可変サイズのディタミニスティック (確定的) ダイナミック ヒープ
- Hardware Interrupts (HWI) (ハードウェア割り込み) - ハードウェア割り込みから RTOS へのインターフェイス
- Log (ログ) - オーバーヘッドの小さい logging 文と print 文
- Mailbox (メールボックス) - 複数のタスク間の同期式データ交換機能
- Memory (メモリ) - メモリ割り当てインターフェイス
- Semaphores (セマフォ) - 計数セマフォ
- Software Interrupts (SWI) (ソフトウェア割り込み) - プログラム スタックを使用する、軽量でプリエンプティブなスレッド。開発者がこのスレッドを生成することはできません
- System (システム) - 中断 (abort)、終了 (exit)、システムの書式付き表示 (system printf) などの全般的なシステム関数
- Task (タスク) - プロセッサを生成することができる、独立した実行スレッド
- Timer (タイマ) - ハードウェア タイマへのインターフェイス
- Timestamp (タイムスタンプ) - 32 ビットと 64 ビットの各タイムスタンプ サービス
TI-RTOS パワー マネージャ
SimpleLink™ CC3200 と CC2600、また MSP432™ の各マイコンなど、消費電力を重視する IoT エンドポイント アプリケーション用途で設計した TI の各種デバイス向けに、TI-RTOS はパワー マネージメント機能を搭載しています。開発者はこの機能を使用し、シリコン レベルで実装済みの基盤系ハードウェア機能を簡単に活用することができます。
詳細については、パワー マネージメントに関する TI のホワイト ペーパーをご覧ください。
- ティック (無条件で CPU を定期的にウェークアップする動作) 抑制機能をサポートしており、タイムアウトや機能の定期的な動作のどちらも関係していないときは、システム タイマのティックに起因する不必要な CPU ウェークアップを防止できます。
- TI-RTOS パワー マネージャは、自らのドライバを使用してペリフェラルのアクティビティを追跡し、未使用の場合は、ペリフェラル クロックやそれに関連する電源ドメインを自動的にアイドル状態にします。
- IDL タスク内で電力ポリシーを実行します。CPU のアイドル期間中に、この機能はどのパワー ダウン モードが移行先として最適なのか計算し、消費電力の最大限の節減に貢献します。
- TI-RTOS パワー マネージャは通常、複数の電力モード (例:アイドル、スタンバイ、パワー ダウン) に対応しています。これらはいずれもフル統合型であり、サポート対象デバイスと組み合わせたテストを実施済みです。
- パワー マネージャは、制約に関する設定を保持し、登録 / 通知メカニズムを搭載しているため、アプリケーションはパワー マネージャと通信することができます。その結果、不適切なパワー ダウンを防止できます。
OS 対応型のデバッグ / 分析ツール
TI-RTOS カーネルを Code Composer Studio (CCS) と組み合わせると、マルチスレッド アプリケーションのデバッグと最適化に役立つ複数のツールが利用できます。開発者がランタイム オブジェクト ビューア (ROV) を使用すると、タスク、メールボックス、セマフォなど複数の OS オブジェクトのステータスを参照できます。ステータスの中には、「タスクの準備ができているか、実行中か、ブロックされているか」、「IPC 上でどのタスクがブロックされているか」、「タスクが自らのスタック制限を上回っているかどうか」、などがあります。ROV は、CCS と IAR Embedded Workbench IDE のどちらにも統合済みです。CCS には RTOS アナライザというツールも付属しています。このツールは、リアルタイムで挙動をキャプチャし、スレッドの実行状況、シーケンスの切り替え、スレッドとシステムの CPU 負荷、OS イベント、ユーザー定義のログ情報を表示することができます。
TI-RTOS ネットワークの概要
TI-RTOS ネットワーク (以前の呼称は NDK またはネットワーク開発キット) は、デュアル モード IPv4/IPv6 スタックを、いくつかのネットワーク アプリケーションと組み合わせます。TI-RTOS ネットワークのサポートは、イーサネット対応のマイコン、MPU、DSP のどれでも利用できます。TI-RTOS ネットワークの内容:
- コア TCP/IP プロトコル・スタック:デュアル モード IPv6/IPv4 スタック (ソースとバイナリの両形態)。VLAN パケット プライオリティ マーキング、TCP、UDP、ICMP、IGMP、IP、ARP の各プロトコルを含む
- ネットワーク・アプリケーション:HTTP、Telnet、TFTP、SNTP、DNS DHCP (IPv4 のみ) の各クライアントとサーバー
- シリアル / 携帯モデムのサポート:PPP と PPPoe
- アプリケーション・プログラミング・インターフェイス (API):BSD ソケット、ゼロコピー ソケット、未加工イーサネットのサポート
- デバイス・ドライバ:一部の TI デバイス向けの事前テスト済みデバイス ドライバは、TI-RTOS の一部、または TI のソフトウェア開発キット (SDK) に収録という形で入手できます。
加えて、SNMP と TSL/SSL をサポートするサード パーティのアドオンも入手可能です。TI-RTOS は、SimpleLink CC3100 向けのドライバを通じて Wi-Fi をサポートしています。このドライバは、Tiva C マイコンと MSP432™ マイコンのようなデバイス向けの SPI ドライバに事前統合済みです。そのため、これらのデバイスに Wi-Fi 機能をすぐに追加できます。CC3200 向けの TI-RTOS は、そのデバイスの内蔵 Wi-Fi 機能を包括的にサポートしています。