丼's tech blog

2012/11/28~2023/12/21 間で運営していた「例のブログ」の後釜です。記事を抜粋してコッチに移植します。

AVRにArduinoIDEでスケッチ書き込もうとしたら「avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c」って怒られた

あらすじ

  内蔵の8MHzクロック駆動の設定でATmega328PをArduino化しようと思って,ネットに転がってた方法を真似して,ATmega328PにArduinoブートローダーを書き込んだりアレコレしてたのですが,最後の最後でスケッチ書き込もうとしたらエラー吐かれました。
  ちなみに,ブートローダーの書込までは成功していますし,外付けの16[MHz]クロック使っての16[MHz]駆動には成功しています。何故か内蔵8[MHz]クロック駆動の設定のときだけ書込みで今回のエラーが出ました。

【2017-12-21 加筆】  どうも,外付けの16[MHz]クロック使っての16[MHz]駆動でも「書込装置を使って書き込む (後述)」が必要なようです。詳しいことは当記事のコメントを御覧ください。
  僕の方で動作確認 (追実験) を行い次第追って報告させていただきます。

 

もくじ

 

 

f:id:teppodone:20171214015258j:plain



環境

  • ArduinoIDEのバージョン…ArduinoIDE1.8.5
  • ArduinoISPを焼いたArduinoのモデル…ArduinoUNO
  • 使用したマイコン…ATmega328P (AVRマイコン)
  • やろうとしてたこと…ATmega328P (内蔵8MHzクロック駆動) にArduinoのスケッチを書き込む



エラー内容

Arduino:1.8.5 (Windows 8.1), ボード:"ATmega328 on a breadboard (8 MHz internal clock)"
Warning: Board breadboard:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB
Warning: Board Breadboard Arduino:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB

最大30720バイトのフラッシュメモリのうち、スケッチが928バイト(3%)を使っています。
グローバル変数は9バイトのRAMを使用しています。

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c

スケッチの書き込み中にエラーが発生しました

「ファイル」メニューの「環境設定」から
「より詳細な情報を表示する:コンパイル」を有効にすると
より詳しい情報が表示されます。

 



解決策:「書込装置を使って書き込む」

  普通のArduinoにスケッチを書き込むとき同様 ”マイコンボードに書き込む (左上の矢印ボタン)” を押して ATmega328P  にスケッチを書き込もうとしてたのですが,この方法では上記のエラーを吐き,書込に失敗してしまいます。

  ”書込装置を使って書き込む Ctrl+Shift+U” (スケッチ -> 書込装置を使って書き込む Ctrl+Shift+U) をクリックしてスケッチを書き込むと,うまくいきました。

f:id:teppodone:20171213021607p:plain
いつもの矢印ボタンじゃなくて,”書込装置を使って書き込む Ctrl+Shift+U”であることに注意




  ちなみに,16MHzクリスタル + ARmega328P で,16MHz駆動でArduinoブートローダー書き込んだときは,いつもの矢印ボタンでなんの問題もなくスケッチを書きこめました。なんでやろ。

 

  そんなこんなで僕も,1個250円で無限にLチカできるようになりました。めでたしめでたし。