問題タブ [watchdog]

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.

0 投票する
1 に答える
846 参照

assembly - ソフトウェアウォッチドッグタイマーがMPC875CPUをリセットする速度が速すぎる

MPC875CPUでソフトウェアウォッチドッグタイマーを使用する際に問題が発生しました。

タイマーはリセット信号を非常に速くトリガーします。プリスケーリングを有効にしてカウントダウン値(SWTC)を最大に設定しましたが、タイマーをオンにしてリセット信号を受信するまでに約0.5秒未満かかります。

これが私がそれを行う方法です(JTAGスクリプト):

プリスケーリングを有効にすると(SYPCRのSWPビット)、最後のカウンタリセット(最新のSR SWSRコマンド)から約0.5秒後にHRESET信号をアサートします。また、プリスケーラを無効にすると、SWSRレジスタを最初に変更する前でも(非常に短時間で)HRESET信号がアサートされます。このように、タイマーは設定の変更に何らかの形で反応しているように見えますが、タイミングに問題があります。

すでに確立され実行されているアプリケーション(VxWorks上)で同じ構成を取得しているが、ウォッチドッグタイマーがオフになっているため、システムクロックとフェーズロックループは正しく構成されているはずです。

また、SYPCRレジスタのSWFビットをクリアして、JTAGがCPUを停止している間にタイマーがカウントされないようにしました(FRZ信号をアサートすることによって):その後、ブレーク/ステッピングモードを終了するまでのみ機能し、アプリケーションを実行すると、リセットが発生します非常に短い時間。

リファレンスマニュアルによると、タイマーは次のように機能します。

MPC885ソフトウェアウォッチドッグタイマーダイヤグラム

ダウンカウンターがあり、ゼロに達すると、回路はHRESET信号をアサートするか、システムリセット割り込みを発生させます。カウンタは2バイトの長さで、オプションで2048の係数で事前スケーリングされます。システムクロックを2048で割ったレートでデクリメントされます。したがって、プリスケーラが有効で最大カウンタ値1 / (80MHz / 2048) * (65535 * 2048)が約3435秒の場合の予想タイムアウトです。プリスケーラを無効にすると、約1.7秒になります。実際の値ははるかに小さく、事前スケーリングされたカウンターでは約0.5秒、プリスケーラーがオフの場合ははるかに小さくなります(測定すらできません)。

図によると、SWTはコアクロックとSYPCRレジスタのみに依存します。レジスタの説明は次のとおりです。

MPC885システム保護制御レジスタ-図 MPC885システム保護制御レジスタ-フィールドの説明

値0xFFFFFF87を設定しました(実際にはさまざまなオプションを試しました)。これは、次のことを意味します。

  • SWTC:0xFFFF(タイマーカウント、SWSRレジスタにマジックシーケンスを書き込むと、最大値が内部ダウンカウンター(図を参照)にロードされます)。
  • BMT:0XFF(バスモニタータイマーカウント、最大値)
  • BME:1(バスモニターが有効になっています。設定された値に関係なく常にJTAGで有効になっているため、ビットをオフにする意味はありません)。
  • SWF:0(JTAGがFRZ信号をアサートした場合でもタイマーはカウントされます)。
  • SWE:1(ウォッチドッグが有効)。
  • SWRI:1(HRESETをアサートするように構成されていますが、NMIへの切り替えは役に立ちませんでした)。
  • SWP:1(SWTCは2048の係数で事前スケーリングされています)。

助言がありますか?

0 投票する
1 に答える
880 参照

python-2.7 - pyqt内でウォッチドッグファイルシステムウォッチを実行する

ユーザーが設定を行ってsqliteデータベースに保存できるpyqtウィジェットがあります。この設定は、次のコードを使用してファイルシステムへの変更をチェックするウォッチドッグに影響します。

上記はqwidgetアプリコードに配置できません。これは、私が試したpyqtコードの一部が実行されなくなるためです。

ウォッチドッグをpyqtと統合して、ファイルシステムの変更を監視するにはどうすればよいですか。

0 投票する
2 に答える
356 参照

mysql - Djangoデータベースウォッチドッグはdjangoの外部でシグナルを保存します

