手元にあるさまざまなプロセッサ用の RTOS に参加することに関連するクエリはほとんどありません。これらは一般的な質問です。おそらく、任意のプロセッサ/rtos に固有の例、または一般的な例で明確にすることができます。プロセッサが RTOS をサポートできるかどうかを判断する方法は? プロセッサが RTOS を必要とするかどうかを知る方法は?
4 に答える
プロセッサにはRTOSが必要ですか?いいえ-RTOSは必要ありません。洗練された組み込みアプリケーションを1つなしで実行できます。私が現在取り組んでいるアプリケーションにはRTOSがありません。アプリケーションでさまざまなタスクをスケジュールすることを検討し、これらのタスクをスケジュールするコードを作成する必要があります。そのほとんどは、ソフトウェアタイマーを使用し、適切と思われるさまざまなタスクをタイムスライスすることで実現します。ただし、RTOSを使用すると、コードのさまざまな部分をシームレスにスケジュールすることでプロセスを大幅に簡単にすることができ、その場合は実際にそれを処理することを心配する必要はありません。
RTOSを選択するときは、いくつかのことを考慮する必要があります。プロセッサにはどのくらいのRAMがありますか?フラッシュはどれくらいありますか?高価なチップをボードに搭載したくない場合や、RTOSのすべての機能が必要ない場合は、重いRTOSを搭載する必要があります。基本的なスケジューリングの場合、比較的小さなRTOSを取得できます。これは、巨大ではなく、必要なほとんどのことを非常に効率的に実行します。
たとえば、無料のRTOSはオープンソースであり、およそ9Kのみです。
VxWorksやEmbeddedLinuxのようなRTOSを使用することもできます。これは、はるかに多くのことを実行しますが、高価か巨大か、またはその両方です。
結局、使用するRTOSは、アプリケーションのニーズと、そのために必要なメモリの量によって異なります。
これも「弦の長さ」の質問ですが、おもしろいので+1します。
最初に2番目のポイント。プロセッサがRTOSを必要とすることはないと思います。私はむしろ、アプリケーションができると言いたいです。
プロセッサがRTOSをサポートできるかどうかに関して、主な質問は、プロセッサの負荷の大きさ、処理する必要のあるイベントの数と必要な処理の量など、および割り込み処理メカニズムの可用性などです。
特定のプロセッサ、ROTS、アプリケーションを念頭に置いていますか、それともこれは単なる一般的な質問ですか?
RTOSを必要とするプロセッサはありません。RTはプログラミングの機能であり、プロセッサが要求できるものではありません。
私が知っているすべてのプロセッサはRTOSをサポートしています-ハードウェア割り込みは次の命令で割り込みます。それを止めて非リアルタイムで処理するのは基本的にOSです。
プロセッサがRTOSを必要とするのはなぜですか? 結局、RTOS はハードウェア上で直接実行されるソフトウェアにすぎません。そのソフトウェアは、代わりにハードウェア上で直接実行されるアプリケーションである可能性もあります。あなたの質問のその部分はほとんど意味がありません。ハードウェアでバイトコードを実行することによってJavaコードを実行するように設計されたプロセッサがある場合、アプリケーションの基盤としてJVM以外のものでそのプロセッサを使用することは意味がありませんが、そうであるプロセッサは考えられませんRTOS なしでは使用できない RTOS 実装に合わせて調整されています。
プロセッサが RTOS をサポートできるかどうかに関して、最も簡単な方法は、プロセッサ用に既に実装されている商用 RTOS があるかどうかを確認することです。ほとんどのプロセッサ ベンダーは、チップが一般に利用可能になる前に、1 つまたは複数のサード パーティからそのようなサポートが提供されるようにします。一般に、割り込みメカニズムとタイマー ハードウェアを備えたものはすべて、十分なリソースがあれば、RTOS または少なくとも何らかのスケジューラをサポートできることをお勧めします。ただし、リソースが非常に制約されているマイクロコントローラーの中には、意味をなさないものもあります。