• 0
user2051

ZYBO Z7-20 Getting Started - no Uart

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?

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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?

Share this post


Link to post
Share on other sites
  • 0

Hi @user2051,

I am using Windows 7. I found AR# 69076 that discusses this here.  I did also ind a xilinx forum that might help with this issue and have a solution here.

best regards,

Jon

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

 

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

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

Edited by user2051

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

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.

Edited by user2051

Share this post


Link to post
Share on other sites
  • 0

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

 

Share this post


Link to post
Share on other sites
  • 0

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...

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now