如何将tcl脚本传递给字符串并正确解释它

时间:2018-05-10 18:20:29

标签: tcl

我正在尝试修改一个tcl脚本,该脚本使用xilinx的xsct工具将位文件推送到fpgas。这是它的样子:

connect hw_server TCP:127.0.0.1:3122
targets -set -filter {jtag_cable_name =~ "Digilent JTAG-HS2 21xxx" && name =~ "xc7*"}
fpga [lindex $argv 0]
after 100
targets -set -filter {jtag_cable_name =~ "Digilent JTAG-HS2 21xxx" && name =~ "Micro*"}
loadhw system.hdf
stop
dow [lindex $argv 1]
con -block

现在我有多个FPGA,我想让jtag_cable_name成为一个参数。我试过这个无济于事:

connect hw_server TCP:127.0.0.1:3121
targets -set -filter {jtag_cable_name =~ [eval [lindex[$argv 0]] && name =~ "xc7*"}
fpga [lindex $argv 1]
after 100
targets -set -filter {jtag_cable_name =~ [eval [lindex[$argv 0]] && name =~ "Micro*"}
loadhw system.hdf
stop
dow [lindex $argv 2]
con -block

对.tcl脚本的调用如下:

load_fpga.tcl "Digilent JTAG-HS2 21xxx" my_bitfile.bit my_elf.elf

如何正确传递字符串并将其保留在原始字母的引号中?

0 个答案:

没有答案