RT-Threadは、
組み込みシステム向けに開発されたオープンソースの
リアルタイムオペレーティングシステム(RTOS)です。
Apache License 2.0のもとで公開されており、誰でも自由に使用、修正、配布できます。
このOSは、中国を拠点とするRT-Thread開発チームによって10年以上にわたり集中的に開発されてきました。
マイクロコントローラ分野ではオープンソースのオペレーティングシステムの利用がまだ少ない現状を変え、より多くの開発者が手軽に利用できる環境を提供することを目指しています。
RT-Threadカーネル
RT-Threadの
カーネルは、オブジェクト指向の設計を採用したリアルタイムコアです。C言語の柔軟性を維持しつつ、エレガントな構造を実現しています。主な特徴は以下の通りです。
マルチスレッドスケジューリング: 8、32、または256段階の優先度を持つマルチスレッドスケジューリングをサポートしています。同じ優先度のスレッドはラウンドロビン方式で公平に実行されます。
スレッド同期: セマフォやミューテックスを使用してスレッド間の同期を制御し、優先度の逆転を防ぎます。
スレッド間通信: メールボックス、メッセージキュー、イベントフラグなどを利用して、スレッド間の効率的な通信をサポートします。
メモリ管理: 静的メモリ管理とスレッドセーフな動的ヒープ管理を提供します。メモリブロックの割り当てと解放時にスレッドのサスペンドとレジュームをサポートしています。
デバイスドライバーフレームワーク: 高レベルのアプリケーションに対して標準的なインターフェースを提供します。
FinSHシェル
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にはGUI(グラフィカルユーザーインターフェース)機能が統合されています。主な特徴は以下の通りです。
マルチスレッドサポート
マルチウィンドウサポート
ラベル、ボタン、チェックボックス、ラジオボタンなどの高機能ウィジェット
クライアント/サーバーアーキテクチャ
ワークベンチ/ビュー/ウィンドウアーキテクチャ
GB2312中国語表示
サポートするCPUアーキテクチャ
RT-Threadは、以下の多様なCPUアーキテクチャをサポートしています。
ARM: am335x, am926, amv6, AT91SAM7S/X, Cortex-M0/M3/M4/R4/M7, dm36x, LPC214x/24xx, 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