UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor zeph
Visitor
270 Views
Registered: ‎08-30-2019

ZCU102 PL to PS mailbox interrupt (newbie question)

Hi there, 

On the PL, I have a Mailbox (Interrupt lines are not connected) and a Microblaze. I send message from the Microblaze, and read the message from the Cortex A53-0, using XMbox_ReadBlocking and XMbox_WriteBlocking. Everything works fine.

I'm now trying to have the Mailbox interrupt connected to the SoC IRQ interrupt, so that whenever the mailbox has any message, the Cortex core will run a handler to read the message, instead of polling for new message in a loop. Unfortuantely, it doesn't seem to work. The interrupt handler never get called. I don't see any error message being printed either. Below are my code and design.

Any idea what's wrong here?

 

Thank you very much,

Zephyr

1.jpg 

Screenshot from 2019-10-18 17-29-04.png

Examples I looked at, https://github.com/Xilinx/embeddedsw/blob/master/lib/bsp/standalone/src/profile/_profile_timer_hw.c.

0 Kudos
1 Reply
Highlighted
Visitor zeph
Visitor
168 Views
Registered: ‎08-30-2019

Re: ZCU102 PL to PS mailbox interrupt (newbie question)

I found the porblem(s). First, I shouldn't register the XPAR_Mailbox...Interrupt to Xil_ExceptionRegisterHandler().

Fixes in the code:

IntcConfig = XScuGic_LookupConfig(INTC_DEVICE_ID); 

Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_IRQ_INT,
(Xil_ExceptionHandler) XScuGic_InterruptHandler,
&InterruptController);

Second, the hardware connection is wrong. Mailbox Interrupt 1 (NOT 0!) should be connected to the SoC IRQ.

I have more debugging notes on my blog.

https://github.com/zeph1912/Xilinx_ZCU102_debug_notes/blob/master/README.md