irq

    2

    1答えて

    カーネルの土地でIRQを処理する際に再起動する必要があります。 私は/sbin/rebootバイナリに電話しますが、IRQスコープのため制限があります。 コードは次のとおりです。IRQがトリガが、私はいくつかのエラーを持っているとき #define MY_IRQ_ID 42 void __init rebootmodule_init(void) { request_any_c

    1

    1答えて

    FIFOで受信したイベントを待っているスレッドがあります。 ほとんどのイベントは、同じプロセス内の別のスレッドから送信される構成イベントです。 スレッドに割り込みイベントを処理できるようにしたいのですが、割り込みハンドラにFIFOへの書き込みが可能なのですか? FIFOを使用するのではなく、他の提案を歓迎します!

    2

    1答えて

    私は組み込みLinuxシステムで作業しています。特定のIRQハンドラが実行されると、システムをシャットダウンする必要があります。私は多くの時間(数十ミリ秒)を持っていません。私はemergency_restart()を使用していましたが、フラッシュドライバがサポートしていないため、割り込みコンテキストからは実行できない作業(フラッシュにシャットダウン関連の情報を書き込む)を実行する必要があります。

    3

    1答えて

    こんにちは私は現在、「ベアメタル」で動作しているAT91SAM7X256を使用しています。私はデータシートとアーキテクチャマニュアルを徹底的に読んだので、FIQがIRQよりも優先順位が高いという結論に達しました。したがって、FIQはIRQによって先取りされるべきではありません。 実際には気づいていますCPSRのFビットに触れていなくても、IRQはFIQハンドラの実行を中断します。 IRQをサービス

    3

    1答えて

    __alloc_pages_slowpath()の呼び出しは、__alloc_pages_slowpath()を呼び出したデバイス割り込みにも生き残ることができますか?または、2番目の呼び出しが最初の呼び出しを破損しますか? 私は、XFSファイルシステム上の通常のファイルのread(2)プログラムコールを見ています。カーネルスタックトレースは、最終的に__alloc_pages_slowpath(

    20

    3答えて

    次のコードを検討: unsigned global; while(global); global はIRQによって呼び出される関数に変更されます。しかし、g ++は "is-not-zero"テストを取り除き、whileループを無限ループに変換します。 コンパイラの最適化を無効にすると問題は解決しますが、C++ではそのための言語構成が用意されていますか?

    5

    2答えて

    私は、AT91SAM9M10-EKES評価ボードでGPIO IRQをプログラムしようとしています。 IRQの登録に成功し、IRQが機能しています。 しかし、いくつかの割り込みは見逃されます。私は26を送信している、と私は唯一の22 コードを取得: static irqreturn_t wiegand_interrupt(int irq, void *dev_id){ atomic_inc