組み込み機器向けのコンパクトなリアルタイムOS
ThreadXは、米国Express Logic社が組み込み用に設計開発した高速なリアルタイムOS (RTOS)です。
ThreadX は、フットプリントが小さく、リアルタイムのレスポンスを
要求する組み込み開発に最適な独自アーキテクチャのコアを採用しているので、組み込みアプリケーション開発のためのRTOS としては理想的です。
ThreadX Ver.5 はさらに機能が拡張され、SH、x86、ARM などの人気の高いプラットフォームで使用できます。人気の高いプラットフォームで使用できます。
ThreadX-μITRONは、グレープシステムが開発したThreadXに対応したμITRON ライブラリです。弊社ではこれをラッパー関数としてThreadXの上位に搭載することでμITRON OSとしての使用を可能にしました。ThreadXの小さなフットプリントを活かした高速なμITRONを実現することで、お手持ちのμITRONアプリの資産を有効にお役立ていただけます。
■ TIセミナーでThreadXをご紹介しました。 セミナーの動画はこちら
提供物
標準版 : 「ThreadX」
μITRON版 「ThreadX μITRON」
デュアルコア版 「ThreadX/SMP」
マルチスレッド版 「ThreadX/MT」
評価版ダウンロード
弊社では、Windows上で評価できるThreadX、および、ThreadX μITRON の両方の評価版のほか、Blackfinや、XILINXのPower PCや、Micro Blazeなどで評価できるThreadXもご用意しております。
評価版をご希望のかたは、右のCDの図をクリックしてダウンロードページをご覧ください。
評価版ダウンロードページはこちら
特長
コンパクトなサイズ
ThreadXはCライブラリとして構築します。最終的に利用する機能だけをアプリケーションとリンクするためコンパクトで、最小フットプリントはCISC プロセッサの場合で2.5KB 程度です。
ThreadX サービス
標準的なバイト数
コア・サービス(必須)
2,000
キュー・サービス
900
イベントフラグ・サービス
900
セマフォ・サービス
450
ミューテックス・サービス
1,200
ブロック・メモリ・サービス
550
バイト・メモリ・サービス
900
注):バイト数は開発環境によって多少変化しますので、詳細は、弊社営業までお問い合わせください。
使いやすいAPI
ThreadX が持っているAPI (サービス)は、名称が実際の用語からできており直感的に認識できる機能的なものとして実装されています。アプリケーションはtx_api.hファイルをインクルードして、オブジェクトを ThreadX のCライブラリとリンクさせることで簡単に作成できます。
(簡単な使用例)
/* Get a semaphore with suspension */
status = tx_semaphore_get(&semaphore_0,
TX_WAIT_FOREVER);
/* Check status. */
if (status != TX_SUCCESS)
break;
/* Sleep for 2 ticks to hold the semaphore */
tx_thread_sleep(2);
/* Release the semaphore */
status = tx_semaphore_put(&semaphore_0);
/* Check status. */
if (status != TX_SUCCESS)
break;
高速でパフォーマンスの良いRTOS
ThreadX を使えば、アプリケーションは以前よりも速く外部イベン
トをハンドリングすることができ、タスク制御は決定的になります。外
部イベントの発生順に、優先順位の高いスレッドから最適なコンテキス
ト切り替えが実行されます。一般的なITRON と比較しても15% から
50%程度、速く動作します。
ThreadX
サービス
Service
Time
Suspend
Resume
Context
Switch
Thread Suspend
0.6μs
0.8μs
-
-
Thread Resume
-
-
0.6μs
1.1μs
Queue Send
0.3μs
0.9μs
0.7μs
1.2μs
Queue Receive
0.3μs
0.9μs
0.9μs
1.4μs
Get Semaphone
0.2μs
0.9μs
-
-
Put Semaphone
0.2μs
-
0.6μs
1.1μs
Context Switch
-
-
-
0.4μs
Interrupt Response
0.0μs(min)
-
-
0.6μs(max)
注):上記のデータは200MHz のプロセッサを基準にしています。
容易な動作解析
ThreadX は、C 言語によるソースと若干のアセンブラから構築されているため、その動作を簡単に検証する事ができます。
プリエンプション・スレッシュホルド (Preemption Threshold™)
ThreadX のプリエンプション・スレッシュホルド技術は、優先度ベースのプリエンプティブなスケジューリングアルゴリズムを意味しています。
アプリケーションは全システムのプリエンプションを禁止するのではなく、設定された範囲の優先度でプリエンプションを禁止することができます。
プリエンプション・スレッシュホルドを利用する事で、過度なコンテキスト切り替えや非決定的な優先度の逆転を禁止し、全体的なレスポンスを高める事ができます。
優先順位の継承
非決定的な優先度の逆転を防ぐためのもうひとつのツールが、ミューテックス(Mutex)オブジェクトに見られる「優先順位継承」です。
柔軟なメモリ構成
スレッドスタック、メッセージキュー、メモリプールに関連した ThreadX のコントロールブロックやメモリブロックは、実行中のハード上で、どんなアドレススペースに対しても簡単に配置する事が可能です。
例えばスタックを高速なメモリに配置する事で優先順位の高いスレッドのパフォーマンスを上げる事が簡単にできます。
ダイナミック・クリエーション
ThreadX ではシステムリソースを動的に生成することができ、利用可能なリソース数に制限はありません。
システムオブジェクトの数はパフォーマンスに影響しないので、スレッド数が多いからといってパフォーマンスが低下する事もありません。
負荷の少ないタイマ管理
ThreadX のアプリケーションタイマ機能は、一回だけのトリガ動作でも複数回の周期的動作のどちらでも利用できます。
起動や終了を、使っているタイマ毎にひとつずつ行っていると負荷となってしまうため、ThreadX 内部ではトリガ毎に管理しています。
このため通信やプロセス制御などタイマ中心のアプリケーションを使っても負荷にはなりません。
豊冨なシステムサービス
スレッド
アプリケーションタイマ
メッセージキュー
カウンティング・セマフォ
ミューテックス
イベントフラグ
ブロックメモリプール
バイトメモリプール
広範囲にわたるプロセッササポート
移植性のよいシステムであるため、どのようなプロセッサでも2週間程度でポーティング作業が終了でき、次期製品の市場投入がいち早くできます。
ARC 600、700
ARM7/9/11、StrongARM、Thumb、Cortex-M3/R4/A8/A9
RENESAS SH1、SH2、SH3、SH4、SH2-DSP、SH3-DSP、H8/300H…
ALTERA Nios II
Atmel AVR32
ADI SHARC、BlackFin ADSP-BF53x/56x
LSI Logic ZSP、StarCore
Luminary Micro Stellaris、 iMX
PowerPC 821/860、82xx、83xx、85xx、405、440
68K、MCORE、MCF52xx、MCF53xx、MCF522xx
Microchip PIC24/dsPIC、PIC32
MIPS 4K、24K、34K、64K、1004K
NEC V85x/V83xシリーズ
NXP LPC23xx、LPC24xx、LPC17xx
OKI ML674K/ML675K
STMicroelectronics STM 32
Intel x86/x386
Tensilica Xtensa/Diamond
TriCore
TMS320C54x、TMS320C6xファミリ
XScale
XILINX Micro Blaze
ZSP
注:サポートCPU、開発ツールについては、常時追加更新されています。
詳しくは弊社営業までお問い合わせください。
ThreadX シュミレーションパッケージ
NetX とGR-WinNETを組み合わせたシミュレーション・パッケージ
Windows 上でのシミュレーションにより、ただちにプログラミング開始が可能
GR-WinNET により、低レベルパケットの送受信まで含めたテストが可能
実際の通信におけるパラメータを実機なしに調整可能
Windows2000およびWindowsXPに対応
GR-WinNET ・ NetX ドライバ部分はソースコードで提供
複数のアプリケーションを同時に起動可能
教育用途にも使用可能
標準版の対応開発ツール一覧
ルネサスエレクトロニクス 社
★ C/C++コンパイラパッケージ
ARM社
ARM Developer Suite
★ RealView
Real View MDK (KEIL)
Analog Devices 社
★ Visual DSP
Computex 社
★ CSIDE
Green Hills Software 社
★ MULTI2000
Event Analyzer for ThreadX,
Thread-safe libraries
MetaWare 社
★ SeeCode
WindRiver 社
Workbench 2.3
WindRiver Compiler (旧名称 Diab)
★ WindRiver ICE、WindRiver Probe
(旧vision ICE II / /vision Probe II 用 vision CLICK)
Texas Instruments 社
Code Composer Studio
Lauterbach 社
★ Power View
Metrowerks 社
★ CodeWarrior Development Studio
IAR 社
★ IAR Embedded Workbench
その他
GNU、CAD-UL, Microtec, EPI,Watcom, Borland,
Microsoft Visual Studio, Apogee Softwareなど
★ はThreadX Kernel Aware対応済のもの
μITRON リアルタイムOS ThreadX-μITRON
ThreadX- μ ITRONは、トロン協会のITRON 仕様準拠登録製品であり、μ ITRON4.0仕様スタンダード・プロファイル機能以外にも、ミューテックス/メッセージバッファ/ ランデブも標準でサポートしているので、多彩なアプリケーション開発の要求にも応えられます。
従来資産の活用が容易
ユーザーアプリケーションは ThreadX を意識せず、純粋なμITRON4.0 仕様RTOS として使用できますので、これまで開発してきたμITRON ソフトウェア資産や、μITRON 対応の各種ミドルウェアと組み合わせて使用することができます。
共用できるサービスコール
ThreadX- μ ITRON上のタスクから ThreadX のサービスコールを使用することができます。
ThreadX のサービスコールはシンプルで高速に動作しますので、より高速な通信を必要とする場合に利用できます。また、ThreadX のスレッドからも、μ ITRON サービスコールも利用できますので、どちらのサービスコールでも状況によって使い分けることができます。
このようにサービスコール使用の自由度が高いので、ユーザーアプリケーションの可能性が広がります。
ソース、バイナリともご提供可能
ロイヤリティフリーの契約
3ヶ月の無償サポート
ポーティング、カスタマイズも可能