Доброго времени суток!
Я, вообще говоря, не знаток TCL, скорее совсем новичок, и вот парюсь с такой простой задачей: нужно написать скрипт, который принимает аргументы командной строки и затем передать его на запуск вместе с параметрами. Решил делать в два этапа:
1) пишу скрипт, который, собственно, и делает основную работу:
if { $argc != 3 } {
puts "The do_hsi.tcl script requires variables in the next format:"
puts "do_hsi.tcl <hw_design.hdf> <device-tree-xlnx-dir> <output>
}
else
{
puts [lindex $argv 0]
puts [lindex $argv 1]
puts [lindex $argv 2]
open_hw_design [lindex $argv 0]
set_repo_path [lindex $argv 1]
create_sw_design device-tree -os device_tree -proc ps7_cortexa9_0
generate_target -dir [lindex $argv 2]
puts "All operations successfull"
exit
}
2) создаю вспомогательный скрипт, который передаю уже программе:
source ./do_hsi.tcl ./base_zynq_design_wrapper.hdf ./device-tree-xlnx ./tmp
hsi -source ./hsi_all.tcl
На данном этапе вылазит ошибка:
ERROR: [Common 17-165] Too many positional options when parsing './tmp`'
ЧЯДНТ?