scroll

リアルタイムOS

NXTechでは、組込みシステム向けオペレーティングシステム:μITRON OSを各種提供しています。μITRON OSはCenteミドルウェアとの親和性もあり、組込みシステム開発のあらゆる分野で採用されています。

リアルタイムオペレーティングシステム(RTOS)を使うメリットとは?

組込み機器の開発において、RTOSを使うメリットは非常に大きいです。

一度RTOSを使った開発を経験してしまうと、ほとんどの開発者は「RTOS無しでの開発は考えられない」と言うくらい非常に便利なものです。

複数処理(タスク)間の同期処理が非常にカンタン!

RTOSを使わずにプログラムを書く場合、機能間のタイミングの受渡しはグローバルメモリに置いた「フラグ」をつかってやり取りするのが一般的です。しかしこの方法はフラグのセット/リセットの場所が多くなってくると、次第にデバッグが困難になってきます。

よくあるのが「ONにしたはずのフラグが立たない」「ある条件下でのみフラグが消えない」といった不具合ですが、フラグを操作している場所が多ければ多いほど問題の部位やタイミングを特定するのに多くの時間を費やすケースが少なくありません。

そこで、RTOSが備えているイベントフラグやセマフォなどの同期機能を使うことでタスク間をカンタンに同期することが可能となります。煩わしいフラグ管理やタイミング同期はOSにまかせ、限りある開発リソースは競合他社と差別化するためのアプリケーション開発に投入するほうがスマートです。

また、タスクを並列に実行したり、タスク毎に優先度をつけて実行する、といったことをOSレス環境で実現するのは大変です。出来ないこともありませんが、開発途中にタスク優先度を変えることは他の部分への波及度が大きく、開発効率やプログラムの保守性を大きく損ないます。

こういった場合でもRTOSを使えばタスク毎に優先度を指定することができ、例えば、どんなに忙しくても受信処理だけは最優先で行う、とか、一時的に送信処理を最優先にしたい、といったことが簡単に実現できます。

RTOSシステムコールを使うことでアプリケーションの移植性・再利用性が向上

どのメーカーのRTOSでも、一般的に「メモリ割当・返却」「イベントフラグ」「データキュー」「メールボックス」「セマフォ」といったシステムコールは最低限実装されています。

このようなRTOSのシステムコールを使ってユーザプログラムを作ることで、他のOSに移植する場合でもシステムコール部を移植先OSのAPI仕様に書き換えるだけで済み、アプリケーションの移植性や再利用性が高まります。

プログラム構造の可読性と保守性が向上

RTOS上でプログラミングする場合、処理を「タスク」という実行単位にして定義します。タスクとは機能の実行単位であり、例えば「受信タスク」「送信タスク」「表示タスク」といったように処理単位に分けて構成します。

そのように処理単位、機能単位で書かれたプログラムは可読性がよく、可読性の高いプログラムは必然的に保守性が向上します。

ファイルシステム・プロトコルスタックなどの多くのミドルウェアの利用が可能

多くの市販ミドルウェアはRTOS環境で使用されることが前提となっております。(弊社のCenteミドルウェアも一部製品を除いてμITRON仕様のRTOSを使用する前提です)

RTOSを採用することで市販ミドルウェアの選択肢が一気に増えますので、必要なミドルウェア・ドライバは外部から調達し、自社の開発リソースはライバル社と差別化するためのアプリケーション開発に投入することが可能となります。

取扱いリアルタイムオペレーティングシステム(RTOS)

・イー・フォース株式会社 μC3(マイクロ・シー・キューブ)
・株式会社ミスポ NORTi
・マクセルフロンティア株式会社 Smalight OS

※弊社ではマイコンの選定からRTOS、ミドルウェアの選定までトータルでご提案することが可能です。初めてRTOSを検討される方、どんなマイコンを選定すればよいか悩んでいる方など、お気軽にご相談ください!

TOP