JTAG/SWDってなに?
JTAGってなに?
JTAG(ジェイタグ)とは、1980年ごろに策定されたプリント基板検査のための規格です。TMS、TCK、TDI、TDOの4本の線を使ってICのテスト用内部回路にアクセスします。
もともとはプリント基板検査のための規格だったのですが、ICテスト用の内部回路に手軽にアクセスできるという利便性から、CPUのデバッグにも用いられるようになってきています。
SWDって何?
JTAGには4本も信号線が必要になるという問題がありました。LPC810のような小ピンマイコンではこれはとてもネックになります。そこで、2本線でアクセスできるようにしたIEEE1149.7(Compact JTAG)という標準規格が定められました。
それとは別に、ARM社は独自にSWDという規格を定めました。SWDではバウンダリスキャンなどのJTAG本来の動作はできず、Cortexの中のデバッグ回路のレジスタに対して「32bitの値を書く」「32bitの値を読む」ということだけに特化した、独自のプロトコルになっています。
JTAGの信号 | SWDの信号 | 説明 |
---|---|---|
TCK | SWCLK | クロックです |
TMS | SWDIO | TDIとTDOを兼ねたような双方向の信号になっています。 |
TDI | なし | SWDでは削除されました |
TDO | なし | SWDでは削除されました |
TRST | なし |