電気回路/zynq/割り込み処理

(865d) 更新


公開メモ

情報集め

ZYBO : I2S コントローラの作成 11

Standalone で割り込みを使う例:
http://bravo-fpga.blogspot.jp/2015/02/zybo-20-i2s-11.html

ZynqのPLロジックからARMへの割り込み実験

https://formalism.github.io/blog/posts/2014/05/zynq-pl-arm/

IRQがHighになるとCPUに割り込みがかかる。AXIバスを通してレジスタをクリアするとIRQがLowになる。これを見ると、たったの31クロック(=310ns)で割り込みがクリアされている。

これはStandalone(Linuxではなく、ベアメタル)で実験した。割り込みを有効にする部分だけ、参考に貼っておく。

Status = XScuGic_Connect(IntcInstancePtr, XPS_FPGA0_INT_ID,(Xil_ExceptionHandler)IrqHandler, NULL);

if (Status != XST_SUCCESS){

return Status;

}

XScuGic_Enable(IntcInstancePtr, XPS_FPGA0_INT_ID);

これでXPS_FPGA0_INT_ID(61)番の割り込みが発生すると、 IrqHandler関数が呼ばれる。IrqHandler関数の中で、PLロジックにアクセスして、割り込みをクリアしている。

シンプルな AMP : 2 つの Cortex-A9 プロセッサ上で動作するベアメタルシステム

https://japan.xilinx.com/support/documentation/application_notes/j_xapp1079-amp-bare-metal-cortex-a9.pdf

2 つの Cortex®-A9 プロセッサ、各々に独立したベアメタルソ フ トウェアアプ リケーションを実行させると共に、共有メモリを介して両者間の通信を可能にする方法について説明します。

これは割り込み処理とはちょっと違うか。でも興味ある。


Counter: 2686 (from 2010/06/03), today: 7, yesterday: 0