Mi è capitato alcune volte di aver problemi con il mio USBasp, mi è capitato di leggere questo errore nel monitor: “avrdude: warning: cannot set sck period. please check for usbasp firmware update”.
Sul sito di Fischl (http://www.fischl.de/usbasp/) ho potuto trovare tutti i file necessari per l’upgrade del dispositivo, tra cui il firmware più recente usbasp.2011-05-28.tar.gz
Ma come programmare un programmatore!?
Due sono le strade:
- L’uso di un secondo programmatore (un altro USBasp ad esempio)
- Un Arduino
Non avendo un secondo USBasp, il modo più semplice era quello di usare un arduino come programmatore.
Ebbene, Arduino può essere utilizzato come programmatore… lo sapevate? 🙂
Gli step da eseguire per aggiornare il firmware dell’USBasp tramite Arduino sono i seguenti:
1. Aprite la vostra ide Arduino, e flashate il vostro arduino con lo sketch ArduinoISP (File>Esempi>ArduinoISP).
2. Mettete in corto lo Jumper JP2 (in qualche versione meno recente è lo jumper R8) del vostro USBasp, in modo tale da abilitare la modalità di autoprogrammazione.
3. Collegate il vostro arduino al pettine dell’USBasp come segue:
Arduino – USBasp
5V ———– 2
GND ——– 10
13 ———— 7 (SCK)
12 ———- 9 (MISO)
11 ———- 1 (MOSI)
10 ——— 5 (RESET)
4. Scaricate ed installate AVRDUDESS (http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/)
5. Cliccate sull’eseguibile e settate il tutto in questo modo:
- Programmer > Arduino
- MCU > Atmega8 (assumendo che il vostro USBasp abbia un atmega8)
- Port > COM3 (dipende a quale porta del vostro pc è collegato arduino)
- Baud Rate > 19200
- Files > Flash > Selezionate il vostro firmware .hex da flashare
Dovrebbe essere più o meno così:
6. Premete “START!” e incrociate le dita…
Due parole su quale firmware caricare sul vostro USBasp
Sul sito di Thomas Fischl (http://www.fischl.de/usbasp/) l’ultima versione disponibile del firmware è la usbasp.2011-05-28.tar.gz
Pare (praticamente certo), però, che l’ultima versione sia leggermente buggata e che le versioni più vecchiotte non supportano in pieno MCU con memoria flash >64k, dunque non avremo la possibilità di aggiornare i nostri Arduino con Atmega2560.
Ho trovato in giro per la rete questa versione corretta che pare funzioni a dovere: http://openrcforums.com/forum/viewtopic.php?f=10&t=1363#p29615
-Si ringrazia Romolo per la versione riveduta e corretta del firmware-