提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一直在研究怎么用VB.net来控制JTAG,目前除了使用shell这种粗鄙的方法,暂时还没有找到门路,先不管这么多了,毕竟花了不少时间,不太完美的收获也是收获,能积累一点是一点
shell 使用
这里就不过多废话了,总之以后要用的时候会用就行了。用SHELL调用一个程序,将焦点至于其上,然后模拟键盘输入
Dim notepadID As Integer
' 通过shell函数运行一个新实例
notepadID = Shell("cmd /c d:\Xilinx\Vivado\2018.2\bin\vivado.bat -mode tcl ", AppWinStyle.NormalFocus)
Threading.Thread.Sleep(1000)
AppActivate(notepadID)
My.Computer.Keyboard.SendKeys("open_hw" & vbCrLf, True)
My.Computer.Keyboard.SendKeys("{ENTER}", True)
My.Computer.Keyboard.SendKeys("connect_hw_server" & vbCrLf, True)
My.Computer.Keyboard.SendKeys("{ENTER}", True)
My.Computer.Keyboard.SendKeys("open_hw_target" & vbCrLf, True)
My.Computer.Keyboard.SendKeys("{ENTER}", True)
My.Computer.Keyboard.SendKeys("current_hw_device [get_hw_devices xc7z030_1]" & vbCrLf, True)
My.Computer.Keyboard.SendKeys("{ENTER}", True)
My.Computer.Keyboard.SendKeys("refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xc7z030_1] 0]" & vbCrLf, True)
My.Computer.Keyboard.SendKeys("{ENTER}", True)
运行结果:注意,在运行的过程中一定要注意当前的输入法,是中文还是英文,如果是中文会导致一些符号输入异常!!!
这种方式做一个方便的烧写程序应该还行,但似乎没办法从窗口中提取一些返回值。。。