Jump to content
  • 0

ZYBO Z7-20 Getting Started - no Uart


user2051

Question

I'm getting spun up on the ZYBO Z7-20 and I am having difficulty executing step 9.3 in the "Getting Started with Zynq" tutorial here. When I get to this step and select "Hello World" in the SDK's New Project templates GUI, the GUI says "This application requires a Uart IP in the hardware" and will not allow me to finish with the hello world project. I do notice that the USBIND_0 port is mysteriously missing from my instantiation of the ZYNC7 Processing System block after executing "Run Block Automation" in step 3.2

I am running on Vivado 2015.1 and as far as I can tell I have properly installed the board files from the github repository; the project summary indicates the correct board and the ZYBO LEDs are blinking and the switches control the LEDs as programmed in the steps preceding step 9. 

Any thoughts on what is going awry here?

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

Hi @user2051,

I can confirm that the UART block is not correctly configuring the zynq processor of the Zybo-Z7-20 in vivado 2015.2. from the boards files. I have reached out to our content team about this. I can confirm that newer versions of vivado 2017.4 and up correctly configures the zynq processor on the Zybo-Z7-20. I tried with no success to manually select uart1 in the zynq process in vivado 2015.2 and configure uart1 as shown in the vivado 2018.2 zynq processor attached screen shot.

best regards, 

Jon

image.png

Link to comment
Share on other sites

Thanks for your reply Jon.

I installed Vivado 2017.1 and this got me past step 9.3. Unfortunately, Vivado 2017's 2015 VC++ redistributable package dependency does not appear to install properly on Windows 10 enterprise. DLLs seem to be missing everywhere and when I execute step 11.3 I get an error about shsmp64.dll missing. I had to hack the Vivado 2017 install to skip the VC++ check just so the Vivado suite would open but this does not fix the underlying problem of the misplaced DLLs.

Are you running Vivado 2017 on Windows 10 by chance?

Link to comment
Share on other sites

Hi @jpeyron  I'm inching closer. Reinstalling Vivado 2017.1 with the 2015 VC++ libraries pre-installed and the VC++ check disabled seemed to do the trick. So I'm still stuck on step 11.3 but the error now appears to be associated with Uart communication. JP5 is configured for JTAG. I've included a screenshot of the launch error here for your reference. I'm able to establish communication to the ZYBO with the SDK terminal but its running the demo image. I can't seem to get this hello world program loaded.

 

Could it be as simple as a string formatting issue in the launch script? From the error message, it appears that the SDK is seeing an available target but just not of the format it is filtering on?

launch error.PNG

Link to comment
Share on other sites

Hi @user2051,

Please download Adept 2 here.

Does Adept recognize the Zybo-Z7? 

I do not think I have seen this error before.

Please attach a screen shot of your SDK with the hardware platform expanded.

First right click on the BSP and select re-generate the board support package. If this does not work I would delete the SDK folder from your project and re-export the hardware from Vivado including the bitstream and start fresh.  

If you are still experience this issue I would suggest reaching out to Xilinx support here

best regards,

Jon

 

Link to comment
Share on other sites

Hi @jpeyron  Adept 2 does recognize my Zybo board so I went ahead and re-generated the BSP - this did not aid in getting the SDK to recognize my specific board (same error I posted previously). I then deleted the SDK folder from the project directory and re-exported the hardware from Vivado including the bistream - this also did not resolve the error. At your request I have attached here a screen shot of the SDK gui with the hardware platform expanded. Any other thoughts? I will go ahead and post the "no targets found" error in the Xilinx forum as you suggested.

 

Thanks again for your assistance.

SDK_Screencap.PNG

Link to comment
Share on other sites

Hi @user2051,

To clarify,

You are using the Digilent board files and not altering the ZYNQ processor when running block automation in Vivado.

You are connecting and powering the Zybo Z7 from the pc using an usb a to micro b cable.  

The mode jumper is set to JTAG.

If this is the case i would then suggest to install and use Vivado 2017.4 which is a more stable and less buggy version of vivado.

best regards,

Jon

Link to comment
Share on other sites

Hi @jpeyron,

                          Yes, I confirmed the following:

29 minutes ago, jpeyron said:

You are using the Digilent board files and not altering the ZYNQ processor when running block automation in Vivado.

You are connecting and powering the Zybo Z7 from the pc using an usb a to micro b cable.  

The mode jumper is set to JTAG.

I stumbled onto a solution whereby removing the JTAG jumper (thereby leaving all pins on JP5 floating) after step 11.2 allows the SDK to recognize the Zybo board and execute the hello world example. Maybe this is a bug in the version of Vivado I am using (2017.1) or combination of this version running on Windows 10 Enterprise or maybe this is just an undocumented understanding that the jumper has to be removed after programming of which I am uninformed. Does this make any sense to you?

In any case, it allows me to get up and running now though I am a little concerned about what ramifications may follow if I continue programming the board in this manner using more customized programs and bit files.

Link to comment
Share on other sites

Hi @user2051,

My understanding is that leaving the mode jumper unloaded would tell the QSPI Flash device to be active. This shouldn't effect the JTAG chain. 

If you have the mode jumper set to JTAG do you still get the above error.

Could you link where you stumbled upon leaving the mode jumper unloaded?

best regards,

Jon

 

Link to comment
Share on other sites

Hi @jpeyron

     If I leave JP5 set to JTAG after programming the FPGA, the error presents itself. The strange thing is that when I place the JP5 jumper across the QSPI pins after programming the FPGA, the SDK also throws an error about some AP memory overflow something or other. All pins left floating and the application runs without issue?

Not sure what what you're asking for here: 

54 minutes ago, jpeyron said:

Could you link where you stumbled upon leaving the mode jumper unloaded?

If you're asking where I found this suggestion on the web - I didn't. I was getting different errors depending on whether I had JP5 set to QSPI or JTAG after the programming the FPGA so I just left all pins on JP5 floating to see what would happen ?. I know it sounds hokey but it definitely works for some reason...

Link to comment
Share on other sites

Hi @user2051,

Could you detail your SDK process in more detail (step by step) so I can make sure I understand whats going on.

Do you have the jumper loaded to JTAG when programming the FPGA in SDK and then unload the Jumper when right clicking on the application and selecting run as-> launch on hardware(system debugger)?

best regards,

Jon

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...