12-11-2020 10:06 PM
Hey all, looking for some support.
I am building a tool to flash boards simultaneously.
The plan is to start up a hw_server for each jtag target (each on a different port using the set-filter-target option)
Then program_flash each target using the hw_server that is running for that target.
At the end of any given program_flash, kill the hw_server running for that target.
Now sometimes the program_flash will fail like so:
Connected to hw_server @ TCP:127.0.0.1:3127 Available targets and devices: Target 0 : jsn-JTAG-XXXXXX0 Target 1 : jsn-JTAG-XXXXXX1 Target 2 : jsn-JTAG-XXXXXX2 Target 3 : jsn-JTAG-XXXXXX3 Target 4 : jsn-JTAG-XXXXXX4 Target 5 : jsn-JTAG-XXXXXX5 ERROR: Given target do not exist
In this case, I can verify that no other servers are running.
And the only way I seem to be able to recover from this problem,
is to run program_flash and allow it to bring up its own server on the default port.
As you can see I have 6 different devices and can replicate this behavior for each one.
I think it is unlikely a cable or jtag adapter problem.
I suspect maybe it is in how the hw_server gives up resources when it is killed.
Does anyone have insight for what I could do to make this process more reliable.
Here is the command I use to run a hw_server for target jsn-JTAG-XXXXXX0
/opt/Xilinx/SDK/2018.3/bin/hw_server -e "set jtag-port-filter XXXXXX0" -sTCP::3127
And the command to flash
/opt/Xilinx/SDK/2018.3/bin/program_flash -f image.bin -fsbl fsbl.elf -offset 0 -flash_type qspi_single -target_name jsn-JTAG-XXXXXX0 -url TCP:127.0.0.1:3127
12-21-2020 10:08 PM
Hi @jobyjake ,
May I know your OS and version in your Linux machine? Does it meet system requirements given in sdk_doc for 2018.3?
Is it working fine in windows PC?