1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Preface] Mastering the FreeRTOS Real Time Kernel-A Hands-On Tutorial Guildの日本語訳

Posted at

この記事について

Mastering the FreeRTOS Real Time Kernel-A Hands-On Tutorial Guildの日本語訳

Preface

マルチタスクと小規模組み込みシステム

顧客価値

FreeRTOSは知的財産権が曖昧さを一切含まない。商業利用に完全フリーであり、プロプライエタリのソースコード開示要求も一切ない

用語

FreeRTOSではスレッドではなくタスクを使う。

なぜReal-time Kernelを使うのか?

組み込みソフトにはカーネルなしのテクニックが確立されてはいるが、カーネルを使うとシンプルにできる。複雑なケースになると一層優れているが、どの程度から「Kernel有り」が良いかは、いつも議論となる。
優先度はタスクの処理デッドラインを保証することができるが、ほかにもメリットあるので以下にいくつか記載する。

タイミング情報の抽象化

カーネルは実行タイミングと、実行タイミングに関連したAPIを提供する。これはアプリケーションコードをシンプルに、トータルではコードサイズを小さくできる。

保守性、拡張性 (Maintainalibility, Extensibility)

実行タイミングの抽象化は、モジュール間の依存を小さくすることができる。アプリケーションコードのパフォーマンスはハードウェアの影響を受けにくい。

モジュール性

タスクは独立したモジュールで、それぞれ目的が明確に定義される。

チーム開発

タスクは明確なインターフェースが定義されているので、チーム開発が容易となる。

テスト容易性

タスクは明確なインターフェースで独立したモジュールのため、個別にテストが可能

再利用性

モジュール性と独立性によって、再利用性も高まる。

効率性

カーネルはイベントドリブンでソフトを動かすので、ポーリングに比べて処理時間を無駄にしない。コードの実行は必要なときのみに行われる。
効率性とは逆になるが、タスクを切り替えるためにティック割り込みが必要になる。しかし、RTOSを使わないアプリケーションでもティック割り込みのようなものが必要になる。

idle time

アイドルタスクはスケジューラーによって自動的に生成されてスタートする。どのアプリケーションタスクも動いていない時はいつも動作をする。アイドルタスクは空いている実行時間の測定に使用される。またプロセッサを省電力モードにいれることもある。

電力管理

RTOSを使った効率性は、プロセッサを省電力モードに入れる頻度が上がる。
電力消費はアイドルタスクが走った時に入れると、かなり改善する。FreeRTOSはtick-lessモードがあり、なかった場合に比べて省電力モードを長く維持できる。

柔軟な割り込みハンドル

割り込みハンドラーはタスクを待たせることによって短さを維持できる
"Interrupt handlers can be kept very short"は何がショートかわからなかった。文脈からレイテンシのことかなあ

リアルタイム性の要求を混在できる

周期的、連続的、イベントドリブンなアプリケーション、割り込みを組み合わせて、ハードリアルタイム/ソフトリアルタイム両方の要求を実現可能。

ライセンス

  1. FreeRTOSは商業用として利用できる
  2. FReeRTOSはすべての人に無料で提供される
  3. FreeRTOSユーザーは知的財産所有権を保持する

詳細情報は http://www.FreeRTOS.org/license を参照。

ソースコードとプロジェクトファイル

Windows Visual Studio環境で動くコードは http://www.freertos.org/Documentation/code にあります
お手軽にFreeRTOSを試すにはこちらおすすめです。Visual C++入れておくとすぐ動きます

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?