读取和写入应用程序流

时间:2016-05-17 19:16:34

标签: vb.net windows process arm jlink

我正在尝试写入命令行界面并从中读取操作调试工具,但我遇到了流程流的问题。

我们的新产品在工作中有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时,处理程序永远不会执行,我无法读取任何内容。有关如何读取和写入应用程序的任何建议?感谢。

0 个答案:

没有答案