top of page

Use ZC702 serial and JTAG in a VMWare Ubuntu 22.04.1 VM on VMware Workstation 16 Pro on Windows 10

Updated: Aug 3, 2023


The Xilinx logo

This post shows how to use ZC702 serial and JTAG in a VMWare Ubuntu 22.04.1 VM on VMware Workstation 16 Pro running on Windows 10. It shows how to apply a fix to the VM's VMX file to enable USB devices to connect to the VM, how to configure Minicom to talk to the serial port, and how to configure the ZC702 board to enable Vivado to connect to the JTAG port via USB.



Related Posts


Install Ubuntu 22.04.1 in VMware and Launch the Vivado 2023.1 Installer


Install 2023.1 Vivado ML Enterprise On Ubuntu 22.04.1


Run the Xilinx ZC702 Built-In Self-Test on Windows 10



Check Versions


# Get the Windows Version Windows

systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List -Property 'OS Version'
# OS Version : 10.0.19045 N/A Build 19045
$PSVersionTable
# Name                           Value
# ----                           -----
# PSVersion                      5.1.19041.2673
# PSEdition                      Desktop
# PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
# BuildVersion                   10.0.19041.2673
# CLRVersion                     4.0.30319.42000
# WSManStackVersion              3.0
# PSRemotingProtocolVersion      2.3
# SerializationVersion           1.1.0.1

# Check VMWare Version

Where to find the specific version of VMWare Workstation Pro

# Version Summary


Ubuntu 22.04.1

VMware® Workstation 16 Pro 16.2.4 build-20089737

Windows 10 PSVersion: 10.0.19041.2673



Edit VMX So USB Devices Can Connect to the VM


# Locate the VMX file

Find where the VMX file is

# Open "C:\Users\Zach Pfeffer\Documents\Virtual Machines\vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01\vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01.vmx"


# Change:

usb.restrictions.defaultAllow = "FALSE"

To:

usb.restrictions.defaultAllow = "TRUE"



Connect The Serial Port


# Attach a USB hub to your computer


I used a Targus USB 3.0 4-port HUB model #: ACH124 (Avaialbe at https://www.amazon.com/Targus-4-Port-USB-3-0-ACH124US/dp/B00P937GQ4 )


# Power off the ZC702


# Connect a Mini-B USB cable to the JTAG module

Connect to the ZC702 USB-to-JTAG converter

# Power on the ZC702

Power on the ZC702

You should see:

New USB device (USB-to-JTAG converter) detected

# Select Connect to a virtual machine, select the virtual machine, and click OK

Connect to the new device


Set Up Minicom to Test the Serial Port)

See this link for more explicit instructions:

# Add demouser to dialout (use your username)

sudo usermod -a -G dialout demouser

# Log out and back in

# Check tty

sudo dmesg | grep ttyUSB

You should see:

[   51.667710] usb 3-2: cp210x converter now attached to ttyUSB0
[  627.308359] usb 3-4.1: FTDI USB Serial Device converter now attached to ttyUSB1
[  627.309684] usb 3-4.1: FTDI USB Serial Device converter now attached to ttyUSB2

# Install

sudo apt-get install minicom

# Set up

sudo minicom -s

# Scroll to Serial port setup

Use:

A -    Serial Device      : /dev/ttyUSB0
B - Lockfile Location     : /var/lock
C -   Callin Program      :
D -  Callout Program      :
E -    Bps/Par/Bits       : 115200 8N1
F - Hardware Flow Control : No
G - Software Flow Control : No
H -     RS485 Enable      : No
I -   RS485 Rts On Send   : No
J -  RS485 Rts After Send : No
K -  RS485 Rx During Tx   : No
L -  RS485 Terminate Bus  : No
M - RS485 Delay Rts Before: 0
N - RS485 Delay Rts After : 0

# Select Save setup as dfl

# Select Exit from Minicom

# Run

minicom

# Press SW1

You should see:

********************************************************
********************************************************
**    Xilinx Zynq-7000 AP SoC ZC702 Evaluation Kit    **
********************************************************
********************************************************
Choose Feature to Test:
1: UART Test
2: LED Test
3: IIC Test
4: TIMER Test
5: SWITCH Test
6: SCUGIC Test
7: DCFG Test
8: DDR3 Memory Test
9: Interrupt Test
A: Watchdog Timer Test
0: Exit


Open Hardware Manager and Connect to JTAG

# Run Vivado and click Open Hardware Manager

Click to open the Vivado hardware manager

Auto connect to the board

If you see this, its likely that SW10 is not set correctly or is still in its default:

An error if you can't talk to JTAG

# Turn off the ZC702


# Switch SW10 to:

Fix JTAG

...per:

The JTAG settings

# Turn on the ZC702


# Connect the JTAG device to the VM


You should see:

What you see when JTAG is connected to the ZC702


Try readback_hw_device

# In Vivado ...

Try readback

...run:

readback_hw_device -readback_file /home/demouser/bitstream.rbd -bin_file /home/demouser/bitstream.bin

You should see:

INFO: [Labtools 27-3158] Creating file: /home/demouser/bitstream.rbd
INFO: [Labtools 27-3158] Creating file: /home/demouser/bitstream.bin

The first part of bitstream.rbd:

00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000


This post has shown how to use ZC702 serial and JTAG in a VMWare Ubuntu 22.04.1 VM on VMware Workstation 16 Pro on Windows 10.



References


Xilinx UG926 Zynq-7000 All Programmable SoC: ZC702 Evaluation Kit and Video and Imaging Kit Getting Started Guide (ISE Design Suite 14.5)


All USB devices are greyed out




Comments


bottom of page