RTOSの世界は初めてです。Raspberry Pi 3(FreeRTOSの場合があります)でRTOSを使用する予定です。誰がどのRTOSが初心者に適しているかを提案できますか?
彼らはまだBCM2837でデータシートをリリースしていないので、RTOSをRaspberry Pi 3にロードすることさえ可能ですか?
RTOSの世界は初めてです。Raspberry Pi 3(FreeRTOSの場合があります)でRTOSを使用する予定です。誰がどのRTOSが初心者に適しているかを提案できますか?
彼らはまだBCM2837でデータシートをリリースしていないので、RTOSをRaspberry Pi 3にロードすることさえ可能ですか?
回答:
元のプロジェクトはRaspberry Pi 1のみをサポートしていますが、このフォークをRaspberry Pi 2で正常にコンパイルし、3もサポートするように言っています。
これまで、ラズベリーパイ3で次のRTOSをテストしましたが、これは誰かが時間を無駄にしないようにするのに役立ちます(3か月間無駄になりませんでした):FreeRTOS、Xenomai、RTEMS、BitThunder、ChibiOS / RT
RISC OSの場合、RTOSではありません。
私がこれまでラズベリーパイ3で実行できたのは、フクシアOSのカーネル(マゼンタ)だけでしたが、まだ初期段階にあり、文書化されていません
もう1つの方法は、自分でRTOSを構築することです。はい、可能です。ULTIBOCOREを使用し、これらのチュートリアルに従ってください。- http ://www.valvers.com/open-software/raspberry-pi/step01-bare-metal- プログラミング・イン・CPT1 / - https://www.youtube.com/watch?v=TCfpb8M0WeQ
ARM、ISAファミリのすべての現在のラズベリーパイモデルのBroadcomのプロセッサによって使用されるが、基づいているRISCいるため、RISC OSが書かれています。RISC OS最初の10年間はARMデバイスが支配的だったと思います。英国を拠点とする同じテクノロジー企業(Acorn)が元々ARMとRISC OSの両方を設計したからです。実際、ARMは当初「Acorn RISC machine」の略であり、Raspberry Piがそれと呼ばれる理由の一部は、果物やナッツにちなんでコンピューターシステムに名前を付けるという英国の伝統によるものです。
RISC OSは真のリアルタイムオペレーティングシステムではありませんが、協調マルチタスクを使用しているため、他のプロセスへの降伏を自発的に拒否できるプロセスを実行できます。これがどのような結果をもたらすかはわかりませんが、次のことを想定しています。
問題なくこれを許可するように構成することができますが、OSが達成できることに関する制限が含まれる場合があります(たとえば、ネットワークに関して)。
カーネルモードへのコンテキストの切り替えは、目標を完了するためにプロセスがシステム呼び出しを行ったためにのみ発生します。
これは、取得する必要がある「リアルタイム」に応じて、リアルタイム機能にかなり近いです。さらに、RISC OSがPi 3で実行されていることが確認されています。
RTOSの定義はアプリケーション(通常ははるかに単純なふりをするコンピューター)によって異なるため、RISC OSは中複雑なアプリケーションのRTOSであり、必ずしも複雑ではないものの、非常に複雑なRTOS用語の矛盾のように聞こえます。Mahmoud Almostafa RABBAHによる例では、OSがなく、ブートローダーから直接シングルタスクプログラムを実行していますが、これもRTOSではありません。
これを理解する唯一の合理的な方法は、RTOS定義を3つのレベルに分割することです。
低複雑性は洗濯機やデータロガーのようなものであり、Arduinoや単純なMCU、あるいは単なるシーケンシャルロジックなどの単純なハードウェアを使用する方がよいでしょう。それはより少ない電力を消費し、心配することははるかに少なくなります:物事を必要以上に複雑にしないでください。
複雑さは、RTOSにはない完全なマルチタスクシステムのようなものになります。必要に応じて、GUIを別のデバイスで実行することをお勧めします。また、他のプロセスを呼び出すプロセスを監視することも複雑になる可能性があり、一部のプロセスは優先順位を付ける必要がありますが、ここでも何らかの並列処理を行う方がよいでしょう。
中程度の複雑さは、通常のOSが提供できるインターフェース、たとえばUSB、およびおそらく小さなディスプレイ出力を必要としますが、データのストリームを処理し、何にも邪魔されないようにします。これは、自動車アプリケーションのレベルのように聞こえます。
そのためには、OSなしで何かをコンパイルし、ホストマシンを使用してそれを開発するか、BASICに直接起動してターゲットマシンで開発するRISC OSのバージョンを使用できます。
これにより、他のことによって中断されることなく、多数のイベントをポーリングするのに十分高速な単一のタスクが実行されます。ハードウェア割り込みは、無効にしない限り実行されます(かなり簡単に実行できます)。これらは、ディスプレイ/ USBなどを機能させるために必要です。他のハードウェア割り込みは、使用していない可能性のあるタイマーとIOを実行します。
RTOSアプリケーションでのRISC OSのもう1つの利点は、必要なモジュールのみを使用できることです。これは、従来のGUIアプリケーションでは意味がなく、「組み込みシステム」という用語を使用しますがSTD / AdvantageSix [1]などで使用されていたものです「RTOS」の代わりに。これによりもたらされる利点は、設計の簡素化、電力要件の低減、メモリ使用量の削減、起動時間の短縮です(一部のI / Oデバイスインターフェイスはミニブートが必要であり、OSはこれに参加する必要がありますが、通常、タイムスケールは短すぎて気づきません)。
両方が上記の情報のいくつかのギャップを埋め、私自身の知識のギャップを明確にすることを願っています。
[1] http://www.advantagesix.co.uk/about_us.html (メモリからの他の例は、オンラインでは利用できなくなりました。)