目次

ChibiOS

Real Tiem Kernelの一種. 仲間としてFreeRTOSが挙げられる. VESCのファームにも使われている.

SourceForgeからファームはダウンロード可能.GitHubにリポジトリもある.

ChibiOS/HAL Hardware Abstraction Layer (HAL)というのがあるが,STのHALドライバと似たようなもの?でペリフェラル系の関数を抽象化したドライバ郡
ChibiOS/HALはRTOSなしでも動く.OSAL(Operating System Abstraction Layerという部分のおかげで,どのRTOSでも実装可能.
ChibiOS/RT,ChibiOS/NILに関してはそのままで実装可能

動作フローについて

いくらリアルタイムOSと言っても、CPUは一つで、順次実行していくので、そのタスクを実行する関数の内部をいじっても、実質的動くのはすぐその瞬間では無いことに気をつける。RS485などで送信時にGPIOをいじって、送信関数を呼んでその後にGPIOをいじってもその間にすぐ送信されるわけでな無い。 送信完了割り込みとかでGPIOをいじってやる必要がある。

スレッド(Thread)の作り方

ChibiOS/RTでは、

の2種類があるらしく、静的スレッドはコンパイル時にメモリ領域を確保する。動的スレッドは実行中にヒープ領域やメモリプールから確保する。
How to create a thread

Eclipseでビルド,デバッグ

Makefileプロジェクトとしてインポートできる. OpenOCDでデバッグもできた.
要GNU MCU Eclipse Plugin

参考文献

ChibiOS Homepage
ChibiOSを調べる