ThreadX 組み込み RTOS ミドルウェア セキュリティ ソースコード販売の株式会社グレープシステム|横浜・盛岡・大阪

株式会社グレープシステム

組み込みリアルタイムOS(RTOS)

高速リアルタイムOS

ThreadXThreadX-μITRON

「ThreadX」は、組み込み機器向けのコンパクトなリアルタイムOSです。

概要
ThreadX

ThreadX」は、米国Express Logic社が組み込み用に設計開発した高速かつコンパクトなリアルタイムOS(RTOS)です。

「ThreadX」 は、フットプリントが小さく、リアルタイムのレスポンスを要求する組み込み開発に最適な独自アーキテクチャのコアを採用しているので、組み込みアプリケーション開発のためのRTOS としては最適です。

「ThreadX」Ver.5はさらに機能が拡張され、ARM、MIPS、SH などの人気の高いプラットフォームで使用できます。

 

ThreadX-μITRON」は、グレープシステムが開発した「ThreadX」に対応したμITRON ライブラリです。弊社ではこれをWrapper関数として「ThreadX」の上位に搭載することでμITRON OSとしての使用を可能にしました。
「ThreadX」の小さなフットプリントを活かした高速なμITRONを実現することで、「ThreadX」用のアプリだけではなく、お手持ちのμITRON資産も有効にお役立ていただけるので、2倍の資産活用が可能になります。

ソースコード提供

ロイヤリティフリー

3ヶ月の無償サポート

ポーティング、カスタマイズも可能(別途費用)

提供物

評価版ダウンロード

評価版ダウンロード

弊社では、Windows®上で評価できる「ThreadX」、および、「ThreadX-μITRON」の評価版のほか、ARM Cortex をはじめとする様々なプロセッサで評価できる「ThreadX」もご用意しております。

評価版をご希望の方は、右のCDの図をクリックしてダウンロードページにお進みください。

評価版ダウンロードページはこちら

特長

「ThreadX」には以下のような特長があります。

コンパクトで自動スケールのコードサイズ
「ThreadX」はCライブラリーとして構築します。最終的に利用する機能だけをアプリケーションとリンクするため、コンパクトで、最小フットプリントはCISCプロセッサの場合で2KB程度です。
「ThreadX」 サービス 標準的なバイト数
コア・サービス(必須) 2,000
キュー・サービス 900
イベントフラグ・サービス 900
セマフォ・サービス 450
ミューテックス・サービス 1,200
ブロック・メモリ・サービス 550
バイト・メモリ・サービス 900
最小RAMサイズ 500
最小ROMサイズ 2,000

注)バイト数は開発環境によって多少変化しますので、詳細は、弊社営業までお問い合わせください。

使いやすいAPI
「ThreadX」が持っているAPI (サービス)は、名称が実際の用語からできており直感的に認識できる機能的なものとして実装されています。
アプリケーションはtx_api.hファイルをインクルードして、オブジェクトを「ThreadX」のCライブラリーとリンクさせることで簡単に作成できます。
API
(簡単な使用例)
/* 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」のアプリケーションタイマー機能は、一回だけのトリガー動作でも複数回の周期的動作のどちらでも利用できます。
起動や終了を、使っているタイマー毎にひとつずつ行っていると負荷となってしまうため、「ThreadX」内部ではトリガー毎に管理しています。
このため通信やプロセス制御などタイマー中心のアプリケーションを使っても負荷にはなりません。
豊冨なシステムサービス
  • スレッド
  • アプリケーションタイマー
  • メッセージキュー
  • カウンティング・セマフォ
  • ミューテックス
  • イベントフラグ
  • ブロックメモリプール
  • バイトメモリプール
適合規格
  • DO-178B
  • FDA510(K)
  • IEC61508 など
広範囲にわたるプロセッササポート
移植性のよいシステムであるため、どのようなプロセッサでも2週間程度でポーティング作業が終了でき、次期製品のいち早い市場投入が可能となります。
標準版の対応プロセッサ一覧
  • ARM 7/9/10/11、Cortex-M0/M1/M3/M4/R4/R5/A5/A7/A8/A9
  • ALTERA Nios II、Cyclone
  • Atmel AVR32、SAMシリーズ
  • Analog Devices SHARC、BlackFin BF51x/52x/53x/54x/56x、BF70x
  • CEVA TeakLite-III
  • Cypress FM3、FM4
  • Energy Micro EFM32
  • Infinion XMC-4000
  • Microchip PIC24/dsPIC、PIC32
  • MIPS 32_4Kx/24Kx/34Kx/74Kx、MIPS64_5Kx/Octeon
  • NXP LPC2xxx、LPC17xx、LPC18xx、LPC4xxx
    PowerPC、ColdFire、Kinetis、i.MX FreeScaleを使用した説明はこちら
  • Renesas SH、H8、V85x/V83x V850、RX、RZ
  • STMicroelectronics STM32
  • Synopsys ARC4、600、700
  • Tensilica Xtensa/Diamond
  • Texas Instruments AM335x、AM35xx、OMAP、Tiva
  • TOSHIBA TX03
  • XILINX Zynq-7000、MicroBlaze など
標準版の対応開発ツール一覧
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

IAR社

IAR Embedded Workbench

Lauterbach社

TRACE32

MetaWare社

SeeCode

NXP社

CodeWarrior Development Studio

Renesas社

C/C++コンパイラパッケージ(HEW)

Texas Instruments社

 

Code Composer Studio

WindRiver社






Workbench
WindRiver Compiler (旧名称 Diab)
WindRiver ICE、WindRiver Probe
(旧vision ICE II / /vision Probe II 用 vision CLICK)

その他



GNU、CAD-UL, Microtec, EPI, Watcom, Borland, Microsoft® Visual Studio, Xilinx EDK などに対応

はThreadX Kernel Aware対応済のもの

注)対応するプロセッサ、開発ツールは、常時追加更新されています。
詳しくは弊社営業までお問い合わせください。

弊社製品・事業に関するお問い合わせ、開発のご依頼、お見積りなどはお気軽にお問い合わせください。
TEL:045-222-3761  MAIL:メールアドレス:セールス@info.grape.co.jp お問い合わせフォームはこちら

 

μITRON リアルタイムOS
ThreadX-μITRON
ThreadX

「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
パッケージに含まれるものの例
本パッケージには、以下のような認定に必要な全てのソースコード及びドキュメント類が含まれております。
Software Safety Requirements
Software Safety Validation Plan
Development Plan
Configuration Management Plan
Quality Assurance Plan
Verification/Test Plan
Coding Standards
Requirements Standards
Design Standards
Requirements Specification
Design Description
Unit Test Procedure
Unit Test Plans
Unit Test Reports
Integration Test Procedure
Integration Test Plan
Integration Test Report
Trace Matrices
Configuration Index
Software Accomplishments Summary
Safety Manual

※製品の仕様は予告なく変更する場合があります。
※製品名は各メーカーの商標または登録商標です。

弊社製品・事業に関するお問い合わせ、開発のご依頼、お見積りなどはお気軽にお問い合わせください。
TEL:045-222-3761  MAIL:メールアドレス:セールス@info.grape.co.jp お問い合わせフォームはこちら