cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
8,777 Views
Registered: ‎10-08-2009

XMD remote access

Jump to solution

I've seen a few posts on here on this subject but none are clear and all are old.

 

I have 2015.1 hardware server running on a lab computer with JTAG cable connected to a Zyqn. I built a bit file and an elf file on a different computer. I want to connect remotely using console (not the SDK tool) and load a bitfile and elf file.

 

Can someone provide step by step instructions on how to do this? I know the SDK tool is doing this in the background running some console commands but I want to do this without the GUI. I want to do the following remotely:

 

XMD% fpga -f /path/file.bit
XMD%  connect arm hw
XMD% dow ./path/file.elf
XMD% run
XMD% stop

Thank you,

Luis

 

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Scholar
Scholar
16,529 Views
Registered: ‎09-05-2011
@luis.munoz
I suggest that you use XSDB instead of XMD.

You can follow the answer record :
http://www.xilinx.com/support/answers/64759.html

Although the answer record uses GUI, you can simultaneously check for the XSDB commands in the console. Once you learn the commands, you can use the CLI.

Check the following AR for a list of XSDB commands:
http://www.xilinx.com/support/answers/64200.html

View solution in original post

0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
8,767 Views
Registered: ‎08-01-2008

On the remote machine, ensure you have the tools and cable drivers installed.

  1. Connect the board to the remote machine
  2. On the remote machine, source our tools, and run XMD
    • xmd
  3. Download the appropriate bitstream
    • fpga -f <../download.bit>
  4. Once in XMD, connect to your board using the "connect" command appropriate to your processor
    • connect mb mdm <options>
    • connect ppc hw <options>
  5. You should recieve a message showing a successful connection at a TCP port number. Make note of this number
  6. We will now create a UART server (for SDTIO connections), select an open appropriate port number. 4321 is the default
    • terminal -jtag_uart_server <PORTNO>

 

On the local machine:

  1. Open the SDK workspace with the project
  2. Right click on the BSP and select "Board Support Package Settings"
  3. Under the standalone options, change the stdin and stdio options to the MDM's instance name
    • This could be listed as mdm_0, mdm, debug_module 
  4. Click OK
  5. Under Run -> Debug Configurations, create a new configuration for the "Xilinx C/C++ ELF"
  6. In the STDIO Connection Tab, select "Connect STDIO to Console" and select the JTAG UART from the dropdown
  7. Under the Remote Debug Tab, select the "Connect to gdbserver on a different machine
    • Enter the remote computer's hostname and the port you took note of during the "connect" stage (step 5 above)
  8. Click apply
  9. In the SDK view, click Window -> Show View -> Terminal
  10. Click the green and yellow Settings button
    • Connection Type = Telnet
    • Host = hostname of remote machine
    • Port = port number noted in the "terminal -jtag_uart_server <PORTNUM>" stage (step 6 above)
    • Hit OK
  11. Click on Run -> Debug As (Run As) -> Launch on Hardware.
  12. You will now be debugging or running on the remote hardware, with all STDIO fed through the terminal window in SDK
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Xilinx Employee
Xilinx Employee
8,766 Views
Registered: ‎08-01-2008

To debug with GDB/XMD, follow the steps below.

  1. Download Bitstream into PL. (In this example, PL TAP is the third device on JTAG chain.)
    XMD% fpga -f xxxxx.bit -debugdevice deviceNr 3
  2. Connect XMD with ARM DAP.
    XMD% connect arm hw debugdevice deviceNr 2
    Once the connection is established, you will see the following message:
    Connected to "arm" target. id = 64
    Starting GDB server for "arm" target (id = 64) at TCP port no 1234
  3. Run ps7_init.tcl in advance.
    XMD% source <path to TCL>/ps7_init.tcl
  4. Setup Remote Debug and start debugging.
    In the debug configration window, select the tab [Remote Debug] and check "Connect to gdbserver on a different machine."
    Input the port number which you obtained in the Step 2.
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Highlighted
Scholar
Scholar
16,530 Views
Registered: ‎09-05-2011
@luis.munoz
I suggest that you use XSDB instead of XMD.

You can follow the answer record :
http://www.xilinx.com/support/answers/64759.html

Although the answer record uses GUI, you can simultaneously check for the XSDB commands in the console. Once you learn the commands, you can use the CLI.

Check the following AR for a list of XSDB commands:
http://www.xilinx.com/support/answers/64200.html

View solution in original post

0 Kudos