マイクロコントローラー用に利用できるさまざまな RTOS があります。特に、ARM Cortex M プロセッサをサポートする RTOS を探しています。また、クローズド ソース ソリューションには興味がありません。
Web サイトやメーリング リストから各 RTOS の相対的なメリットを比較しようとすると、ほとんどの場合同等の機能があり、同じことを行うように見えるため、かなり難しいように思えます。実際の違いは、それぞれの RTOS をいくつかのタスクに使用してみないと明らかになりません。
これはやや主観的な質問であり、おそらく答えるのが難しいことは承知していますが、実際にいくつかの異なる RTOS を試して、それぞれの相対的なメリットについて意見をまとめた人がたくさんいるはずです。
特に FreeRTOS、ChibiOS、Coocox CoOS に興味がありますが、他の選択肢も大歓迎です。
例: ChibiOS では、ISR は任意のシステム関数を呼び出すことができるように見えますが、これらの呼び出しはchSysLockFromIsr()
/でラップする必要がchSysUnlockFromIsr()
あり、コードはそれらのセクションでプリエンプトできません。CoOS では、呼び出し可能な関数は、、isr_
などで
始まる関数のみですが、これらの関数は内部でサービス リクエスト キューを使用するため、ほとんどのリクエストがプリエンプト可能です。isr_PostSem()
isr_PostMail()
isr_PostQueueMail()
isr_SetFlag()