AVRライターのエラーについて

 AVRのプログラム書き込みに利用するAVRISPmk2の調子が良くありません。2年ほど前から書き込みに失敗することが多かったのですが、最近は5回に1回成功する程度となりストレスがたまります。書き込み途中に出力されるエラーメッセージは、”Error code -10121 from MPLABCOMM when reading packet:”となり、なぜだかMPLAB関連の通信エラーが表示されます。

 その他、書き込みを実行するといきなりエラーとなる場合もあります。

 書き込みは順調に進むが、最後のベリファイ途中でエラーとなることもあります。

 AVRISPmk2の内部を確認しても調整個所はありません。徐々に悪くなっていったことから特定の部品の経年劣化を想定しました。AVRを捨ててPICオンリーとすることも考えましたが、すでに作ったもののプログラム変更などで困ります。
 正規のAVRISPmk2は、すでに製造中止となっているので新品の入手は困難です。amazonで探すと2399円の安い互換品が見つかりました。書き込みに失敗ばかりでイライラしていたので勢いで購入しました。以前、ネットの情報で安い互換品はSTK500モードで動作すると読んだことがありましたが、購入したものの内部を見てみると部品構成は正規品とほぼ同じです。(下左画像は正規のAVRISPmk2、下右画像が購入した互換品)
 互換品は、ケーブルが10ピンとなっていますが、6ピンへの変換アダプターが付属しており、これまでのISPインターフェースもそのまま利用可能です。自分は利用しませんが、ターゲットへの電源供給も可能となっています。供給電圧は、ヘッダピンで5.0Vと3.3Vの切り替えとなっています。

AVRISPmk2内部
AVRISPmk2互換品内部

 Windows10からはドライバーの入れ替えなしで、ちゃんとAVRISPmk2とデバイス認識され、最新のAVRStudio 7(Microchip Studio 7)からも正規品のAVRISPmk2と同じように利用可能です。AVRへの書き込みも順調でエラーは発生しません。

 これで解決・・・・。と終われば良かったのですが、7~8年前の単身赴任中に自宅と赴任先の両方でAVRISPmk2を使用していたことをここで思い出しました。納戸の単身赴任中の荷物を探すと正規品のものが出てきました。これでAVRの書き込みを試してみると全く問題なく正常に動作します。慌てて互換品を購入するという無駄なことをしました。・・・・・ということで、2007年に購入して、これまで愛用してきたAVRISPmk2が故障したと結論しました。

AVRISPmk2

 さらに続きがあります。何となく故障したAVRISPmk2のフラットケーブルを故障していないAVRISPmk2のフラットケーブルと取り替えてみると、何度書き込みを行ってもエラーがでません・・・・・。ということは本体に取り付けてあるフラットケーブルの接触不良が原因となってエラーが頻発していたようです。どうしてこんな基本的なことを最初にチェックしなかったのかと激しく後悔しました。

 最終的にAVRTinyUSB(これも以前使っていたがドライバーのインストールが面倒で現在は使っていない)の6ピンフラットケーブルを故障したと判断していたAVRISPmk2に取り付けて利用できるようにしました。結果として手元には2台の正規品と1台の互換品で計3台のAVRISPmk2があります。どれも正常動作します。馬鹿なことをしました。

AVRISPmk2