T-Kernel for Raspberry Pi.
下記GitHubのプロジェクトに、ここで使っているRTOS(T-Kernel)部分のみを分離し独立させた「rtk_kernel」を公開しました。今後の更新は、その「rtk_kernel」で行っていきますので、そちらをご利用ください。
https://github.com/jr4qpv/rtk_kernel.git
- T-Kernel部分のみを分離することで、保守性を向上し見通しよくするのが目的。
- ここで動かしている簡易コマンドシェルなども、サンプルアプリとして別プロジェクトで公開していく予定。
Tronフォーラム(http://www.tron.org/ja/)で公開のオープンソース T-Kernel2.0 & Extensyon(T2EX)を、Raspberry Pi にポーティングしたリアルタイムOS。
コンパイル手順、起動方法などは、doc/rpi/porting_ja.md
を参照ください。
モデル | TYPE_RPI | 備考 |
---|---|---|
Pi Zero | 1 | |
Pi 1 Model B+ | 1 | 動作未確認 |
Pi 2 Model B | 2 | シングルコア動作 |
Pi 3 Model B | 3 | 32bit,シングルコア動作 |
作者が確認した環境。GCCのバージョンは多少異なっても大丈夫と思う。又、インストール手順は参考リンク[1.][2.][3.]を参照。
- msys2
- GNU ARM Embedded Toolchain 5-2016-q2-update
- macOS Sierra v10.12.4
- GNU ARM Embedded Toolchain 5-2016-q2-update
- Ubuntu 16.04 LTS Server
- GNU ARM Embedded Toolchain 5-2016-q2-update
Raspberry Piとパソコンとは、シリアル通信で接続する。尚、Raspberry Pi側は3.3V信号なので、シリアル-USB変換ケーブルなどが必要。詳しくは参考リンク[4.]を参照。
T-Kernel/T-Monitorプログラムの起動は、u-bootを利用します。(T-Monitor単体でも起動はできるのですが、2016/9/18現在 SDカードアクセスが未サポートの為)
尚、Raspberry Pi用のu-bootバイナリをGitHubに公開していますので、手軽に試したい方はそちらも利用できます。詳しくは、参考リンク[4.]を参照。
T-Kernel関連の仕様書はTronフォーラムを参照ください。
T-License2.1に従う。添付ドキュメントTEF000-218-150401.pdf
を参照ください。
T-Kernel再配布規約に従い、本ソフトウェアのディストリビューション番号は「00070055
」
本プログラムの使用にあたっては、使用者自身の責任で行ってください。作者は何の保証もしないし、本プログラムを利用した上で生じたいかなる障害や損害についても、作者は責任を負いません。
- 【msys2】ARMのコンパイル環境を構築する
- 【macOS】ARMのコンパイル環境を構築する
- 【Ubuntu 16.04 LTS Server】ARMのコンパイル環境を構築する
- 【Raspberry Pi】u-bootを動かす
- 【Ubuntu 16.04 LTS Server】Raspberry Pi用のu-bootをコンパイルする
- 【Raspberry Pi】参考になるベアメタルなドキュメント
まずは、T-Kernelの基本的な機能を動くようにしました。まだ未対応の部分、便利にしていきたい所は沢山あるのですが、徐々に整備できたらと思っています。なのでレビジョンも0.10からのスタートとしました。
LinuxやWindosでハードウェアを直接制御するプログラムを書くのはドライバ経由でアクセスしないといけなかったりで結構大変です。特権モードで動かせるT-Kernelタスクを使って、小型で安価な Raspberry Piの拡張コネクタに自作機器などを接続したりして、リアルタイムOSプログラミンを手軽に楽しめるのではないかと思います。
実用事例として、作者がGameBoyやMS-DOS用に公開しているモールス練習ソフト(CWTA/CWT)などを移植して公開できたらとも考えています。
本ソフトウェアに関しては、作者のブログ「The modern stone age.」でも情報公開していきますので参考にください。
- 2016/09/18 r0.10公開
- 2017/04/11 r0.11:フォルダ構成見直し、他
- 2019/09/29 yt-kernel 公開案内の追記を記載。
- 2020/01/08 yt-kernel → rtk_kernelに記載変更。