問題タブ [rtos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
embedded - vxWorks の「カーネル シェル」と「ホスト シェル」の違いは何ですか?
vxWorks RTOS には、組み込みシステムにコマンドを発行できるシェルがあります。
ドキュメントでは、カーネル シェル、ホスト シェル、およびターゲット シェルについて言及しています。3つの違いは何ですか?
embedded - vxWorks は同じ優先度の 2 つのタスクをどのように処理しますか?
vxWorks 組み込みシステムには、同じ優先度 (110) を持つ 2 つのタスク (T1 と T2) があります。
両方のタスクを実行する準備ができている場合、通常の vxWorks スケジューラはこれをどのように処理しますか?
最初に実行するタスクは?
windows - Windows と同じ PC で作業するのに最適な RTOS はどれですか?
Windows と同じ PC で作業するのに最適な RTOS はどれですか?
RTX と INtime については知っていますが、使用したことはありません。他にもありますか?あなたのお気に入りはどれですか?その理由は何ですか?
embedded - 組み込み/リアルタイム オペレーティング システムへの Windows ソフトウェアの移植
Windows 環境を対象とする既存のコードベースがあり、将来を見据えて、これを可能な限りクロスプラットフォームにしたいと考えています。クロス プラットフォーム ライブラリを使用して、標準の Linux ディストリビューションである程度の成功を収めましたが、これをリアルタイムまたは組み込みオペレーティング システムに拡張したいと考えています。
コードベースの大部分をそのようなシステムに移植することは可能でしょうか?それとも、その環境を対象とした再実装が必要でしょうか? 部品を再作成する必要がある場合、これらのシステムの開発には別のタイプの設計アプローチが必要ですか? 一部のベンダーは開発用に独自の IDE を提供していますが、これらは必要ですか、それとも GNU ツールチェーン タイプのビルド プロセスで標準化することはできますか、または可能ですか?
潜在的なポットホールは、IPC 処理の違いである可能性がありますが、さらに暴露しないと、詳細を把握することは困難です.
注: 現在は Windows ベースですが、Win32 API (主に COM) または Windows の型が特に頻繁に使用されるわけではありません。
ありがとう
編集:: コードベースは C\C++ です
multithreading - RTOS とサイクリック エグゼクティブを混在させることは理にかなっていますか?
小さな組み込みシステム プロジェクトで、スレッドで実行したいコードがあるため、組み込み RTOS (eCos) の上に構築することを選択しています。
以前は、それぞれがステート マシンとして実装されたタスクを駆動する main() で巡回エグゼクティブを使用していました。一部のタスクでは、タスクを多くの細かい状態に分割する必要があるため、コードが非常に複雑になるという問題が発生しました。
RTOS に切り替えると、各タスクに独自のスレッドを割り当てると、各スレッドのスタックのメモリ使用量が急速に増加することがわかりました。(64k しかなく、通信バッファー用のメモリーが必要です)
通信タスクにトレッドを使用し、循環エグゼクティブに別のスレッドを使用することを検討しています。巡回エグゼクティブは、他の論理タスクを駆動します。
このように RTOS と周期的なエグゼクティブを混在させることは理にかなっていますか?
c - グローバルからローカルへのリファクタリング。それらは静的である必要がありますか?
マルチタスク(RTOS)環境で動作するように「スパゲッティコード」Cモジュールをリファクタリングしています。
現在、非常に長い関数と多くの不要なグローバル変数があります。
1つの関数にのみ存在するグローバル変数をローカル変数に置き換えようとすると、ジレンマに陥ります。すべてのグローバル変数は、ローカルの「静的」のように動作します。たとえば、関数を終了して再入力しても、その値を保持します。
マルチタスクの場合、「静的」ローカル変数はグローバルから最悪です。それらは機能を再入力しないようにします。
すべての論理フローをトレースせずに、関数が可変値の再エントランスを保持するリレーであるかどうかを調べる方法はありますか?
c - 優れた設計でスタックスペースを確保するには?
RTOSを備えたRAM制限付き組み込みマイクロコントローラー用にCでプログラミングしています。
私は定期的にコードを短い関数に分割していますが、すべての関数呼び出しにはより多くのスタック メモリが必要です。すべてのタスクは自分のスタックを必要とし、これはプロジェクトの重要なメモリ消費者の 1 つです。
コードを適切に整理して読みやすくし、メモリを保持する代替手段はありますか?
open-source - x86 用のオープン ソース リアルタイム オペレーティング システムはありますか?
オープンソースのリアルタイム オペレーティング システムはありますか? リアルタイム Linux のことは聞いたことがありますが、ほとんどの実装は、Linux をプロセスとして実行するプロプライエタリな RTOS (有料) のようです。これは、Ardence の RTX リアルタイム システムが Windows で動作するのとほぼ同じです。
編集: マルチコア x86 ファミリー CPU で動作する RTOS を探していることを明確にする必要があります。
operating-system - リアルタイム オペレーティング システムはどのように機能しますか?
リアルタイム OS が期限を逃さずに期限を守れるのはなぜですか? それとも、これは単なる神話 (締め切りに遅れないということ) ですか? それらは通常の OS とどう違うのでしょうか? また、通常の OS が RTOS になるのを妨げるものは何ですか?
embedded - MPSOC : 使用している OS とその理由は?
私は MPSOC、特に STM ST40 (SH4 ベース) と ST231 に取り組んでおり、並列アプリケーションを移植するためにこれらでどの OS を使用できるか疑問に思っています。Linux プラットフォームの STM ディストリビューションであるSTLinuxを既に見てきました。彼らのMPSOC(残念ながらST231コプロセッサではうまく機能しません)と、タスクベースのOSであるOS21も調べました。
他の RTOS に関する情報は大歓迎です。(特に libc と pthreads を持つもの:)