📖
ATmega8にプログラムを書き込めない
エラー
USBaspからATmega8に書き込もうとすると以下のようなエラーが発生する
最大7808バイトのフラッシュメモリのうち、スケッチが854バイト(10%)を使っています。
最大1024バイトのRAMのうち、グローバル変数が9バイト(0%)を使っていて、ローカル変数で1015バイト使うことができます。
avrdude error: program enable: target does not answer (0x01)
avrdude error: initialization failed, rc=-1
- double check the connections and try again
- use -B to set lower the bit clock frequency, e.g. -B 125kHz
- use -F to override this check
Failed programming: uploading error: exit status 1
このエラーはどうやらUSBaspからマイコンにアクセスできない時に出るらしい
環境
- 使用ソフト:Arduino IDE(2.3.4及び1.8.19)
- 使用ボード:Mini Core
- 使用マイコン:ATmega8
- 使用ライター:USBasp
- OS:MacOS
Mini Coreの導入方法についてはネットにたくさん掲載されているので省略します。
買ってから初めて使うマイコンだったため、プログラムはシンプルなLチカを選択しました。
const int ledPin = 15; // LEDが接続されているピン番号 // ボタンの状態を保存する変数
void setup() {
pinMode(ledPin, OUTPUT); // LEDピンを出力に設定
}
void loop() {
// ボタンが押されたら(LOW)LEDを3回点滅
digitalWrite(ledPin, HIGH); // LEDを点灯
delay(1000); // 0.5秒待機
digitalWrite(ledPin, LOW); // LEDを消灯
delay(1000); // 0.5秒待機
}
配線
一応配線を書いておきます。(基本的に同じものに繋いでおけば大丈夫)
USBasp | ATmega8 |
---|---|
VCC | VCC |
GND | GND |
SCK | SCK |
RESET | RESET |
MISO | MISO |
MOSI | MOSI |
エラー解決
当方ではなぜかわかりませんが、大きなブレッドボードに差し替えると再び書き込めるようになりました。おおかた配線ミスまたはブレッドボード本体での接触不良があったのだろうと推測しています。
Arduino IDEの設定
実のところこのエラーで書き込みができなくなったのは2回目で、また書き込みができなくなった時に同じ状況にできるようArduino IDEの設定も残しておきます。
- Baud rate:"Default"
- BOD:"BOD 4.0V"
- Boot loader:"YES(UART0)"
- clock:"internal 8 MHz"
- EEPROM:"EEPROM retained"
- Compiler LTO:"LTO disabeled"
Discussion