1

デバッガー ツールを操作するためにコマンド ライン インターフェイスに読み書きしようとしていますが、プロセス ストリームに問題があります。

生産中にプログラムする必要がある 2 つのマイクロプロセッサ (Microchip と Freescale Arm M4) を搭載した新製品が開発中です。ICD3 デバッガーを使用して Microchip PIC をプログラムし、JLink Ultra+ を使用して Freescale チップをプログラムし、カスタム設計ツールを使用してボードを操作し、プログラミングに適した状態にします。

両方のデバッガー ツールにコマンド ライン インターフェイスがあることがわかりました (Windows コマンド プロンプトのように見えます)。使用:

process.start("C:\Program Files (x86)\Microchip\MPLABX\v3.25\mplab_ipe\ipecmd.exe", "-F" + PIC350HEXFilePath + " -M -P18F46J11 -TPICD3")

ICD3 デバッガーを実行して、Microchip PIC を正常にプログラムできます。ただし、JLink コマンド ライン インターフェイスで複数のコマンドを受け入れるようには見えません。したがって、1 つのコマンドを渡し、コマンド ラインから出力を読み取り、次のコマンドを渡したいと考えています。これが私がこれまでに持っているものです:

    '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 の場合の読み取りに機能します。もちろん、 false の場合、入力ストリームに書き込もうとするコードはすべてエラーをスローします。True の場合、ハンドラーは実行されず、何も読み取ることができません。アプリケーションから読み書きする方法に関するアドバイスはありますか? ありがとう。

4

0 に答える 0