電気回路/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: 7534 (from 2010/06/03),
today: 2,
yesterday: 2