cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rtarb41323
Observer
Observer
373 Views
Registered: ‎10-28-2018

Zynq 7000 interrupt works, until SDK program crashes to asm_vectors.S

Hello All,
 
I am very close to getting my Zynq Arty Z7 fully functional with an external ADC (the AD7606B EVAL board from Analog Devices).  My current problem is that my C program can crash at random times, leading to the program stopping in the "asm_vectors.S" file (I'm assuming this means an unhandled exception?).
 
Working example using:
- A single GPIO port connected to an external square wave signal generator at 25kHz
- Zynq interrupt enabled, triggered by GPIO block
- In the SDK, there is a counter in my ISR handler to count the number of interrupts
---The above example WORKS with no issues
 
Custom logic using:
- External ADC connected to a custom IP block that reads the ADC results
- Custom IP block then writes the ADC results to an on chip memory location as an AXI master 
- This ADC/custom IP block is being triggered at 25kHz
--- The above logic WORKS with no issues
 
Now, when I combine the two (custom IP block has a "done" output that is connected to a single pin on the GPIO input block):
- External ADC is triggered at 25kHz and then read by the custom IP block
- Custom IP block writes ADC results to on chip memory as an AXI master
- When done writing, custom IP block triggers the GPIO interrupt
 
The above program DOES work for a period of time (sometimes several minutes), until it crashes.  When the program crashes, the Zynq debugger tells me that the program counter is somewhere in the "asm_vectors.S" file.  I am only using a single interrupt in the program for the GPIO. 
 
--- I am not sure how to go about troubleshooting this, since the "crash" happens intermittently, and at unknown times.
Tags (2)
0 Kudos
3 Replies
abhinayp
Xilinx Employee
Xilinx Employee
306 Views
Registered: ‎07-12-2018

Hi @rtarb41323 ,

What is the Vivado/SDK version? Because there is a known issue where debugging stops at the interrupt vector. So please confirm the version.

Best Regards
Abhinay PS
------------------------------------------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give kudos to a post which you think is helpful and reply oriented.
-------------------------------------------------------------------------------------------------------------------------------

0 Kudos
rtarb41323
Observer
Observer
296 Views
Registered: ‎10-28-2018

Greetings Abhinay!  I'm using Vivado 2019.1 on Windows 10 - 64 bit version.

0 Kudos
rtarb41323
Observer
Observer
220 Views
Registered: ‎10-28-2018

We have been fighting this interrupt "hang up" issue for the past month know, and some other forum posters have been struggling with it for much longer.  Is there any hope of a fix?  We tried to go to Vitis 2020, but that comes with its own problems (such as bad drivers generated for custom IP blocks, so we are not sure if Vitis will fix this interrupt issue because Vitis = "failure to launch"). 

....We're just looking for something that works at this point...

0 Kudos