プレゼンテーション・タイマー(2)
行き当たりばったりではなくて、ブレッド・ボードで作ってみることにした。
ソースをコンパイルしてavrdudeで m88 を指定して書き込もうとしたら、シグネチャが違うと怒られる。
ATMEGA88のシグネチャは 1E 93 0A だけど 検出したデバイスのシグネチャは1E 93 0F だぜ
と言ってる。
調べてみると、1E 93 0FはATMEGA88Pのシグネチャだそうだ。ATMEGA88とはシグネチャが違っていて、未だavurdude.confにATMEAG88Pのエントリがないらしい。 FAQみたいだ。
親切な人がこのサイトでavrdude.confに追加するコンフィグ(m88p)を公開してくれている。
コンフィグをDLして avrdude.confに追加して、m88pを指定するとちゃんと書けた。
が、動いてないようだ。
InfraHIDのソースはATMEGA8用だったのだがATMEGA8が無かったのでピンコンパチでフラッシュが同じ容量のATMEGA88を使うことにした。
ATMEGA8とATMEGA88は同じ機能が割り当てられているレジスタが変わっていたり機能が追加されていたりと結構変わっているようだ。
AVR094: Replacing ATmega8 by ATmega88
や
AVR512: Migration from ATmega48/88/168 to ATmega48P/88P/168P
を参考にしてソースを変更した。
(Atmelはリンク先がコロコロ変わるので、"AVR094"や"AVR512"で検索した方がよいかも)
完全に変更できていないのだろう。
不具合を見つけてちゃんと動くようにするのが楽しいんだよね。 ^^;)
「AVR」カテゴリの記事
- Google日本語モールス入力(2020.05.01)
- Digispark(3) <RAMが一番大事>(2016.09.19)
- Digispark(2) <ATtiny85+V-USB+Arduino>(2016.09.05)
- Digispark (1)(2016.09.03)
- Atmel買収 <AVRは無くなるのか>(2016.03.01)
コメント