4月後半まとめ

.29 2010 日記 comment(0) trackback(0)
上野にある某スポーツ用品店で水着を買って久々に泳ぎました。約10年ぶりです。少しずつ距離を増やしているところで、昨日は500mほど泳ぎました。
御殿下は泳いだ後すぐシャワールームで体を洗えるのがいいですね。「ちょっと風呂行ってくる」=「御殿下で軽く泳いでシャワーを浴びてくる」の意味です。

そんなわけで多少泳いではいますが、それでもまだまだ運動不足です。右足の関節が治りきっていないので仕方がないのですが、そろそろ次の遠征の場所を決めたいです。

# 尤もチェスがスポーツだと言ってしまえば(チェスはオリンピック種目として認定されていたはず)そこそこ運動していることにはなりますが…

さて、先日は標識バイトの読み出しに成功しました。が、いろいろ試した結果、特定のチップでしか読み出しが成功しないことが分かりました。不思議です。

とりあえずプログラミング許可命令の前にはbusy checkを行わないようにし(device側)、プログラミング許可命令の後に戻り値をチェックするように変更(host側)すると6MHz以上の外部発振で動作しているデバイスでは種類を問わずGet Device IDが成功しました。
12MHzの子からはRead Backも成功です。diffを取ってみるとデータは書き込み用のhexファイルと完全に一致していました。

ここまで来たらあとは簡単。まずはErase Flashコマンドを発行したあとread backをかけ、すべてのアドレスの値がffになることを確認します(Erase成功)。

続いてset buffer, write flashコマンドでさっき読み出しておいたデータを書き込みます。そしてもう一度read backをかけて正しく書き込まれたことを確認します。結果的にWriteまで成功しました。

12MHz動作のtiny2313には書き込みができる=>この暫定ライタを使えばヒューズビットがすでに外部発振に切り替わっている子をライターにできる=>既存のライターは使わず次のAVRをライタにできる

というわけで内蔵発振で動いている子のヒューズビットを書き換えられるようになればどこでもAVR関係の開発ができるようになります。そうするといよいよ家に帰る必要がなくなってしまいますね…

# こんなことをやっているせいで最近しょっちゅうBlue Screenが見られます。

残りの課題は内部発振で動作している子にも書き込みができるようにし、書き込みファイルの形式をbinary以外にも対応させることです。Golden Week中にその辺までいけるといいです。
関連記事

  • comment
  • secret
  • 管理者にだけ表示を許可する

trackbackURL:http://yuranos.blog11.fc2.com/tb.php/69-1be3fd4f