Manifiesto

Nosotros exploramos... y ustedes nos llaman criminales. Nosotros buscamos ampliar nuestro conocimiento... y ustedes nos llaman criminales. Nosotros existimos sin color de piel, sin nacionalidad, sin prejuicios religiosos... y ustedes nos llaman criminales. Ustedes construyen bombas atómicas, hacen la guerra, asesinan, engañan, y nos mienten y tratan de hacernos creer que es por nuestro bien, ahora nosotros somos los criminales.

Fragmento de "La Conciencia de un Hacker"

7 abr 2012

Programar AVR con pickit2



Para todos los que quieren comenzar a desarrollar en uC Atmel y tienen un pickit2, este hilo les será de gran interés.

avrdude es un programa de línea de comandos, muy conocido, para programar controladores Atmel AVR. Éste tiene soportado una gran cantidad de programadores (Hardware), y dougy83 y prowan69 escribieron un parche para que pueda soportar el pickit2


----------------------------------------------------
Actualización Octubre 2012

El parche ya fue integrado desde la revisión 1102, así que pueden aplicar las sig instrucciones:


$ svn checkout svn://svn.savannah.nongnu.org/avrdude/trunk
$ cd trunk/avrdude/
$ ./bootstrap
$ ./configure
$ make
$ sudo make install

Si tienen algún problema o quieren ahorrarse todo el procedimiento, pueden descargar un paquete *.deb que creé con la revisión 1104, que incluye soporte para el pickit2:

DOWNLOAD: avrdude_5.11.1-1104_i386.deb

---------------------------------------------------


El parche lo pueden encontrar en: http://savannah.nongnu.org/patch/?7184

Básicamente para poder usar el pickit2 con AVR hay que compilar avrdude de la siguiente forma:

1. Descargamos el parche. A la fecha el link de descarga del parche más actual es el que se muestra, es buena idea visitar la web del parche para ver si hay alguna actualización.

$ wget http://savannah.nongnu.org/file/avrdude_pickit2_support-svn-1068.patch?file_id=25391 -O avrdude_pickit2.patch

2. Descargamos las fuentes de avrdude. Como el autor dice que el parche fue usado en la revisión 1068 de avrdude trunk descargamos esa. Puede probar otra revisión si lo desea.

$ svn checkout svn://svn.savannah.nongnu.org/avrdude/trunk -r 1068

3. Aplicamos el parche a las fuentes.

$ cd trunk/avrdude/
$ patch < ../../avrdude_pickit2.patch


4. Compilamos e instalamos.

$ ./bootstrap
$ ./configure
$ make
$ sudo make install

Y así si por ejemplo queremos programar un ATtiny2313 con un programa llamado BlinkyLED.hex sería:

$ avrdude -p t2313 -c pickit2 -e -U flash:w:BlinkyLED.hex

La asignación de pines SPI del AVR con el pickit2 es el sig:

ISP Pinout
AVR pinPickit2 pin
RSTVPP/MCLR (1)
VDDVDD Target (2)
GNDGND (3)
MISOPGD (4)
SCLKSCLK - PDC (5)
MOSIAUX (6)



Saludos!


Esto fue probado por mi con el siguiente equipo:

SO: GNU/Linux
Distribución: Ubuntu 10.04
Pickit2 firmware version: 2.32.00
avrdude trunk revisión 1068 (avrdude version 5.11svn)
Parche: file #25391 avrdude_pickit2_support-svn-1068.patch

2 comentarios:

  1. Saludos amigo, el arreglo q muestras funciona con el atmega32 o el atmega8????

    ResponderEliminar
  2. Seguramente sí........... pero sólo hay una forma de saberlo; intentándolo.

    Yo he programado el ATtiny2313 y un ATMEGA168. En la liga del parche dicen que han probado con ATMEGA32, ATMEGA48 y ATtiny2313.

    Saludos.

    ResponderEliminar

Hey you!
Deja un comentario! va?!