<動作原理>

jtag_flashやjtag_stubプログラムがDCC(デバッグ・コミニュケーション・チャンネル)を介して、LPC上で動作するプログラムと通信行います。
通信内容はLPCで動作するプログラムのメッセージ(print)や、PCのキーボード入力、バイナリデータになります。
TCP/IPのソケット(localhost ポート2160)通信を使用して、ユーザの作成した各種ツールと通信を行うことが出来ます。

<起動方法>

jtag_flashやjtag_stubなどで起動オプションD1〜D4を指定します。(例 jtag_flash test.hex d1)

<DCCモード>

モード 動作
D1 LPCのプログラムからprint()を使用して、jtag_flash(jtag_stub)にメッセージを表示する
PCのキー入力状態を最大4個(8bit*4=32bit)をLPCで読むことが出来る
(リアルタイム処理向け)
D2 LPCのプログラムからprint()を使用して、jtag_flash(jtag_stub)にメッセージを表示する
PCからの文字列入力(リターンが押されるまで)をLPCにまとめて送信する
(対話処理向け)
D3 DCCのリード・ライトデータ(4byte単位)をTCP/IPのlocalhost:2160で通信する
(外部ツール・低速データ)
D4 外部ツールからコマンド(リード・ライト/長さ)をLPCに渡し、指定した長さ分のデータを一気に通信する。
長さが1byteより大きいデータの通信時に、PC(JTAG)側がDCCハンドシェイクフラグをチェックしないので、LPC側が取りこぼし(送り漏れ)の無いように注意すること。
(外部ツール・高速データ)

<ダウンロード>

LPCサンプルソース&DCC対応ツール(jtag_flash.exe jtag_stub.exe)
dcc.cのコメントを適宜外すことで、D1〜D4のサンプルになります
D3,D4モードのテストを行うときにはPCのツール(クライアント)プログラムを起動する必要があります
D3モードクライアント(PC)サンプル
D1と同等なキー入力を外部プログラムで実現しています
D4モードクライアント(PC)サンプル