Jump to content
  • 0

Documentation sources and SDK


engrpetero

Question

Hi All,

I've been actively searching the forums here and over at Xilinx.  Still working on some portions of my Zybo project and getting more capable with the Zynq processor and the FPGA capabilities.  Sometimes, searches take me down rabbit holes and/or to dead-ends (part of the nature of fora, I guess). 

One thing in particular I'm trying to find more info on is useful ways/best practices for handling interrupts for the Zynq (want to setup interrupts for UART receive and then on some GPIO that the FPGA portion of the Zynq is also using).  I've seen references to xscugic which seems to have been documented (somewhat?) in the old Xilinx SDK (which I can't find anywhere to download still).  Is this interrupt framework/controller still useful and if so, can anyone point me to documentation (and perhaps a sample project)?  Are there other options I should consider for interrupts?

Peter

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

Sometimes, all you need to do is post and then you find part of the answer! ?

Searching my computer for the header file scugic.h returned lots of instances, particularly an example using the V3.8 version of this driver.  I chose the default directories when installing and I found this example at the following location.

file:///C:/Xilinx/Vitis/2019.2/data/embeddedsw/XilinxProcessorIPLib/drivers/scugic_v3_8/doc/html/api/xscugic__example_8c.html

Last question in initial post still applies.  Are there other options I should consider for interrupts?

Link to comment
Share on other sites

closer.  Have reviewed the example main (used the 4.1 version).  Got a response on my terminal application.

Moved on to the 'xuartps_intr_example.c file, using it's main with the original Blinky app (and it's hardware config).  Don't see any traffic at all over the uart with this example (I have made no changes - the posts I find online about ensuring 'XPAR_XUARTPS_0_INTR' and not 'XPAR_XUARTPS_1_INTR' were already present in the file in this example supplied with the 2019.2 Vitis.

I do note (not sure it matters) that when I click on the Zynq block in the Vivado project that contained that was used for the Blinky example, the UART0 does not have a check next to it (however, that didn't seem to matter when data was sent from the xscugic_example file.

Any ideas or pointers?

Link to comment
Share on other sites

Hi @engrpetero,

I apologize for the delay. I don't have any direct tutorials/documentation to offer right at this moment, but our Zybo Z7 HDMI projects (example of one here: https://github.com/Digilent/Zybo-Z7-20-HDMI) all use interrupts to detect hot-plugging on the HDMI, so that could be a good resource for you. In terms of interrupts specific to the UART, our Pmod ToF uses it in it's application project: https://github.com/Digilent/ZyboZ7-20-PmodToF-Demo/blob/master/sdk/PmodToFDemo/src/UART.c, which does use xscugic. I don't believe the demos, either Xilinx's or ours, are immediately capable of working with additional interrupt handlers from other peripherals though.

I'm not certain which Zybo Z7 version you are working with, but both of those have had recent 2019.2 HDMI projects made (though I haven't tested them yet and they aren't on Digilent's GitHub yet), so let me know if that would be of help to you and I can get those posted somewhere; the archived files are too large to post on the Forums.

Let me know if you have any questions about this.

Thanks,
JColvin

Link to comment
Share on other sites

Thanks, JColvin.  FWIW, I have the -10 version of the ZYboZ7.  The example you pointed to was somewhat helpful.  I need to study it a bit more but think it will be very useful.  In the meantime - and because I need to do it anyway as part of this simple design - I've moved back to connecting a simple custom IP block to a Zynq and continue to have some issues.  I'll ask in another thread if someone can point me to an example.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...