Archivio mensile:ottobre 2013

Aggiornare firmware USBasp con Arduino

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:

  1.  L’uso di un secondo programmatore (un altro USBasp ad esempio)
  2.  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.usbaspver2

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)

ISP_pines_ArduinoISP_lusbasp_and_arduino

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ì:

Cattura

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-