次の問題があります。Djangoフレームワークを使用しています。システム内のパーツの1つ(非django)は、djangoが使用しているのと同じデータベース内のデータベースに書き込みます。オブジェクトが保存されているときにシグナルが欲しいのですが。これはdjangoモデルオブジェクトですが、django経由ではなく、mysqlデータベースに直接保存されます。

djangoによって保存されていないときに、djangoがデータベース内の保存アクションを監視する方法はありますか?

最も簡単な方法は次のとおりです。Apiを作成し、保存アクションをこのAPIで実行します。保存信号は、djangoのデフォルトにすることができます。(しかし、これは外部のいくつかの作業に依存します...したがって、好ましいルートではありません...将来の開発のためにそれは確かです)。

もう1つのオプションは、セロリを実装し、保存されたオブジェクトの1つにフォローアップがないかどうかを頻繁に確認するタスクを作成することです。

しかし、もっと簡単なことがあるかもしれません...私にとっては不明ですか?私はファイルシステム用のdjangoウォッチドッグソリューションを見ました...データベース用ではありません(おそらくdjangoにはこのビルドが組み込まれているためです... djangoを介して適切に実行された場合)

複雑にするために:私はsqliteを使用してローカルでテストおよび開発します....しかし、これをローカルで機能させる必要なしにテストに入れることができる保存信号.... mysqlで機能する限り、私は満足しています。

0 投票する
1 に答える
492 参照

linux - Linux の OpenCl ウォッチドッグ

以前は Windows システムで OpenCl カーネルを開発していましたが、現在は Linux を使用しています。Windows には、ウォッチドッグと呼ばれる優れた機能があり、OpenCl の計算が 5 秒以上続くと (デフォルトで) 自動的に停止します。これは、非常に長い実行または無限の実行を引き起こすコードの間違いの場合に非常に役立ちます。Linuxでこのようなことを達成する方法はありますか?

AMD Mobility グラフィック カードと最新の AMD ドライバーを使用しています。ウォッチドッグを持つ可能性がない場合、OpenCl カーネルを手動で終了する方法はありますか?

0 投票する
0 に答える
2261 参照

android - Android ウォッチドッグは system_server に SIGKILL を送信しましたが、ログに「Fatal signal 6」と表示されたのはなぜですか?

ログでは、Watchdog は を送信して system_server を強制終了しましSIGKILLたが、ログはどのように " Fatal signal 6( SIGABRT)" を示したのでしょうか? を受信した後にプロセスが終了することはわかっていますがSIGKILL、なぜ受信したのSIGABRTですか? 誰かが私にそれを説明できますか?どうもありがとう。

以下にいくつかのログを示します。

0 投票する
1 に答える
148 参照

multithreading - 未処理の例外はwinformアプリのすべてのスレッドを停止しますか?

私はマルチスレッドのwinformアプリを持っています.1つのスレッドでソケットを介してハートビートを実装したいのですが、このスレッドはウォッチドッグアプリにハートビートを送信します. winform アプリで未処理の例外が発生すると、OS によってダイアログ ボックスが表示されます。

私の質問は、心臓の鼓動のスレッドも停止しますか? 私のウォッチドッグアプリが心拍が停止したことを検出するようにするには? これはウォッチドッグを実装する正しい方法ですか?

0 投票する
1 に答える
523 参照

python - i Python でエラーを示すウォッチドッグ コードの例

サンプルコードをコピーしました

助けてください私はPython広告ウォッチドッグが初めてです

また、次の質問に対するいくつかの回答も必要です。次のコードの出力はどのような形式で、どこに表示されますか? コードで監視するディレクトリを変更するにはどうすればよいですか?

次のようにファイルtest.pyに保存して、そのまま実行してみました

python C:\フォルダ\test.py

次のエラーが返されました

0 投票する
1 に答える
1270 参照

java - Java-プロセスがハングした場合、どのように検出/強制終了する必要がありますか(以前はウォッチドッグ/タイムアウトオブザーバーを使用していました)

私はいくつかの古いコードを更新しているところですが、以下のWatchdog/TimeoutObserver機能を複製するための最適な方法がわかりません。ただし、これは古い方法であり、jre7に準拠するように更新しようとしています。アドバイスや助けをいただければ幸いです。