Я пытаюсь изменить скрипт tcl, который помещает битовые файлы в fpgas, используя xsct-инструмент xilinx. Вот как это выглядит:
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
Как правильно передать строку и сохранить ее в кавычках, как в оригинале?