UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 66943

2015.4 PetaLinux - petalinux-boot --jtag using a remote hw_server connected to multiple boards.

Description

I have a machine that is connected to multiple boards (for example, Zynq and Zynq MPSoC).

I want users to be able to connect to the board they want and to be able to run "petalinux-boot --jtag" using the unique port number for each board.

How would I accomplish this?

Solution

1) On the machine you are connecting the physical board to, you will need to run the following commands:

U:\2016.1_0328_1\installs\nt64\SDK\2016.1>hw_server -e "set auto-open-ports 0" -s tcp::3122

U:\2016.1_0328_1\installs\nt64\SDK\2016.1>hw_server -e "set auto-open-ports 0" -s tcp::3121

The above command will open 2 unique ports on the machines. In this example there are only 2 boards being used so only 2 ports are required.

Port 3121 is the default port and 3122 is the non-default port. In order for the remote machine to see these ports, please disable the firewall.

2) From the remote machine, source the Vivado and PetaLinux tools, then run the commands below.

(This is for the first board. In the setup that was used for this article, it is a Zynq board)


Use the following commands to connect to the remote port:

>xsdb
xsdb% connect -url tcp:hostname:3122
tcfchan#0
xsdb% jtag targets
  1  Digilent JTAG-SMT2NC 210308A123A9 (closed)
  2  Platform Cable USB 0000102420c501 (closed)
xsdb% jtag targets -filter {name =~ "*0000102420c501"} -open # comment -we need to open the ports to be able to connect to the cable.
xsdb% targets
  1  APU
     2  ARM Cortex-A9 MPCore #0 (Running)
     3  ARM Cortex-A9 MPCore #1 (Running)
  4  xc7z020
xsdb% source zc702_tcl

This Tcl script will script the flow that will be used to load the fsbl, u-boot and kernel.


3) From the remote machine, source the Vivado and PetaLinux tools then run the commands below.

(This is for the second board. In the setup that was used for this article, it is a Zynq MPSoC board).

Use the following commands to connect to the remote port:

xsdb% connect -url tcp:hostname:3121
tcfchan#0
xsdb% jtag targets -filter {name =~ "*210308A123A9"} -open # comment -we need to open the ports to be able to connect to the cable.
xsdb% targets
  1  PS TAP
     2  PMU
        3  MicroBlaze PMU (Running)
     4  PL
  5  PSU
     6  RPU (Reset)
        7  Cortex-R5 #0 (RPU Reset)
        8  Cortex-R5 #1 (RPU Reset)
     9  APU
       10  Cortex-A53 #0 (Running)
       11  Cortex-A53 #1 (Running)
       12  Cortex-A53 #2 (Running)
       13  Cortex-A53 #3 (Running)
xsdb% source zcu105_tcl
 

Both Tcl files are attached for reference.

Attachments

Associated Attachments

Name File Size File Type
zc702.tcl 1 KB TCL
zcu105_tcl 1 KB NA
AR# 66943
Date Created 04/01/2016
Last Updated 06/27/2016
Status Active
Type General Article
Devices
  • FPGA Device Families
  • Zynq UltraScale+ MPSoC
  • Zynq-7000
Tools
  • PetaLinux