こんにちは、皆さん
GPIO 外部割り込みについて質問があります。MIMXRT1170_igpio_input_interrupt の例では、GPIO13_io0 ピンが入力として定義され、立ち上がりエッジ割り込みが有効になっています。GPIO13_io0 の代わりに GPIO8_io29 を使いたいです。しかし、gpio8 の割り込みハンドラーは見つかりません。
gpio8_29 を外部割り込みとして定義するにはどうすればよいですか?
こんにちは@EdwinHz 、
最近、あなたの回答を見て、何かがおかしいと感じたので、本当にそうなのかどうか疑問に思い始めました。
「GPIO7 から GPIO12 はすべて CM4 ドメインからのみアクセス可能」と述べられていた。SO、RM を調べ始めたところ、次のことがわかりました。
AIPS-4 の説明では、このメモリ マップ範囲は CM7 コアと CM4 コアの両方からアクセスできると明記されています。SO、私の理解では、それはあなたが少し前に述べたことと矛盾しています。
さらに、あなたが貼り付けたバスダイアグラムは、実際には次の経路でGPIO[12-7]へのバス接続を持っていると思います(私の理解が正しいと仮定)。
RM からの情報によると、PGIO はアクセス可能であるため、フローは次のようになると想定しました。間違っていたら訂正してください。しかし、何かが明らかに間違っているので、正す必要があると感じています。
よろしくお願いします、
マイケル
私も同じ問題に遭遇しました。何か進展はありますか?
ありがとうエドウィン、分かりました
こんにちは@muratokuslukさん、
ほとんどのピンは CM7 ドメインと CM4 ドメインの両方からアクセスできますが、GPIO7 から GPIO12 はすべて CM4 ドメインからのみアクセスできます。
したがって、GPIO8 は CM4 アクセスのみを目的としており、CM7 割り込みはありません。「表 4-2.リファレンスマニュアルの「CM4 ドメイン割り込み概要」には、IRQ 99 に GPIO7 から GPIO11 が示されています。
しかし、「表4-1.「CM7 ドメイン割り込みサマリー」には、代わりに CM7_GPIO2 と CM7_GPIO3 IRQ があります。
ただし、GPIO8_IO29 をルーティングするパッドである GPIO_EMC_B2_19 は、代替機能 10 ではなく 5 を使用する場合、GPIO_MUX2_IO29 もルーティングします。
したがって、CM4 を使用する場合は GPIO8 のパッドと割り込みを IRQ 99 で構成し、CM7 を使用する場合は CM7_GPIO2 に同じパッドと割り込みを構成することができ、IRQ は引き続き IRQ 99 (CM7_GPIO2) になります。
プロジェクトをcm7ではなくipgio_input_interrupt_cm4に基づいている場合は、startup_mimxrt1176_cm4.cに「GPIO7_8_9_10_11_IRQHandler()」が見つかります。
これでご質問への回答になったかと思います。
BR、
エドウィン。