ISPとしてのArduinoを介したMini Proのプログラミングの問題


9

Arduino Mini Pro 5vクローンボードのペア(Inland、Microcenterで販売、現在は4米ドル)を手に取りました。ATmega328とATtiny85チップで以前行ったように、私のUnoをISPとして使用したかったのです。ArduinoISPチュートリアルページの指示に従ってUnoをプログラミングし、このページの指示に従ってUnoをMini Proに接続しました。コマンドラインからArduino IDEまたはavrdudeを取得しても、これらのボードを何を試してもうまくプログラムできません。ただし、Arduino IDEを使用して新しいブートローダーをMini Proに書き込むことができます。

ステータスLED(ピン7、8、9)も接続しましたが、ブートローダー以外のものをプログラムしようとすると、プログラマーにエラー状態(ピン8)があることがわかります。

これが、Mini Proのヒューズを設定しようとしたavrdudeコマンドラインです。

avrdude -P /dev/tty.usbmodema0121 -b 57600 -c avrisp -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m

avrdudeから次の情報を受け取ります。

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

avrdude done.  Thank you.

私はこれとまったく同じ設定をほとんど使用して問題はありませんでしたが、過去にavrdudeを使用したブレッドボード上のATmega328またはATtiny85チップを使用しているため、ここで何が起こっているのか途方に暮れています。

ArduinoISPコードも確認しましたが、resp = 0x1cが何であるか本当にわかりません。コードのSTK定義セクションで0x1c値が定義されていないので、何が原因かわかりません。

ここで任意のポインタがいただければ幸いです。そして、はい、私はATmega328チップをプルしたUnoボードをプログラマーとしても使用できることを知っています。しかし、私は通常のATmega328チップでできるように、自分のコードでブートローダー領域を上書きできるようにしたいです。

ありがとう!

回答:


7

もう少し調べてみたところ、ボーレートに問題があったことがわかりました。19200に設定すると、少し遅くなります。または、ArduinoISPスケッチを変更して、より高いボーレートを有効にすることもできます。私はこの投稿を使用し 115200ボーを有効にし、より高いレートでavrdudeを正常に使用することができました。

以前にこれをどのように逃したかはわかりませんが、少なくとも簡単に解決できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.