TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores 8 bits => Mensaje iniciado por: Picuino en 12 de Noviembre de 2014, 19:05:56

Título: Programar ATtiny88
Publicado por: Picuino en 12 de Noviembre de 2014, 19:05:56
Estoy intentando programar un ATtiny88 y me estoy encontrando con muchos problemas.
A pesar de que es un microcontrolador que ya lleva bastante tiempo en el mercado parece que tiene poco soporte comparado con otros Attiny menores.

He conseguido compilar un programa que hace parpadear un led, con el compilador GNU para AVRs (avr-gnu-toolchain)
El problema viene al intentar cargar el archivo *.hex en el micro

Estoy utilizando el programa avrdude y, como programador, un Arduino UNO convertido a STK500v1 con el programa de ejemplo ArduinoISP:

    (http://highlowtech.org/wp-content/uploads/2011/06/Screen-shot-2011-06-06-at-1.46.39-PM.png)
       (cambiando el attiny por un attiny88 con 32 pines)

El Arduino funciona perfectamente como programador. Lo he probado con varios ATmega328P limpios para grabarles el bootloader de Arduino y en los 3 micros se ha grabado el bootloader sin problemas.

El caso es que cuando intento programar el ATtiny88 me sale el error:

avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude.exe: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude.exe: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c



La configuración de avrdude está copiada de la que utiliza Arduino para cargar el bootloader, cambiando el micro de destino (t88) y el archivo hex de origen (blink.hex):

  D:\Attiny88/avrdude/avrdude.exe -CD:\Attiny88/avrdude/avrdude.conf -q -q -pt88 -cstk500v1 -P//./COM5 -b57600 -D -Uflash:w:D:\Attiny88/Blink.hex:i



¿Alguien ha conseguido grabar un Attiny88 con avrdude y Arduino como programador?

Saludos.
Título: Re: Programar ATtiny88
Publicado por: micro_pepe en 12 de Noviembre de 2014, 20:26:43
Con un arduino de esa manera, y con ese micro no, pero otros micros si los he grabado con un  USBasp  (http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-Adapter-10-Pin-Cable-USB-ATMEGA8-ATMEGA128-Arduino-/310506909410?pt=LH_DefaultDomain_0&hash=item484ba76ee2) y con el software  "SINA PROG" (https://alselectro.wordpress.com/2012/09/23/avr-programming-tutorial-7-avr-burner-software/). El USB asp es muy barato y a mí en win7 me funciona bien.

Prueba a descargarte el sina prog, que soporta el STK500v1, y mira a ver si te lo graba.

Saludos!!!
Título: Re: Programar ATtiny88
Publicado por: QIQE en 13 de Noviembre de 2014, 01:57:55
No será necesario un cristal de quarzo? Y luego configurar con su oscilador interno?
Título: Re: Programar ATtiny88
Publicado por: stk500 en 13 de Noviembre de 2014, 02:10:45
si te fija el error que te da
Código: [Seleccionar]
avrdude.exe: stk500_recv(): programmer is not responding el AVR_GNU busca la ruta STK500_recv y no responde porque no lo tiene, lo que no se si al configurar el Arduino tiene esta (stk500_recv) Opcion.
por otro lado dice:
Código: [Seleccionar]
He conseguido compilar un programa que hace parpadear un led, con el compilador GNU para AVRs (avr-gnu-toolchain) Y programaste el HEX con Arduino?

Si es asi , la configuracion de AVR GNU no la ha hecho bien, tambien pensar que el Attiny88 tiene solo 8 Kb ,
no tengo muchas experiencia con el AVR-GNU. lo he usado muy poco, pero en el MAKEFILE debe configurarlo bien,
recuerdo que estuve ese mismo problema al programar el USBasp y el Atmega8.
por otro lado tengo el Arduino y nunca lo he usado :? por acostumbrarme con BASCOM-AVR  :?
 a ver si te sirve esto http://www.olimex.cl/tutorials.php?page=tut_arduino_bootloader
por lo que he visto en Google es un error muy comun con el Arduino, menos mal que con mi STK500 nunca lo he tenido  :P

Saludos

Título: Re: Programar ATtiny88
Publicado por: Picuino en 13 de Noviembre de 2014, 15:40:56
Con un arduino de esa manera, y con ese micro no, pero otros micros si los he grabado con un  USBasp  (http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-Adapter-10-Pin-Cable-USB-ATMEGA8-ATMEGA128-Arduino-/310506909410?pt=LH_DefaultDomain_0&hash=item484ba76ee2) y con el software  "SINA PROG" (https://alselectro.wordpress.com/2012/09/23/avr-programming-tutorial-7-avr-burner-software/). El USB asp es muy barato y a mí en win7 me funciona bien.

Prueba a descargarte el sina prog, que soporta el STK500v1, y mira a ver si te lo graba.

Saludos!!!

Gracias por el consejo. Ya he pedido el USBASP.


no tengo muchas experiencia con el AVR-GNU. lo he usado muy poco, pero en el MAKEFILE debe configurarlo bien,
recuerdo que estuve ese mismo problema al programar el USBasp y el Atmega8.
por otro lado tengo el Arduino y nunca lo he usado :? por acostumbrarme con BASCOM-AVR  :?
 a ver si te sirve esto http://www.olimex.cl/tutorials.php?page=tut_arduino_bootloader
por lo que he visto en Google es un error muy comun con el Arduino, menos mal que con mi STK500 nunca lo he tenido  :P

Creo que el problema para programar el micro está en el programador. Con el que he pedido espero no tener problemas.


El avr-gnu lo utilizo sin makefile y sin el Arduino.
Trabajo simplemente en la línea de comandos. Llamo a un archivo por lotes (tipo *.bat) que ejecuta el avr-gcc.exe y otro programa para que compile y genere el archivo final *.hex
En este punto no he tenido problemas.



En cuanto a por qué utilizar el Attiny88:
   Necesito muchas entradas/salidas y este micro tiene 28
   Necesito comunicación I2C y SPI
   Conversor analógico digital
   8kb de flash
   Bajo precio. Este micro cuesta 0.87 Eur para uno y 0.55 Eur para 100 unidades. Imbatible.


Saludos.
Título: Re: Programar ATtiny88
Publicado por: stk500 en 14 de Noviembre de 2014, 03:58:59
el USBasp te lo puede hacer tu mismo Picuino, basta que tenga un Atmega8, me funciona con Win7 muy bien, y lo uso con el BascomAVR.

Saludos
Título: Re: Programar ATtiny88
Publicado por: Picuino en 14 de Noviembre de 2014, 13:33:15
Gracias stk500. Por 2 euros, prefiro esperar a que venga de China.

Por ahora me he montado un shield para Arduino Uno, para que funcione como programador.
Después de muchas pruebas, ayer conseguí programar el Attiny88 con el Arduino como programador ISP y el avrdude.exe como programa para descargar el HEX.

El problema es que aún no parpadea el led. Creo que se debe a los fuses, que no los he programado.

Si me sigue dando muchos problemas, creo que me pasaré a un PIC.

Saludos.
Título: Re: Programar ATtiny88
Publicado por: Picuino en 14 de Noviembre de 2014, 13:37:01
Con un arduino de esa manera, y con ese micro no, pero otros micros si los he grabado con un  USBasp  (http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-Adapter-10-Pin-Cable-USB-ATMEGA8-ATMEGA128-Arduino-/310506909410?pt=LH_DefaultDomain_0&hash=item484ba76ee2) y con el software  "SINA PROG" (https://alselectro.wordpress.com/2012/09/23/avr-programming-tutorial-7-avr-burner-software/). El USB asp es muy barato y a mí en win7 me funciona bien.

Prueba a descargarte el sina prog, que soporta el STK500v1, y mira a ver si te lo graba.

Saludos!!!

El SINAPROG no lo encontré en ese enlace. Otros programas que aparecían en ese enlace me ofrecían muy poca seguridad o funcionaban francamente mal.

Creo que por ahora seguiré con el avrdude. Es el estandar de Arduino y, creo, el mejor que hay.
Sólo tiene el inconveniente de trabajar en línea de comandos.

Saludos.
Título: Re: Programar ATtiny88
Publicado por: micro_pepe en 14 de Noviembre de 2014, 21:36:17

El SINAPROG no lo encontré en ese enlace. Otros programas que aparecían en ese enlace me ofrecían muy poca seguridad o funcionaban francamente mal.

Creo que por ahora seguiré con el avrdude. Es el estandar de Arduino y, creo, el mejor que hay.
Sólo tiene el inconveniente de trabajar en línea de comandos.

Saludos.

Pues tienes razón, el enlace está caido, si me dejas un correo te lo paso, son 10M.

Edito: encontre este otro enlace: https://docs.google.com/file/d/0B3OsL7DPo1s0U2ZQOEpBaXh6Tms/edit
Título: Re: Programar ATtiny88
Publicado por: stk500 en 15 de Noviembre de 2014, 03:07:52
Gracias stk500. Por 2 euros, prefiro esperar a que venga de China.

Por ahora me he montado un shield para Arduino Uno, para que funcione como programador.
Después de muchas pruebas, ayer conseguí programar el Attiny88 con el Arduino como programador ISP y el avrdude.exe como programa para descargar el HEX.

El problema es que aún no parpadea el led. Creo que se debe a los fuses, que no los he programado.

Si me sigue dando muchos problemas, creo que me pasaré a un PIC.

Saludos.

Aqui te dejo como debe calcular los Fuses para todas las familia de Atmel
Fuse Calculator................ (http://www.engbedded.com/fusecalc/)

No es tan dificil, hacer parpadear un led con un Atmel y Avrdude  ;-)
lo que te aconsejo es, bajarte la Ultima version de WinAVR.
ahh y se me olvidaba, sin el Makefile no lo va a tener muy claro, porque con eso configura que micro usa y los Fuses ;-)
Saludos
Título: Re: Programar ATtiny88
Publicado por: micro_pepe en 15 de Noviembre de 2014, 13:47:32
Por defecto vienen con oscilador interno de 1MHz, haz parpadear el led con ese oscilador y luego pruebas a ponerle un cristal y le cargas la configuracion para el.

Saludos!!!
Título: Re: Programar ATtiny88
Publicado por: Picuino en 16 de Noviembre de 2014, 19:53:30
Aqui te dejo como debe calcular los Fuses para todas las familia de Atmel
Fuse Calculator................ (http://www.engbedded.com/fusecalc/)

No es tan dificil, hacer parpadear un led con un Atmel y Avrdude  ;-)
lo que te aconsejo es, bajarte la Ultima version de WinAVR.
ahh y se me olvidaba, sin el Makefile no lo va a tener muy claro, porque con eso configura que micro usa y los Fuses ;-)
Saludos

Probaré con el Fuse Calculator, gracias.

El WinAVR lo conocía de vista. Me pareció bastante interesante, pero no lo investigué más porque ya no tiene soporte.
De todas formas probaré con ese entorno para intentar que el led parpadee.

Saludos.
Título: Re: Programar ATtiny88
Publicado por: Belgitaes en 18 de Noviembre de 2014, 12:34:42
Código: [Seleccionar]
He conseguido compilar un programa que hace parpadear un led,
con el compilador GNU para AVRs (avr-gnu-toolchain)
El problema viene al intentar cargar el archivo *.hex en el micro
Estoy utilizando el programa avrdude

Tengo Entendido Que el compilador GNU para AVRs Compila Los Archivos En .Hex
No Lo Sé Nunca Lo Utilizé Siempre E Compilado Con El AvrStudio
El Caso Es Que Me Acuerdo De Cuando Queria Gravar Un Archivo Compilado Con El WinAVR-20081205\bin
Que Es El Que Utilizaba Tenia Que Ser Siempre A Traves De Commandos MSDOS
Y El Formato De Archivo Tenia Que Ser En Formato .Bin
Y Para Ello Utilizaba Un Programa (hex2bin) Que Te Convierte Tus Ficheros .hex En .Bin
Título: Re: Programar ATtiny88
Publicado por: Belgitaes en 18 de Noviembre de 2014, 16:46:26
Hay Otro Problema Mas Con El WinAVR-20081205
Por Lo Menos Con Esta Version Que Es La Que Utilizé
No Admite El Attiny88
Tendras Que Combrobar Si Con La Version Que Te Has Bajado Reconoce Este Micro
Esto Lo Podras Comprobar Mandandole Tal Cual Este Commando

"avrdude" -p m8 -c sp12 -P lpt1 -p flash:r
 
Con Este Mismo Commando En Msdos Te Saldran Todos Los Chips
Valid part are:
Que Podras Gravar A Traves El WinAVR De Esta Version

Te Subo Una Image De La Captura De Los Chips Que Amite La Version WinAVR-20081205
Título: Re: Programar ATtiny88
Publicado por: Picuino en 18 de Noviembre de 2014, 19:09:15
Yo utilizo avrdude desde línea de comandos, no con el WinAVR.
El Attiny88 tiene el código t88

El programa más actual lo bajé de aquí: http://download.savannah.gnu.org/releases/avrdude

Saludos.
Título: Re: Programar ATtiny88
Publicado por: Belgitaes en 19 de Noviembre de 2014, 03:29:15
Si Claro A Traves De Comandos Igualito Que Yo Lo Hacia
Es Que el WinAVR Es Una Suite De Varios Programas En Uno
En El Cual Esta Incluido El AvrDude
De Hecho Los Comandos En Msdos Los Mando A Traves El Avrdude

The AVR software development programs.
This directory should be in your PATH environment variable.
This includes:

•GNU Binutils

•GCC

•avrdude

•GNU Debugger (GDB)

•Insight

•AVaRICE

•SimulAVR

•SRecord

•Various required DLLs

3.6 Programming After creating your software, you'll want to program your device.
You can do this by using the program avrdude which can interface with various hardware devices to program your processor.