組み込み機器向けのコンパクトなリアルタイムOS
「ThreadX」は、米国Express Logic社が組み込み用に設計開発した高速なリアルタイムOS (RTOS)です。
「ThreadX」 は、フットプリントが小さく、リアルタイムのレスポンスを
要求する組み込み開発に最適な独自アーキテクチャのコアを採用しているので、組み込みアプリケーション開発のためのRTOS としては理想的です。
「ThreadX」 Ver.5 はさらに機能が拡張され、SH、x86、ARM などの人気の高いプラットフォームで使用できます。
「ThreadX-μITRON」は、グレープシステムが開発した「ThreadX」に対応したμITRON ライブラリです。弊社ではこれをラッパー関数として「ThreadX」の上位に搭載することでμITRON OSとしての使用も可能にしました。
「ThreadX」の小さなフットプリントを活かした高速なμITRONを実現することで、「ThreadX」用のアプリだけではなく、お手持ちのμITRONアプリの資産も有効にお役立ていただけるので、2倍の資産活用が可能になります。
提供物
評価版ダウンロード
弊社では、Windows上で評価できる「ThreadX」、および、「ThreadX μITRON」両方の評価版のほか、ARM Coretex をはじめとする様々なプロセッサで評価できるThreadXもご用意しております。
評価版をご希望のかたは、右のCDの図をクリックしてダウンロードページをご覧ください。
評価版ダウンロードページはこちら
特長
コンパクトで自動スケールのコードサイズ
「ThreadX」はCライブラリーとして構築します。最終的に利用する機能だけをアプリケーションとリンクするためコンパクトで、最小フットプリントはCISCプロセッサの場合で2.5KB 程度です。
ThreadX サービス
標準的なバイト数
コア・サービス(必須)
2,000
キュー・サービス
900
イベントフラグ・サービス
900
セマフォ・サービス
450
ミューテックス・サービス
1,200
ブロック・メモリ・サービス
550
バイト・メモリ・サービス
900
最小RAMサイズ
500
最小ROMサイズ
2,000
注):バイト数は開発環境によって多少変化しますので、詳細は、弊社営業までお問い合わせください。
使いやすい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 と比較しても30% から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」内部ではトリガー毎に管理しています。
このため通信やプロセス制御などタイマー中心のアプリケーションを使っても負荷にはなりません。
豊冨なシステムサービス
スレッド
アプリケーションタイマー
メッセージキュー
カウンティング・セマフォ
ミューテックス
イベントフラグ
ブロックメモリプール
バイトメモリプール
適合規格
DO-178B
FDA510(K)
IEC61508 など
広範囲にわたるプロセッササポート
移植性のよいシステムであるため、どのようなプロセッサでも2週間程度でポーティング作業が終了でき、次期製品の市場投入がいち早くできます。
標準版の対応プロセッサ一覧
A2P
ADI SHARC
ARC 4、600、700
ARM ARM7/9/10/11、StrongARM、Thumb、Xscale、Cortex-M0/M1/M3/M4/R4/R5/A8/A9
ルネサス SH1、SH2x/2A/2A-FPU、SH3、SH4x、SH2-DSP、SH3-DSP、H8x/300H…、V850、RX、V85x/V83x シリーズ
ALTERA Nios II
Atmel AVR32
AMCC PowerPC
AMD G シリーズ
BlackFin BF51x/52x/53x/54x/56x
CEVA Teklite-III
CR16
Energy Micro EFM32
LSI Logic ZSP、StarCore
Luminary Micro Stellaris、iMX
Freescale PowerPC 821/860、82xx、83xx、85xx、40、440、5xx、51xx、52xx、55xx、6xx、7xx、745x、8xx、82xx、83xx、85xx、68K 、MCF52xx 、MCF53x x 、MCF54xx 、MCF522xx、ColdFire、Kinetis(FreeScale を使用した説明はこちら )
Microchip PIC24/dsPIC、PIC32
MIPS32_4Kx/24Kx/34Kx/74Kx/1004Kx VPE SMP Version、MIPS64_5Kx/Octeon、R3000、R4000、R5000、Idt32xxx、Toshiba TX19
NEC V85x/V83xシリーズ
NXP LPC23xx、LPC24xx、LPC17xx
OKI ML674K/ML675K
SHARC ADSP2106x
SPARClite
STARCORE MSC81xx
STMicroelectronics STM 32
Intel x86/i960xx、Pentium
Tensilica Xtensa/Diamond
TI C54xx、C6xxx、Stellaris、MSP430
TriCore
TMS320C54x、TMS320C6xファミリー
XILINX Micro Blaze, Zynq 7000
ZSP
標準版の対応開発ツール一覧
ルネサスエレクトロニクス 社
★ C/C++コンパイラパッケージ(HEW)
ARM社
ARM Developer Suite
★ RealView
RealView 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, Xilinx EDK などに対応
★ はThreadX Kernel Aware対応済のもの
注:サポートCPU、開発ツールについては、常時追加更新されています。
詳しくは弊社営業までお問い合わせください。
μITRON リアルタイムOS 「ThreadX-μITRON」
「ThreadX- μ ITRON」は、トロン協会のITRON 仕様準拠登録製品であり、μ ITRON4.0仕様スタンダード・プロファイル機能以外にも、ミューテックス/メッセージバッファ/ ランデブーも標準でサポートしているので、多彩なアプリケーション開発の要求にも応えられます。
従来資産の活用が容易
ユーザーアプリケーションは「ThreadX」を意識せず、純粋なμITRON4.0 仕様RTOS として使用できますので、これまで開発してきたμITRON ソフトウェア資産や、μITRON 対応の各種ミドルウェアと組み合わせて使用することができます。
もちろん「ThreadX」用に作成されたアプリケーションやミドルウェアもあわせて動作させることができ
るので、2倍の資産活用が可能です。
共用できるサービスコール
「ThreadX- μ ITRON」上のタスクから「ThreadX」のサービスコールを使用することができます。
「ThreadX」のサービスコールはシンプルで高速に動作しますので、より高速な通信を必要とする場合に利用できます。
また、「ThreadX」のスレッドからも、μ ITRON サービスコールも利用できますので、どちらのサービスコールでも状況によって使い分けることができます。
このようにサービスコール使用の自由度が高いので、ユーザーアプリケーションの可能性が広がります。
ThreadX セーフティクリティカル認証パッケージ™
「ThreadX セーフティクリティカル認証パッケージ™」は、「ThreadX」が動作する製品が、安全が最重視される航空業、医療、および産業用システムなどで要求される最高の信頼性と臨界レベルを持つものであることを認定してもらうために作られた独立パッケージです。
本パッケージには、認定に必要な全てのソースコード、ドキュメント、分析レポート、認証テスト関連書類一式、認証機関に提出するための要約レポートが含まれております。
このパッケージを使えば、開発者はコードに注意を集中することができ、ドキュメント作成や「ThreadX」自体の検証を心配する必要がなく、単に申し込み用書類と「ThreadX セーフティクリティカル認証パッケージ™」を一緒に提出することですべての規制要件を満たすことができるため、時間とお金の無駄が省け、認証取得のためのリスクが低減します。
パッケージがサポートする基準
本パッケージは、以下の米国及び国際基準をサポートしています。
航空業 : DO-178B、ED-12B、DO-278
医 療 : FDA510(K)、IEC-62304、IEC-60601、ISO-14971
工 業 : UL-1998、IEC-61508
交通機関/鉄道 : CENELEC EN50128、BS50128、49CFR236、IEC-61508
自動車 : IEC-61508
核 : IEC-61508
「NetX」 とGR-WinNETを組み合わせたシミュレーション・パッケージ
Windows 上でのシミュレーションにより、ただちにプログラミング開始が可能
GR-WinNET により、低レベルパケットの送受信まで含めたテストが可能
実際の通信におけるパラメーターを実機なしに調整可能
Windows2000およびWindowsXPに対応
GR-WinNET・「NetX」 ドライバー部分はソースコードで提供
複数のアプリケーションを同時に起動可能
教育用途にも使用可能
ソース、バイナリともご提供可能
ロイヤリティフリーの契約
3ヶ月の無償サポート
ポーティング、カスタマイズも可能(費用は別途)