我正在尝试写入命令行界面并从中读取操作调试工具,但我遇到了流程流的问题。
我们的新产品在工作中有2个微处理器(Microchip和Freescale Arm M4)需要在生产过程中进行编程。我们正在使用ICD3调试器对Microchip PIC和JLink Ultra +进行编程,以对飞思卡尔芯片和定制设计工具进行编程,以操作电路板并将其置于正确的编程状态。
我发现两个调试工具都有一个命令行界面(看起来就像Windows命令提示符)。使用:
process.start("C:\Program Files (x86)\Microchip\MPLABX\v3.25\mplab_ipe\ipecmd.exe", "-F" + PIC350HEXFilePath + " -M -P18F46J11 -TPICD3")
我可以运行ICD3调试器并成功编程Microchip PIC。但是,我似乎无法让JLink命令行界面接受多个命令。因此,我想传递一个命令,从命令行读取输出并传递下一个命令。以下是我到目前为止的情况:
'handles data from stream of jlinkProcess
Private Sub jlinkProcessDataHandler(sendingProcess As Object, outLine As DataReceivedEventArgs)
Dim data_read As String
data_read = outLine.Data
rtxtboxStatusText(vbNewLine + outLine.Data)
If data_read = "J-Link>Unknown command. '?' for help." Then
End If
End Sub
Private Sub btnK70program_Click(sender As Object, e As EventArgs) Handles btnK70program.Click
btnLoadCurrentTimeEnable(True)
jlinkProcess.StartInfo.UseShellExecute = False
jlinkProcess.StartInfo.RedirectStandardOutput = True
jlinkProcess.StartInfo.RedirectStandardInput = True
jlinkProcess.StartInfo.FileName = "C:\Program Files (x86)\SEGGER\JLink_V512e\JLink.exe"
jlinkProcess.StartInfo.Arguments = "-device MK70FN1M0xxx15"
jlinkProcess.Start()
jlinkProcess.BeginOutputReadLine()
End Sub
当RedirectStandardInput为false时,它适用于读取。当然,当它的错误时,我尝试写入输入流的任何代码都会引发错误。当为True时,处理程序永远不会执行,我无法读取任何内容。有关如何读取和写入应用程序的任何建议?感谢。