AtmelとMicrochipが一緒になったというニュースを聞いた時は、椅子から転げ落ちくらいびっくりしましたが、よくよく考えると、特に開発環境を作るチーム力が増えるのはいい事なんじゃないかと思いました。もちろん、稼ぎはチップを売ることですが、今どきMakefileすら書けない人が多いので開発環境がしっかりしてないとチップを採用してもらえないという循環が発生します。その証拠に今の開発環境であるMPLABやAtmel Studio7はEclipseにおんぶにだっこではない良い開発環境です。
 さて、そんな数年前の話から今に戻りますが、PICkit4というPICの新しいICD(In Circuit Debugger/Programmer)が出ました。仕様を見ると合併したよい循環が現れていて、PICkit4でもAtmelデバイスに書き込めるしデバッグする線もサポートしているし!と仕様を見た時感動しましたね。
PICkit4をAtmelデバイスに接続する
 早速Atmel Studio7にPickit4を認識させます。おーちゃんと認識する。デバッグしようとしたらdwモードがプルダウンメニューに出てくる。おっしおっし。
 何がともあれ、こういったものはファームアップデートするもんです。MPLAB X IPEを使ってファームアップデートします。
 ところが、ファームアップデートした後はプログラムを書き込めるがdwモードでのデバッグができません。というか、プルダウンメニューに出てこなんですよ。
 しょうがないので、Microchipに聞いてみたら
サポートしてない。すまん。
 と言われてしまいました。そうかそうか、結線はできても信号はながれてこないのか。
どういうこっちゃー!
 結局Atmel ICEを使うことになるのか。あのハーフピッチフラットケーブル嫌いなんだよ・・・
 
MPLAB SnapをAtmelデバイスに接続する
 そんな中、一筋の光が・・・その名はMPLAB Snap。2000円弱で買えてしまう、価格破壊ICDです。PICkit4の後に出た製品(らしい)で出力ピンも8ピンに増えています。一応カタログベースではdwラインが記載されているので、ほんの小さな光を信じて買ってみました。
 もちろん、まずはファームアップデートです。ところが今度はデバッグどころか書き込みすらできない。
 Microchipのサイトにエラッタがありました。

 抵抗を取れと!
 なーんだ、早く言ってくれよ。それぐらい朝飯前さ。
 でも動かない。AVRモードにならないのです。Microchipに聞いてみました。
 「その現象は私達も認識しています。次の手順を試してみてください。その結果をフィードバックしてくれると助かります。
- MPLAB Xを起動
 
- MPLAB Snapがサポートしているデバイスでプロジェクトを作る。(例:PIC16F1947) 私的メモ:Cのプロジェクトがいい。そしてソースコードにmain.cを追加する。
 
- MPLAB Snapを接続して(他のUSBデバイスは抜いて)プログラムボタンを押す。
 
- AVRモードになるか確認する。
 
よろしく」
 この通り実行してみてびっくりしたのは、なんとファームアップデートをするじゃないですか!?どういうこと!?これが狙いか・・・
 Atmel Studio7を起動してAtmelデバイスに書き込むことができました。よし、dwモードも動くんだろうな!?
うごかねーよ!
 Atmel ICEが一番でした・・・
 あ、一応Fuse関係はAtmel Studio7で書き込むことはできました。