問題タブ [vxworks]
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.
vxworks - VxWorksシステムのプロファイリング
VxWorks 5.5.1で実行されているかなり大きなアプリケーションがあり、これは約10年間開発および変更されています。あまりにも多くのメモリやプロセッサを使用していないことを示すために、いくつかの簡単な自家製ツールがありますが、実際にどれだけのヘッドルームがあるかについてはよくわかりません。将来の機能強化の見積もりを行うのが難しくなり始めています。
誰かがそのようなシステムをプロファイリングする方法について何か提案がありますか?ウインドリバーのツールを機能させることができたのは、これまであまり幸運ではありませんでした。
ボーナスポイントの場合:もう1つの問題は、システムの動作が時間によって大きく異なることです。起動中は多くのことを行い、その後、短時間のアクティビティを除いて比較的アイドル状態になります。状態情報を記録するためのプログラム的な方法を備えたプロファイラーがあれば、それも非常に役立つと思います。
FWIW、これはGCCでコンパイルされ、完全にCで記述されています。
vxworks - vxworks で taskDelay 関数に負の数を渡すとどうなりますか?
taskDelay のパラメーターは int 型であることに注意してください。これは、数値が負になる可能性があることを意味します。負の数を渡すときに関数がどのように反応するのか疑問に思っています。
exception - タスクが VxWorks を破壊する理由を特定する方法は?
ARM uC で VxWorks アプリケーションを実行しています。
まず、アプリケーションを要約します。
アプリケーションは、サードパーティ スタックとゲートウェイ アプリケーションで構成されます。OS の非依存性をサポートするために、オペレーティング システムの抽象化レイヤーを実装しました。
基礎となるスタックには、二重にリンクされたリストにメモリブロックを保持する独自のメモリ管理および制御機能があります。
例えば ; malloc/new 、 free/delege を直接実行するのではなく、OSA レイヤーのルーチンを呼び出し、OS からメモリを取得してリストに入れ、このメモリをアプリケーションに返します (ルーチン : XXAlloc 、 XXFree、XXReAlloc)。
メモリを解放するときは、再び XXFree を使用します。
実際、このブロックは構造体であり、
- マジック ナンバーは、メモリ ブロックの開始と終了を示します - ユーザーが割り当てたサイズを要求しました - アラインメントの問題による実際のサイズ 前と次のポインタ - アプリケーションに返されたメモリの断片へのポインタ。アプリケーションのどこで xxAlloc が呼び出されたかを示すリンク レジスタ。
このブロック構造スタックを使用すると、ブロックが破損しているかどうかを確認できます。
また、Linux から移植された pthread ライブラリもあり、これを使用してスレッドを作成/終了します (現在 22 のスレッドがあります)。同期オブジェクト (イベント、ミューテックスなど)。
taskSpawn によって呼び出されるメインタスクがあり、後でこのタスクが他のスレッドを作成しました。
これは、アプリケーションとその VxWorks インターフェイスの説明でした。
問題は :
タスクの 1 つが VxWorks によって突然破棄され、何が問題なのかについての情報がありません。jtag デバッガーもあり、VxWorks taskDestoy() ルーチンにヒットしますが、コール スタックは PC も r14 も情報を提供しません。
巨大な xxAlloc が実行されるコード内の特定のルーチンが疑わしいのですが、問題が非常に散発的に発生し、それをソース コードにマップできる手がかりがありません。
OSは例外を検出し、静かに処理を実行すると思います。
どんな助けでも素晴らしいでしょう
よろしく
shell - VxWorksシェル出力をソケットにリダイレクトする
シェル出力をファイルにリダイレクトするのは簡単だと思います。
したがって、ソケットを設定し、シェルの出力をソケットにリダイレクトできるようにする必要があります。これは、基本的には別のファイル記述子であるためです(私は思います)。
私はいくつかの基本的なクライアント/サーバー機能を作成するいくつかのCプログラムの例を見てきましたが、(それらが小さいのと同じくらい)これはかなりやり過ぎのようです。
シェルでいくつかのコマンドを使用してソケットを設定できますか?もしそうなら、私が必要とする構文は何ですか?
これはおそらく非常に単純なことだと思いますが、私はVxWorksを初めて使用し、過去2日間、ここで質問することにした答えを求めてWebをトロールしました。
あなたが提供してくれるどんな助けにも感謝します。
ダン
compiler-construction - VxWorks MIPS コンパイラを使用して .c ファイルで C++ コンパイルを強制するにはどうすればよいですか?
VxWorks MIPS コンパイラを使用しており、c++ としてコンパイルする必要があるサードパーティのソースがありますが、拡張子はすべて .c です。この場合、C++ コンパイルを強制するためにコンパイラに渡すことができるスイッチが必要ですが、見つかりません。
助言がありますか?
c - スレッド スタック オーバーフロー
vxworks のような RTOses では、タスクを作成するたびにスタックサイズが指定されます。タスクのスタックがオーバーフローしているかどうかをチェックするルーチンを C で記述できますか?
task - vxworks タスクはデータ領域を共有しますか?
vxworks では、Linux スレッドなど、作成されたすべてのタスクで共有されるデータ領域です。また、タスクごとに分けるべきだと思うテキストとコードセグメントについてはどうですか
vxworks - How do we find out why priority inheritance happened in VxWorks?
We have one task who State is Ready+I . Can we find which task is it waiting for to release all semaphores? This is pre-6.0 vxworks
boost - VxWorks 6.4 用の Boost 1.40 のクロスコンパイル
Boost (特に boost::thread と boost::asio) を使用するプロジェクトを VxWorks に移行しようとしています。
vxworks gnu コンパイラを使用してコンパイルするためのブーストが得られません。これを可能にすることを目的としたブースト トラックのパッチを見たので、これは問題にはならないと考えました。また、vxworks コンパイラは gnu ツール チェーンの一部であるため、次の指示に従うことができるはずです。クロス コンパイルのブースト ドキュメント。
私は ppc vxworks 用の Windows を構築しています。
ブースト ドキュメントで指定されているように user-config.jam ファイルを変更し、bjam に target-os=linux オプションを使用しましたが、bjam はコンパイルする前にハングしているように見えます。(-n オプションを使用して呼び出すことにより) bjam によって発行されたコマンドを詳しく調べると、boost::thread の win32 ファイルを使用してコンパイルしようとしていることがわかります。vxworks は pthread を使用するため、これは正しくありません。
私の bjam コマンド: .\bjam --with-thread toolset=gcc-ppc target-os=linux
gcc-ppc は、g++ppc vxworks クロス コンパイラを指すように user-config で設定されます。
私は何を間違っていますか?私は文書を文字どおりにフォローしたと信じています。
vxworks - vxworks 6.1 と 6.6 の違い
vxworks 6.1 と 6.6 の違いを教えてください
よろしく、 シカンダル