RT-Thread

RT-Thread

は、組み込みデバイス向けのオープンソースのリアルタイムオペレーティングシステムである。
Apacheライセンス 2.0+で公開されている。
RT-Threadは、10年間の集中した開発の後、中国をベースとしたRT-Thread開発チームにより開発されている。
マイクロコントローラー分野でオープンソースのオペレーティングシステムがあまり利用されていない現在の中国の状況を変えようとしている。

RT-Threadカーネル
 オブジェクト指向のリアルタイムコア (しかし、エレガントでフレキシブルなC言語のスタイルを保っている)
 8、32または256段階の優先度を持ったマルチスレッドスケジューリング。同じ優先度を持った全てのスレッドが平等にスケジューリングされることを保証するためラウンドロビンポリシーを利用している。
 スレッドの同期。セマフォとミューテックスを優先度の逆転を防止するために利用する。
 スレッド間の完全で効率的な通信のためにメールボックスやメッセージキュー、イベントフラグなどをサポートする。
 メモリーブロックの割り当て/開放する際のスレッドのサスペンド/レジュームをサポートした静的なメモリー管理とスレッドセーフな動的ヒープ管理
 高レベルアプリケーションに標準的なインターフェイスを提供するデバイスドライバーフレームワーク

FinSHシェル
 Cに近い構文を利用できるコマンドライン
 コマンドラインからシステムコア機能に直接アクセス可能
 コマンドラインからシステムのグローバル変数に直接アクセス可能
コマンド履歴記録とコマンドプロンプトにおける自動補完

デバイスファイルシステム
 小規模デバイスに最適化された仮想ファイルシステム
 POSIXスタイルのAPI
 複数のファイルシステムの実装をサポート
 ELM-chanの提供するFatFSへのラッパー

TCP/IPプロトコルスタック
lwIPは軽量なTCP/IPプロトコルスタックで、以下の機能を持っている。
 標準的なBSDソケットインターフェイス
 IP、ICMP、UDP、TCP
 DNS、DHCP、PPP
 TFTP、HTTP、FTP (netutilコンポーネント)

RT-Thread/GUI
 RT-Threadに統合されている
 マルチスレッドサポート
 マルチウィンドウサポート
 ラベルやボタン、チェックボックス。ラジオボタンといった高機能なウィジェット
 クライアント/サーバーアーキテクチャー
 クライアントでの、ワークベンチ/ビュー/ウィンドウアーキテクチャー
 GB2312中国語表示

CPUアーキテクチャー
以下のCPUアーキテクチャーをサポートしている。

ARM 
 am335x
 am926
 amv6
 AT91SAM7S、AT91SAM7X 
 Cortex: M0、M3、M4、R4、M7
 dm36x
 LPC214x、LPC24xx
 s3c24x0
 s3c44b0
 SEP4020
 Xilinx Zynq7000

AVR32
 UC3

Blackfin
 bf53x

IA32(X86)

M16C
 m16c62p

MIPS 
 LOONGSON 1BC, 1C
 PIC32
 xburst

NIOS
 NIOS II

PPC
 ppc405

RX

unicore32
 sep6200

NEC V850
 70f34

Xilinx
 MicroBlaze

関連項目
 組み込みシステム
 マイクロコントローラ
 ワンボードマイコン

脚注

外部リンク
 RT-Thread Official Homepage(Chinese)
 RT-Thread github homepage
 gitee repository

リアルタイムオペレーティングシステム
組み込みオペレーティングシステム