Problema durante la programmazione di Mini Pro tramite Arduino come ISP


9

Ho appena preso un paio di schede clone Arduino Mini Pro 5v (Inland, vendute a Microcenter, attualmente $ 4 USD) e volevo usare il mio Uno come ISP come avevo già fatto con i chip ATmega328 e ATtiny85. Ho programmato Uno con le istruzioni nella pagina tutorial di ArduinoISP e ho collegato Uno a Mini Pro usando le istruzioni in questa pagina . Non riesco a ottenere l'IDE Arduino o avrdude dalla riga di comando per programmare con successo queste schede indipendentemente da ciò che provo. Solo che posso usare l'IDE Arduino per masterizzare un nuovo bootloader sul Mini Pro.

Ho collegato anche i LED di stato (pin 7, 8 e 9) e vedo che il programmatore ha una condizione di errore (pin 8) quando provo a programmare qualcosa oltre al bootloader.

Ecco la mia riga di comando avrdude in cui ho cercato di impostare i fusibili sul 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

Ricevo quanto segue da 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.

Non ho avuto alcun problema con l'utilizzo della stessa identica configurazione, ma con un chip ATmega328 o ATtiny85 su una breadboard con avrdude in passato, quindi sono in perdita su ciò che sta accadendo qui.

Ho anche dato un'occhiata al codice ArduinoISP e non sono davvero sicuro di cosa sia resp = 0x1c. Non vedo un valore 0x1c definito nella sezione Definizioni STK del codice, quindi non sono sicuro di cosa potrebbe causare questo.

Tutti i suggerimenti qui sarebbero apprezzati. E sì, lo so che posso usare la scheda Uno con il chip ATmega328 tirato per usare anche come programmatore. Ma voglio essere in grado di sovrascrivere l'area del bootloader con il mio codice come faccio con un normale chip ATmega328.

Grazie!

Risposte:


7

Dopo aver cercato un po 'di più, il mio problema era il baud rate. Potrei farlo funzionare impostandolo su 19200, solo un po 'più lentamente. In alternativa, è possibile modificare lo schizzo ArduinoISP per abilitare velocità di trasmissione più elevate. Ho usato questo post per abilitare 115200 baud e sono stato in grado di utilizzare con successo avrdude ai tassi più alti.

Non sono sicuro di come mi sia perso prima, ma almeno è facile da risolvere.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.