Forum Discussion
Hi,
Thank you very much for the answer.
I observe a similar behavior (handle is not called in interrupt) in 2 different baremetal OS: uc/os (page: https://www.micrium.com/download/de10-nano_webserver/) and code-time .
In both of this OS, I just added a call to the interrupt (72, 73) of irq0 and irq1 (which should be operated from KEY0 and KEY1 on DE-10 nano board) according to qsys of GHRD:
(https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=1046&PartNo=4)
These are the steps I am doing:
- I use DE-10 nano, with an example for bare-metal which work AS-IS without any modifications. The example is for uc/os , and can be downloaded from this
- Load fpga GHRD for DE-10 nano
- I added interrupt call for KEY0 as following:
BSP_IntVectSet(INT_ID_FPGA_IRQ1, 0, CPU_ID_IF_0, BSP_OS_FpgaIntHandler);
BSP_IntSetType();
BSP_IntEnable(INT_ID_FPGA_IRQ1);
void BSP_IntSetType (void)
{
ARM_GIC_DIST_REG->ICDICFRn[4] = 0xffffffff;
}4.reset board - click key0 , first interrupt is being caught with a breakpoint, but on continue and clicking key0 again - nothing happens.
Is there any baremetal example showing how to catch interrupt from FPGA to HPS ?
Best Regards,
ranran
- EBERLAZARE_I_Intel6 years ago
Regular Contributor
Hi ranran,
May I know where you get the interrupt call example that you added in? Or is it from your own?
Well, the PL390 Generic Interrupt Controller (GIC) supports up to 180 interrupt sources, including dedicated peripherals and IP implemented in the FPGA fabric. This is from ARM.
More information about the PL390 GIC, you can refer to the Interrupt Controller chapter of the Cortex-A9 MPCore Technical Reference Manual, available on the ARM Infocenter website:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0416b/index.html
Please give me sometime to check this out, I assume the interrupt is working but only for the first time, I will try to find a continuous interrupt example for your case.