Jump to content
  • 0

Zybo: Connection to board failed


mikemcg

Question

I'm trying to program my Zybo board. I have tried using Vivado 2014.4 under Centos 5.9 and Vivado Webpack 2016.2 on Ubuntu 14.04.2. I am using the Zybo walwart for power and both linux's are VM's(VMWARE Fusion) running on OS X El Capitan 

With Jumper J5 assigned to JTAG when the board is connected to linux both /dev/ttyUSB0 and /dev/ttyUSB1 show up when the board is connected via the USB micro A/B cable.

When I use the SDK to program the FPGA it shows the following error message

Program FPGA failed. Reason: Connection to board failed.

I was using this board about a year ago and was able to load linux into the board at that time.  Currently if I boot from the QSPI I see messages being sent to /dev/ttyUSB1,

Currently I no longer have the USB cable that was supplied by digilent (so I'm not sure if there is anything special about the cable)  so I have tried two different cables with the same results.

Any suggestions on how I can program the Zybo board?

Thanks Mike.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

the usb cable is not special one, any one should fit.

I suggest you use vivado 2015.4 with ubuntu 14 or 16. my vm is parallel works good. usbtty1 should be the uart, open a console at 115200/n/8/1 when the board powered on.

make sure the boot should be set to jtag before use sdk to program the zybo board.

Link to comment
Share on other sites

Be aware, the UART device ID changes.  If I leave a terminal window open and the UART chip loses power and restarts, the UART will restart with the next unused /dev/ttyUSB number.  This leaves my terminal hanging, me thinking the board is broken, and more ... until I reset the terminal program to look at the next USB UART.

So, if it was on /dev/ttyUSB0 before, it would then be on /dev/ttyUSB1.  Then, if the same thing happens after I have a terminal on /dev/ttyUSB1, Linux figures /dev/ttyUSB0 is free and uses that next.  On one computer I have it comes up as /dev/ttyUSB1 initially--that's because there is already a /dev/ttyUSB0.  So ... numbering isn't really all that consistent from one device power up to the next, or from one Linux machine and peripheral set to the next.

Dan

Link to comment
Share on other sites

Hi dakefeng and D@n and thanks for the response.

Good to know that there is nothing special about the cable, I'll stop worrying about that. I will try installing 2015.4 but I'm pretty sure that I did have it working with 2014.4 when I was using it back in 2014.

Other than  that I'm doing exactly as you suggested. JP5 is set for JTAG mode, I'm only trying to program via the SDK. I always plug the Zybo board in before I launch Vivado to make sure the board is there before the app loads and does any port checking.

 

dmesg gives me the following

 

usb 1-1: new high speed USB device using ehci_hcd and address 5
usb 1-1: configuration #1 chosen from 1 choice
ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT2232C
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
ftdi_sio 1-1:1.1: FTDI USB Serial Device converter detected
drivers/usb/serial/ftdi_sio.c: Detected FT2232C
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB1
 

Maybe I've misunderstood how the dual jtag and serial port works with the zybo board. I thought that it presented two ports /dev/ttyusb0 and /dev/ttyusb1 with usb0 used for the JTAG and usb1 used for the serial communications.

I wonder if I did something bad when I used the board in 2014 and corrupted the JTAG loader?  Does anyone know if there is any kind of image available for the SD card that would allow me to flash the board back to factory defaults.

As I mentioned the board will boot u-boot from the QSPI and provide messages on /dev/ttyUSB1 so I belive the serial port is working. I'm just struggling to get the JTAG port working.

 

Thanks Mike.

Link to comment
Share on other sites

Hi Mike,

I would first make sure that you have adapt runtime and utilities downloaded and installed using RPM packaging then use djtgcfg enum.

The djtgcfg enum command will let you know if can recognize the Zybo. This example was using the JTAGHS2:

$ djtgcfg enum

Found 1 device(s)

Device: JtagHs2
    Product Name:   Digilent JTAG-HS2
    User Name:      JtagHs2
    Serial Number:  210249854746

this will help us narrow down what the issue could be.

 

thank you,

Jon

 

 

 

 

Link to comment
Share on other sites

Hi Jon,

So I just installed libusb, diligent-adept-runtime and diligent-adept-utilities to use the djtgcfg enum command

Found 1 device(s)

Device: Zybo
    Product Name:   Digilent Zybo
    User Name:      Zybo
    Serial Number:  210279575077

I then went back to Vivado 2016.1 and it programmed fine so my issue seems to be solved.

Looks like I should have installed the above earlier.....

I'd like to mark this as answered and closed.

Cheers Mike.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...