とりあえずLEDが点灯
先は長いね
最初の作業の覚え書き(CPU: ATMEGA64, 書き込み機: AVRISP II)
- AVRWikiを見ながら作業
- Cコンパイラ WinAVRをSourceForgeからダウンロードしてインストール
- 統合開発環境AVRStudioをAtmelからダウンロードしてインストール
登録不要なリンク先が書いてある
- AVRISP IIをPCのUSBに接続
- AVRStudioにドライバが含まれているのでドライバは自動的にインストールされる
AVRStudioの覚え書き
- まず、"Project" → "Configuration Options" でデバイスとクロック周波数を指定する
- Cで開発するには、Makefileをソースと同じフォルダにあらかじめ置いておく
- ソース作成後、"Build" → "Build" でプログラムデータ(hexファイル)が生成される
- "AVR"アイコン(Connect to the Selected AVR Programmer)をクリック
- "Program"タブの"Flash"項でhexファイルを指定して、"Program"をクリック。
ATMEGA64では、ISPをMOSI, MISOに接続してはいけない
Setting mode and device parameters.. OK! Entering programming mode.. FAILED! Leaving programming mode.. OK!
というメッセージが出てISPに失敗します。
FAQによると、ISPクロック周波数が、AVRのクロック周波数の4分の1以下にセットせよと書いてあるが、設定を変えてもダメ。ググったところ、MISO, MOSIの罠なんて記事が。
なんでもATMEGA64のMISO, MOSI端子はSPI接続用で、ISP機能のMISO, MOSIはPE0, PE1に割り当てられています。みんな、はまっているんやね。
ATMEGA64のピンアサイン
MOSI, MISOはPB2, PB3
(これはSPIインターフェース)
ISPのピンアサイン
MOSI, MISOはPE0, PE1
初期設定はATMEGA103互換モード
紛らわしいので、Fuseビットを操作して互換モードを解除。
AVR Studioの操作画面では、ヒューズをイメージしているらしく、チェックありはヒューズが飛んだので論理0。チェックなしは、ヒューズがつながっているので論理1。違和感ありあり。
ヒューズビット表示
チェックあり: 論理0 (L)
チェックなし: 論理1 (H)
すごく参考になったページ
0 件のコメント:
コメントを投稿