2009年11月27日

avrdude: stk500_getsync(): not in sync: resp=0x00

最近、ハマっている8bitワンボードマイコン「arduino Duemilanoveですが、プログラム書き込みの際にタイトルのようなエラーが出新規書き込みができなくなってしまった。正確には下記のエラー

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

既に書き込んでいるプログラムは動いているので、壊れたわけではなさそう。あくまで新規書き込みができない。

日本語、英語ともにいろいろとググッては見た。同じ問題で困っている人がたくさんいるようだが、決定的な解決方法が見当たらない。

しかし、イーサネットシールドを取り付けると直ってしまった。

ネット上で見つかった解決方法はこんな感じ・・・ATMEGA328のチップを外すと直るとか、しばらく使わずにおいておくと直っていたとか、IDEの再起動で直ったとか、シリアルポートのドライバを再インストールで直ったとかありました。

ちなみにどれを試しても直らなかった。試してないけど
ATMEGA328のブートローダー再書き込みで直ったという報告もありました。

今回のケースで、もちろんマイコンボードの選択ミスはあり得ない。何だったのだろうと思っていたら、状況再発。

イーサネットシールドを取り外した後、また同様のエラーが止まらない。いろいろやってみたが、十分に調べる前にまた直ってしまった。今度は、イーサネットシールドなしでも復旧。何をやったか一応メモしておく。

「arduino Duemilanove」のリセットボタンを押しながら、USBケーブルを抜いて、さらに押しながら再度挿入。

リセットボタンは、かなり長く押すのがコツ。10秒とか

とりあえず今回はこれで直った。う〜ん・・・結局わからん。

これだけは言える。とにかく直った。
今はそれだけでいいのだ。

追記、上記のとおり一度直った後、かなり時間を空けて、別の基板で再発、やはり
リセットボタンを押しながら、USBケーブルを抜いて、さらに押しながら再度挿入で普及しました。

2010年2月現在。私の場合。やはり、この方法で直っています。

電気的な問題っぽいですね。ところで、皆さんこの方法で直ってますか?
ラベル:Arduino
posted by love4nature at 23:00| Comment(13) | TrackBack(0) | 趣味の部屋 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
学校でArduinoを使ってなんかやってこいと課題が出たのでLEDをスイッチに繋げたりしていたら、同じエラーが出たので試してみましたが………直りませんでした………orz
これ以上進むことが出来ない\(^o^)/
Posted by ただの学生 at 2011年12月15日 03:34
LCD、ボタン、LED接続にて同様の問題が起きました。
おっしゃる方法では症状が改善されませんでした。
しかし、すべてのピンを抜けば書き込みトラブルは回復しました。
面倒ですが割と確実のようです。
Posted by Arduino初心者 at 2012年01月07日 22:37
今Arduino pro min で 困ってます。
今まで 書き込めた スケッチが
書き込めません
avrdude: stk500_getsync(): not in sync: resp=0x30
エラーが出て 困ってます。治す手段は
ないのでしょうか
Posted by shell-stone at 2012年03月18日 15:38
私も困りました。
理由はわかりませんが、COMのスピードが標準の9600だとエラーがでるようです。
38000位またはそれ以上にUPしてTESTしてみてください。
Posted by at 2012年09月22日 20:37
comのスピードが9600だと問題があるようです。
38000か更に上に設定してみてください。
理由はわかりません?
Posted by at 2012年09月22日 20:56
Arudino UNOを使っています。
同様のエラーが出てこのサイトにたどり着きましたが、リセットボタンを押しても治りませんでした。
ためしに、シリアル通信を行う0番ピンと1番ピンに何も接続しないで書き込むと問題ありませんでした。
0番と1番を使用している人はお試しください。
Posted by at 2012年10月24日 11:32
いちいち書き込むのに0、1番ピンの接続外すの面倒だろう
Posted by at 2012年11月07日 09:11
Arduino UNO です。
0番ピン、1番ピンに何も接続していないのにこの現象が発生しました。
リセットボタンを押したままの USB 抜き差しで回復しました。
Posted by at 2013年02月27日 18:07
リセット押しながら抜き差ししても治りません!
Posted by at 2013年07月09日 16:03
私も
avrdude: stk500_getsync(): not in sync: resp=0x00
エラーが発生し、この記事の方法を試してみたところエラーが解消されました。

大変助かりました。
Posted by YY at 2013年11月29日 18:48
書き込み中にArduinoのTX、RXランプがつくまで何度もリセットを押しまくったら、何回かに一回書き込めます。
ただ、その後ずっと直る訳ではなく、次にはまた書き込めなくなってしまいます。
Posted by at 2013年12月28日 17:04
もはや皆さんもご存じかもしれませんが、シリアルポートが違うのでは、有りませんか。 私はデバイスマネージャの表示のポートに修正して、このエラーが出なく成りました。
Posted by sgr at 2014年04月24日 10:52
初めまして、私も何度か似た経験をしました。

ソフト環境:IDE 1.0.5
 実装状態でのスケッチを可能とするために、
 AVRISP mkII も同時に使いたく、このバージョンを
 選択しています。
 つまり、USB 経由とmkII 経由の双方のダウン
 ロードが可能となり、とても便利です。

実験マイコン・ATMEGA328P-PU
実験ボード ・びんぼうでいいの
操 作   ・LチカPWMスケッチ時
エラーメッセージ
      ・…resp=0x00… など

対 処   ・ブートローダ再書き込みにて解決
原 因(推定)
・ブートローダメモリ域が破壊

通常のスケッチ領域とブート領域は、同じ
メモリ空間にあり、通常スケッチプログラムが
実行される時、ブート域を(部分的にも)破壊
してしまうのではないかと考えます。

事実、変数エリアの使用超過などのチェックも
コンパイル時は行われず、バグのあるスケッチでも、そのまま実行されてしまいます。
(ブートプログラムを壊すのはとても容易!!!)

この他、過電圧印加などで、マイコンがハード的に
壊れる時もありました。私はブートローダが再度、
書き込めない場合は、マイコンを諦めています。

これらの現象により、 aitendo さんのボードには
無関係と察します。

Posted by mtakapii at 2016年07月29日 11:03
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。