chibios

ChibiOS

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

  • ChibiOS/RT 高性能
  • ChibiOS/NIL RTの機能縮小版,コードサイズもコンパクトらしい

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をいじってやる必要がある。

ChibiOS/RTでは、

  • 静的スレッド
  • 動的スレッド

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

Eclipseでビルド,デバッグ

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

参考文献

  • chibios.txt
  • 最終更新: 2019/07/30
  • by yuki_kusakabe