Masalah pemrograman Mini Pro melalui Arduino sebagai ISP

9

Saya baru saja mengambil sepasang papan klon Arduino Mini Pro 5v (Inland, dijual di Microcenter, saat ini $ 4 USD) dan saya ingin menggunakan Uno saya sebagai ISP seperti yang pernah saya lakukan dengan chip ATmega328 dan ATtiny85 sebelumnya. Saya telah memprogram Uno dengan instruksi di halaman tutorial ArduinoISP dan saya menghubungkan Uno ke Mini Pro menggunakan instruksi di halaman ini . Saya tidak bisa mendapatkan Arduino IDE atau avrdude dari baris perintah untuk berhasil memprogram board ini, apa pun yang saya coba. Kecuali saya bisa menggunakan Arduino IDE untuk membakar bootloader baru ke Mini Pro.

Saya telah menghubungkan LED status juga (pin 7, 8 dan 9), dan saya dapat melihat bahwa programmer memiliki kondisi kesalahan (pin 8) ketika saya mencoba memprogram apa pun selain bootloader.

Inilah baris perintah avrdude saya tempat saya mencoba mengatur sekering pada Mini Pro:

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

Saya mendapatkan berikut ini kembali dari 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.

Saya tidak punya masalah dengan menggunakan cukup banyak pengaturan yang sama persis ini, tetapi dengan chip ATmega328 atau ATtiny85 pada papan tempat memotong roti dengan avrdude di masa lalu, jadi saya bingung apa yang terjadi di sini.

Saya juga telah melihat kode ArduinoISP, dan saya tidak begitu yakin apa resp = 0x1c. Saya tidak melihat nilai 0x1c didefinisikan di bagian STK Definitions dari kode, jadi saya tidak yakin apa yang menyebabkan ini.

Setiap petunjuk di sini akan dihargai. Dan ya, saya tahu bahwa saya dapat menggunakan papan Uno dengan chip ATmega328 yang ditarik untuk digunakan sebagai programmer juga. Tapi saya ingin bisa menimpa area bootloader dengan kode saya sendiri seperti saya bisa dengan chip ATmega328 biasa.

Terima kasih!

Dennis Munsie
sumber

Jawaban:

7

Setelah mencari-cari lebih banyak, ternyata masalah saya adalah baud rate. Saya bisa membuatnya bekerja dengan mengaturnya ke 19200, hanya sedikit lebih lambat. Atau, Anda dapat memodifikasi sketsa ArduinoISP untuk mengaktifkan baud rate yang lebih tinggi. Saya menggunakan posting ini untuk mengaktifkan 115200 baud dan saya berhasil menggunakan avrdude dengan harga yang lebih tinggi.

Tidak yakin bagaimana saya melewatkan ini sebelumnya, tapi paling tidak itu mudah dipecahkan.

Dennis Munsie
sumber