Jtag To Axi4 debug 讀寫寄存器的tcl腳本封裝

 

把下列代碼保存爲.tcl或者.txt文本保存在某個路徑下工具

打開vivado,在tcl concle中輸入 「source 文件路徑」,將腳本加載至工具中後,spa

例如讀寄存器地址32'h12345678的命令爲:"ReadReg 0x12345678",此時便會返回寄存器的值,而不用每次都輸入繁瑣的一串命令。code

寫命寄存器則須要輸入地址和數據,例如寫寄存器地址32‘h12345678的值爲0x3,"WriteReg 0x12345678   0x3"便可orm

proc ReadReg { Addr } {
puts "Start reading operation"
set address [format "0x%08X" $Addr]
set len 1
creat_hw_axi_txn read_txn [get_hw_axis hw_axi_1] -type read \
-address $address -len $len
run_hw_axi [get_hw_axi_txns read txn]
set read_proc [list [report_hw_axi_txn [get_hw_axi_txns read_txn]]];
set read_status_value [lindex $read_proc 0 1]
delete_hw_axi_txn [get_hw_axi_txns read txn]
return $read_status_value;
}

proc WriteReg { Addr data} {
set len 1
set address [format "0x%08X" $Addr]
set data [format "0x%08X" $data]
creat_hw_axi_txn write_txn [get_hw_axis hw_axi_1] -type write \
-address $address -len $len -data $data
run_hw_axi [get_hw_axi_txns write txn]
delete_hw_axi_txn [get_hw_axi_txns write txn]
}
相關文章
相關標籤/搜索