大晦日にAVRマイコン用の基板のチェックをしているときにフューズビットかロックビットに誤った値を書き込んでしまったようで、以後書き込みができなくなってしまいました。
AVRISP2ではこれらの書き換えができないため、高圧並列書き込みをするのに初めてSTK500を使いましたがネット上に参考になるサイトが無く、成功するまで少し悩んだので参考までに記録を残しておきます。
STK500は5年以上前に購入したものですが自分で使ったのは初めてです。なお、今では国内での入手が難しいようですが(僕は秋月で当時7,800円で購入)、デジキー(米国の電子部品通販サイト)では扱っている(1万円強)模様です。秋月では後継機のSTK600がありますが、ちょっと高価で2万円以上します。ターゲットマイコンがSTK500で使えるのであれば、こちらの方が安価です。(追加で調べたら国内ではコンパス・ラブさんで現在でも扱い有り 価格はデジキーの方が安いかも)
STK500内の接続は
PROG CTRL~PORTD(10芯ケーブル)とPROG DATA~PORTB(10芯ケーブル)の他にBSEL2のDsubコネクタ側ピンとPORTCのPC2をジャンパーワイヤで接続します。
BSEL2の隣にあるPJUMPもショートプラグを挿入します。(向きに注意)
従って、10芯フラットケーブル2本と1芯のワイヤ1本、ショートプラグ2個を使用します。
上の写真では、BSEL2とPORTC(PC2)間が2芯ワイヤですが、使っているのは1本です。(1芯のメスーメスが手元に無かったので。)BSEL2ヘッダでつなぐのは右側のピンです。
———————————————————————————————————-
以下はAtmel Studio 7.0でのSTK500の使い方....
Atmel Studio 7.0でSTK500が使えるように追加。
Tools – Add target….
STK500を選択
STK500が使っているCOMポートを選択(使用環境で異なるので、デバイスマネージャで確認のこと)
Device Programmingを開いて
Tools からSTK500を選択
Deviceからマイコンを選択(ここではATmega328P)
Interfaceを選択(高圧並列書き込みなのでHVPPを選択)し、 Applyをクリック。
Memoriesを開き、Device から Erase Chip – Erace nowをクリック(これで内容消去)
Fusesを選び、必要な項目のみチェック(不必要なものは外す 下記は参考)したら、Programをクリック。
Lock bitsを開き、3項目を設定。下記は ATmega328Pのデフォルト値(のはず)
ここは、全てプルダウンメニューになっている。良ければProgramをクリック。
これでフューズビットとロックビットは初期状態に戻せるので、書き込み可能になったはず。
書き込むファイルができているのであれば、Memoriesを選んで、Flashにファイルを設定してProgramをクリックして書き込み。
以上で書き込みが成功すれば、完了。