電気回路/zynq/割り込み処理 のバックアップ(No.1)

更新


公開メモ

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ロジックにアクセスして、割り込みをクリアしている。


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