RT-Thread
[1]
[2]
は、組み込みデバイス向けのオープンソースのリアルタイムオペレーティングシステムである。
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
AVR32
Blackfin
IA32(X86)
M16C
MIPS
- LOONGSON 1BC, 1C
- PIC32
- xburst
NIOS
PPC
RX
unicore32
NEC V850
Xilinx
関連項目
脚注
- ^ “RT-Thread 启动下一代RTOS演化”. 2019年1月18日閲覧。
- ^ “RT-Thread github”. 2019年1月18日閲覧。
外部リンク