質問

私はさまざまな種類の組み込みオペレーティング システムに携わっており、通常はレガシー システムが備えていたものであれば何でも作業する必要がありました。新しい組み込みプロジェクトを一から始める機会ができました。

システム上の主な制約は次のとおりです。

  • Web ベースのインターフェイスが必要です。
  • 入力はリアルタイムで処理される必要があります (したがって、真の RTOS が必要です)。
  • 利用可能なメモリは 32​​MB の RAM と FLASH です。

チームが以前に使用したオペレーティング システムは、VxWorks、ThreadX、uCos、pSOS、および Windows CE です。

オペレーティング システムの選択に関して比較検討や取引検討を行っている人はいますか?

他に検討すべきオペレーティング システムはありますか?(eCos と RT-Linux を提案してもらいました)。

編集 - これまでのすべての回答に感謝します。残念ながら、すべてを「承認済み」としてフラグを立てることができません。

役に立ちましたか?

解決

すべては、チームが「新しい」RTOS を学習するためにどれだけの時間を割り当てられるかによって決まります。
人々がすでに使用した経験のあるものを使いたくない理由はありますか?

私は vxWorks について豊富な経験があり、気に入っていますが、WindRiver で働いているため、私の意見は無視してください。

uC/OS II には、Labrosse の本に完全に文書化されている (ソース コードが実際に説明されている) という利点があります。ただし、Web サポートについてはわかりません。

psos がもう利用できないことは知っています。

もご覧いただけます この RTOS のリスト

他のヒント

一緒に働きました QNX 何年も前のことですが、それについては素晴らしいことしか言えません。当時でさえ、QNX 4 (Neutrino マイクロカーネルと比較すると明らかに分厚い) は、メモリ不足の状況に完全に適していました (ただし、32MB は たくさん 私たちが使用しなければならなかった 1 ~ 2MB と比較して)、私は Web ベースのものを明示的に使用したわけではありませんが、Apache が利用可能であることは知っていました。

「RTOS」が何を意味するのかを慎重に評価することが賢明だと思います。私は高性能の組み込みシステムを構築する大企業で長年働いてきましたが、彼らはそれを「リアルタイム」と呼んでいますが、実際はそうではありません。これらは低遅延で決定論的なスケジューラを備えており、RTOS というと人々が本当に求めているのは 10 回中 9 回です。

真のリアルタイムにはハードウェアのサポートが必要ですが、実際のリアルタイムとは異なる可能性があります。低レイテンシと決定論的なスケジューリングだけが必要な場合 (繰り返しになりますが、人々が「リアルタイム」と言うとき、90% の時間はこれを意味すると思います)、どの Linux ディストリビューションでも問題なく動作します。おそらく Windows でもできるでしょう (Windows スケジューラをどのように制御しているかはわかりませんが...)。

繰り返しになりますが、「リアルタイム」の意味には注意してください。

からいくつかの開発ハードウェアを購入しました ネットバーナー作業は非常に簡単で、ドキュメントも非常に充実しています。uCLinux を実行する RTOS です。会社は一緒に働くのに素晴らしい会社です。

チームが経験豊富な OS を選択するのは賢明な決定かもしれません。ただし、私は 2 つの優れたオープンソース オプションを推進したいと考えています。

どちらも、さまざまなアーキテクチャに対応する多くの機能とドライバーを備えています。どのようなアーキテクチャを使用するかについては言及していません。これらは POSIX レイヤーを提供します。これは、可能な限り移植性を維持したい場合に便利です。

また、eCos と RTEMS のライセンスは両方とも GPL ですが、カーネルへのリンクによって生成される実行可能ファイルは GPL の対象外であるという例外があります。

コミュニティは非常に活発で、商業的なサポートや開発を提供する企業もあります。

私たちは Keil RTX システムに非常に満足しています。軽量かつ高速で、リアルタイムの厳しい制約をすべて満たしています。また、スタックのオーバーフローなどを監視するための優れたデバッグ機能も組み込まれています。

私は Windows CE にかなり満足していますが、「重い」です。

Ben Collins の意見に同意するために投稿します -- ソフト リアルタイム要件 (主に人間との対話用) か、ハード リアルタイム要件 (タイミングに敏感なデバイスとのインターフェース用) があるかを判断する必要があります。

柔らかいということは、時々しゃっくりを許容できることも意味します。

信頼性要件とは何ですか?組み込みの Linux などのより汎用的なオペレーティング システムを使用した私の経験では、個々のタスクの飢餓などを回避しようとするスマートな平均ケース最適化により、ランダムな問題が発生する傾向があります。

VxWorks は優れています:

  1. 優れたドキュメント。
  2. フレンドリーな開発ツール。
  3. 低遅延。
  4. 決定的なスケジューリング。

しかし、WindRiver が主な関心を Linux に移し、WindRiver Linux が WindRiver VxWorks の市場に参入するとは思えません。市場が減れば、エンジニアの要件も減ります。

最新の研究は次のとおりです。前回は 8 年以上前に行われたものなので、これが最も関連性があります。テーブルを使用して、RTOS の選択肢を追加できます。この比較は軽量のマシンに焦点を当てていますが、仮想メモリが必要ない場合には、重いマシンにも同様に適用できます。

http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top