2012年8月13日

AE-UM232RでATmega328PにOptibootを書き込む

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

基本的なことは「(番外) FTDI BitBang AVR-Writer」の内容と同じですが、参照したページのavrdude-GUIを使った手順が若干理解しづらい&ATmega328Pの場合が記載されていないので、以下まとめ。

配線やPCとAE-UM232Rの接続、ドライバの導入までは前述のページ「3.ソフトウェアの準備」までと同じ。
補足としては .NET Frameworkをインストールしていない場合、最新版の4.0に2.0は含まれていないので、3.5をインストールする必要がある。

次にヒューズビットの設定(外部クロック使用)とOptibootの書き込み。

1.avrdude-GUI.exeを起動する
2.avrdude.exe Fileにavrdude-serjtag\binaryフォルダ配下のavrdude.exeを指定する
3.Programmerに FT232R Synchronous BitBang (diecimila) を選択する
4.Deviceに ATmega328P(m328p) を選択する
5.Command Line Optionに -P ft0 -B 4800 を入力する
6.FuseをReadすると hFuse:D9、lFuse:62、eFuse07 が読み出される (新品未使用の場合)
7.Fuseを hFuse:DA、lFuse:FF、eFuse:05 と入力し、Writeする
8.Command Line Optionから-B 4800を消す (-P ft0のみ入力された状態) ← 超重要
9.Flashでoptiboot_atmega328.hexを選択し、Erase-Write-Verifyする

手順7で外部クロックを使用する設定にしたので、手順8で -B 4800 (ビットクロック指定)を外す必要がある。
※外さない場合、書き込み中にavrdude-GUIがフリーズする。

大量に書き込む時などは、以下のような感じで手順でOK

1.ATmega328Pをセット

2.コマンドラインオプション -P ft0 -B 4800 でFuseをRead

3.hFuse DA、lFuse FF、eFuse:05でFuseをWrite

4.コマンドラインオプションを -P ft0 にしてhexをFlash

5.書き込み済みATmega328Pを取り外す

繰り返し(1へ)

ちなみに、今回のヒューズビット設定は外部クロック使用時なので、内部クロック8MHzで動作させる時は hFuse:DA、lFuse:E2、eFuse:05 など適宜設定する。

0 件のコメント:

コメントを投稿

記事へのコメントはいつも確認している訳ではないので、お返事が遅れる場合があります。
ご質問やご意見は twitter@9SQ へお送り頂けると早くお返事できると思います。