# Cómo recuperar los fuses de ATmega



## Edwar09 (Feb 22, 2014)

Hola, tengo el programador usbasp y queria actualizarle el firmware porque no funcionaba bien, pero no me dejaba cargarle el nuevo programa y leyendo los fuses me dicen hfuse=ff   lfuse=ff , y entonces con un programa interprete de fuses dice que tengo  el spi y todo deshabilitado por eso no carga el nuevo programa :S. Alguien sabe como arreglarlo preferentemente via software que es mas economico. Gracias. ...


----------



## cosmefulanito04 (Feb 22, 2014)

¿Te lee los fuse? o ¿directamente te tira error 24... y después lees basura?


----------



## Edwar09 (Feb 22, 2014)

Creo que solo estoy leyendo basura. Estoy usando el avrdude y un arduino mega 2560 r3 como programador, con ellos le intento cargar el nuevo firmware a mi usbasp que usa un atmega8a, pero me tira este error al querer leer o escribir.


```
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.06s

avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes!  Invalid device signature.
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.
```


Y si le agrego esa opcion de -F es cuando si me lee los fuses, pero como comentas es basura. Ademas usando esa misma opcion -F y escribiendo la flash me marca esto:


```
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude.exe: reading input file "C:\Users\Hugo\Documents\Programas\USBAsp\USBasp Firmware r38 12Mhz.hex"
avrdude.exe: input file C:\Users\Hugo\Documents\Programas\USBAsp\USBasp Firmware r38 12Mhz.hex auto detected as Intel Hex
avrdude.exe: writing flash (4520 bytes):

Writing | ################################################## | 100% 7.54s

avrdude.exe: 4520 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\Hugo\Documents\Programas\USBAsp\USBasp Firmware r38 12Mhz.hex:
avrdude.exe: load data flash data from input file C:\Users\Hugo\Documents\Programas\USBAsp\USBasp Firmware r38 12Mhz.hex:
avrdude.exe: input file C:\Users\Hugo\Documents\Programas\USBAsp\USBasp Firmware r38 12Mhz.hex auto detected as Intel Hex
avrdude.exe: input file C:\Users\Hugo\Documents\Programas\USBAsp\USBasp Firmware r38 12Mhz.hex contains 4520 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 5.03s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x47 != 0xff
avrdude.exe: verification error; content mismatch

avrdude.exe done.  Thank you.
```

La razon por la que queria actualizar el usbasp es porque al querer grabar un micro me marcaba este error.


```
avrdude: warning: cannot set sck period. please check for usbasp firmware update
```

Ya revise las conexiones y si estan bien, incluso puse el jumper que trae el usbasp para poder actualizarse


----------



## cosmefulanito04 (Feb 22, 2014)

Lamentablemente estás complicado, anteriormente grabaste mal los fuse y ahora el uC no responde, te lo digo por experiencia.

Habría que ver que fuse tocaste, tal vez solo modificaste la configuración del oscilador y con un cristal los salvás.

Te quedan 2 alternativas:

1- Fabricarte o conseguir un programador de alto voltaje (High Voltage Parallel Programming), acá en el foro tenés información.
2- Tirarlo a la basura.

Te dejo información sobre 1:







Y la configuración para todos los distintos sockets:






http://elm-chan.org/works/avrx/report_e.html


----------



## Edwar09 (Feb 22, 2014)

Ok, probare eso del programador aver si se soluciona, y no le modifique ningun fuse :S asi me lo vendieron haha es nuevo :/


----------



## chococoandres (Feb 22, 2014)

mmm, yo tuve un problema similar y tiene razon cosme, conseguite un programador High voltaje, ya que parece que se inutilizo la grabacion por SPI


----------



## cosmefulanito04 (Feb 23, 2014)

Edwar09 dijo:


> Ok, probare eso del programador aver si se soluciona, y no le modifique ningun fuse :S asi me lo vendieron haha es nuevo :/



¿Llegaste a leerlo/programarlo al menos una vez?


----------



## locodelafonola (Feb 23, 2014)

hola gente..como esta amigaso cosmefulanito04....bueno he tenido mucho trabajo.....y no he tenido tiempo de seguir mis proyectos....y a raiz de que me mande la "macana" de programar mal el atmega8515.... decidi armar el fusebit doctor....... sobre todo porque va a ser una herramienta muy util para mi ........espero ´poder tener tiempo de terminarlo.... eso si voy a nesesitar su consejo amigo cosme....... porque sigue el dilema...."de la gallina y el huevo "...jajajajajajajajaja...hay que programar un atmega8..... que es el "DOCTOR" ....que es para arreglar los demas....aparte de eso se rompio mi compu..y ando con una prestada....aca dejo imagen del fusebit que estoy armando....cuando termine subo los archivos y el.HEX para el doctor


----------



## cosmefulanito04 (Feb 23, 2014)

Podrías subir el esquemático. se vé más simple que el otro que subí, a pesar de necesitar un atmega8, parece más práctico que andar usando el puerto paralelo.


----------



## locodelafonola (Feb 23, 2014)

bueno aca subo los esquematicos..........y aclaro que no hace falta conectar la compu para que trabaje........aunque si tiene terminal para RS232.......en d.o.s.........y yo estoy fabricando la placa base y el adaptador para los 8515 nada mas............. pero tiene una lista de 145 microprosesadores para reparar.................... en todos los encapsulados............ que una vez que lo termine ire fabricando los demas adaptadores................  asi queda en el foro........aca subo los esquemas de la placa base y de dos placas adaptadoras nada mas ...    cualquier duda que tengan pregunten  ..juan


----------



## R-Mario (Feb 24, 2014)

Edwar09 dijo:


> Ok, probare eso del programador aver si se soluciona, y no le modifique ningun fuse :S asi me lo vendieron haha es nuevo :/



No me digas que fuiste victima de AG

Si te vas a meter a esto de los AVR ve armando un reseteador de fuses, porque muy a menudo lo vas a necesitar, por ahi andan unos en la red basados en el attiny2313 y otro mas completo sobre el atmega8


----------



## Edwar09 (Feb 24, 2014)

cosmefulanito04 dijo:


> ¿Llegaste a leerlo/programarlo al menos una vez?



No no pude hacerlo ninguna vez.




Ajna dijo:


> No me digas que fuiste victima de AG
> 
> Si te vas a meter a esto de los AVR ve armando un reseteador de fuses, porque muy a menudo lo vas a necesitar, por ahi andan unos en la red basados en el attiny2313 y otro mas completo sobre el atmega8



Haha lo compre en Mercado Libre, si ya estoy pensando en eso de armarme el reseteador solo que consiga alguno de esos micros y un circuito lo mas pequeño posible porque por ejemplo el de locodelafonola es muy grande ,porque me da flojera hacer las pcbs.


¿Tendra algo que ver que mi usbasp usa un atmega8a y al momento de intentar leerlo le indico que es una atmega8?. porque no aparece el atmega 8a en la lista de micros y solo el 8. pero viendo los pines es lo mismo.


Ademas como el micro es smd se me hace difícil porque no le puedo meter mi cautin :S jeje.
Buscando encontré este circuito programador por puerto paralelo mas reducido que el de vos cosme pero funcionara?? porque como dije es smd y solo puedo usar el miso mosi vcc gnd sck y reset.


----------



## locodelafonola (Feb 24, 2014)

hola amigo...... bueno la verdad que por lo poquito que se.........ese esquema que mostras.......no te va a funcionar por que no tiene o maneja el voltaje alto.......... o sea los 12v............ lo que dice anja es cierto......... hay varios en la red pero este que estoy armando es el unico que se que esta probado..... y funciona..... por un monton de gente....( en polonia se usa muchisimo el AVR )...  (al menos los montajes de ellos si me funcionan son muy buena gente ) y como dato les aclaro que los . HEX para el "doctor"......... pueden usar distintos micros y son los sigientes :......  Atmega8 .... Atmega88 ...Atmega88P ... Atmega168 ... Atmega168P  y Atmega328,328P........en cuanto a resetear tu micro atmega 8a..... esta este adaptador sin soldaduras pero con mucho ingenio ........ o sea que no te queda mas que armar esto...     bueno yo te explico...... que donde yo vivo...... no se consigue la placa base doble faz..... entonses estoy armando los diseños en simple faz yo voy a subir los .PDF listo para planchar ...juan


----------



## cosmefulanito04 (Feb 24, 2014)

Edwar09 dijo:


> No no pude hacerlo ninguna vez.



Si no llegaste a programarlo nunca, estás teniendo problemas con el programador (el problema es que usas el avrdude, tal vez lo porgramaste sin darte cuenta).




Edwar09 dijo:


> Ademas como el micro es smd se me hace difícil porque no le puedo meter mi cautin :S jeje.



Ahora que decís que es SMD, tal vez no lo soldaste bien, o lo pudiste quemar por exceso de ºT.

Verificá que los pines de programación más importantes conduzcan y no tengan corto con ningún otro pin.



Edwar09 dijo:


> Buscando encontré este circuito programador por puerto paralelo mas reducido que el de vos cosme pero funcionara?? porque como dije es smd y solo puedo usar el miso mosi vcc gnd sck y reset.



Para resetear los fuses, no, la programación debe tener 12v en Reset para borrar la EEPROM y ser paralela (salvo que justo el fuse SPIEN esté habilitado). 

Por lo que decís, me juego a que el uC no está bien soldado, ¿usaste flux?


----------



## Edwar09 (Feb 24, 2014)

locodelafonola dijo:


> hola amigo...... bueno la verdad que por lo poquito que se.........ese esquema que mostras.......no te va a funcionar



 ok mejor esperare a que usted nos comparta su fusebitdoctor,
primero pense que era complicado su diseño porque usaba varios micros, pero ahora veo que solo usa el atmega8



cosmefulanito04 dijo:


> Ahora que decís que es SMD, tal vez no lo soldaste bien, o lo pudiste quemar por exceso de ºT.
> Por lo que decís, me juego a que el uC no está bien soldado, ¿usaste flux?



No use flux, pero revisare las conexiones.


----------



## cevollin (Sep 20, 2016)

hola que tal como están. les cuento mi problema   decidí a cambiarme de los tan famosos PIC a los atmega por su versatilidad velocidad y precio etc. 

el problema es apenas inicie y ya desconfigure los fuses de  2 atmega328p  mi proyecto debe funciona a 20Mhz con crystal externo pero no lo hace.  entonces a modo de prueba  decidí a hacer un programa sencillo el cual consistía en hacer que unos leds parpadearan en el puerto C dicho esto arme un programador de puerto serial para ser mas precisos este http://4.bp.blogspot.com/-D6moWZt1weI/TbrEErRrYLI/AAAAAAAAAFI/nNIo9nRmKts/s1600/Schematic.png 

e utilizando el avr8 burn o mate (que es una interface gráfica del avrdude) puse manos a la obra y programe los atmega al principio (atmega recién comprados) el programa leia detectaba y grababa los chips sin problemas, hasta que se me ocurrió grabarle la configuración de los fuses   para ser mas precisos.

*cksel=0111* (Full Swing Crystal Oscillator) 
*divfreq/8=0* (desactive el divisor de frecuencia entre 8)
*sut1..0= 10* (Crystal Oscillator, fast rising power)

los fuses que no toque 
rdsit (que es el correspondiente a la programación serial por SPI) y el de reset 

al grabar el programa de prueba con éxito proseguí a conectar el crytal de 20Mhz. pero no funciono los leds se quedaban encendidos cambie el crystal de 20Mhz por uno de 4Mhz y el los led parpadeaban bien lo que me dice que los atmega no están dañados pero cual fue mi sorpresa que al querer grabarlo de nuevo la computadora ya no podía reconocerlo
y pense que a lo mejor la comunicación entre la el puerto serie de la PC y el atmega no están sincronizadas asi que lei por la red y dan 2 posibles soluciones que es programarlos con el stk500 o avr dragon pero aquí donde vivo es prácticamente imposible conseguirlos a duras penas conseguí los atmega328p 

la otra solución que lei según es armar un oscilador con un ne555 a 2 Mhz aproxx. y conectarlo al pin de xtal1 y programar los fuses de nuevo.
ya intente esto y no funciono lo curioso es que la programación del atmega si funciona con el 555 como clock los leds parpadean bien 

alguien que sepa mas sobre estos micros podría darme otra posible solución     ...


----------



## locodelafonola (Sep 20, 2016)

hola 





			
				cevollin dijo:
			
		

> hola que tal como están. les cuento mi problema   decidí a cambiarme de los tan famosos PIC a los atmega por su versatilidad velocidad y precio etc.
> 
> el problema es apenas inicie y ya desconfigure los fuses de  2 atmega328p  mi proyecto debe funciona a 20Mhz con crystal externo pero no lo hace.  entonces a modo de prueba  decidí a hacer un programa sencillo el cual consistía en hacer que unos leds parpadearan en el puerto C dicho esto arme un programador de puerto serial para ser mas precisos este http://4.bp.blogspot.com/-D6moWZt1weI/TbrEErRrYLI/AAAAAAAAAFI/nNIo9nRmKts/s1600/Schematic.png
> 
> ...


 bueno yo me arme el fusebit doctor ., que es justamente para estos casos​ Ver el archivo adjunto 148613 como veras la placa es bastante dificil ., (esta comparada con un encendedor)​ el metodo que use es el papel de calco ., desechado e impresora laser ., luego la plancha​ tiene varios adptadores ., para casi todos los micros atmel ( cerca de 150)​ Ver el archivo adjunto 148614 
como veras .,  yo re-diseñe la mia incluso los adaptadores  ., pero funciona perfecto​ te tengo que aclarar ., que si bien los reconfigura a original ., no revive micros "muertos" (quemados)​ aunque la confucion esta ., en como se presenta el defecto ( los mismos sintomas que el bloqueado)​aca te subo el .RAR con mas info ., y la pagina del diseñador original​ http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en cualquier duda que tengas y pueda ayudarte ., ando por aca .... suerte​


----------



## cevollin (Oct 14, 2016)

al fin pude resolver mi problemilla déjenme les cuento como lo resolví para la posteridad 

*primero* realize el programador en un PCB para descartar falsos contactos en el proto  

y por fin pude leer y escribir en la memoria flash del micro
pero no podía escribir los fuses  me tiraba este error

avrdude.exe: verification error, first mismatch at byte 0x0000 0xff != 0x07

*lo segundo* que hice fue activar el brown out detection al igual que el relog interno a 8Mhz  y div/8

al hacer esto me permitió grabar la nueva configuración de los fuses


----------



## COSMICO (Feb 23, 2017)

Hola amigos.
Quiero comenzar a trabajar con los Atmega, he comprado el programador 
Avr Atmel de USB- ASP M70-AVR-UA.
En el momento he simulado pequeños programas usando AVR studio, y BASCOM AVR.
Quiero usar el progisp, para programar los micros, y necesito saber mas sobre los fusibles de protección, por el momento del ATtiny85, que también he comprado por ahora para mis practicas.

El lock chip, que aparece en el PROGISP, es acaso el que escribe los bits de protección de código para este micro. Estoy aprendiendo y por eso mi pregunta.


----------



## D@rkbytes (Feb 23, 2017)

Aprovechando el tema y siendo que ahora AVR es de Microchip, muestro el siguiente vídeo que se me notificó ayer.





A mi también se me complica mucho la forma de trabajar con el IDE y espero que Microchip lo mejore.
Ya somos varios los  que hemos realizado la petición de mejorar el entorno, así que a esperar.


----------



## Hellmut1956 (Feb 24, 2017)

@COSMICO: Hay muchos caminos que llevan a Roma, pero a 2 de ellos los considero de alto valor:

ARDUINO: Las placas Arduino con controladores AVR realmente no son mas que placas que facilitan el acceso a los pines en sus conectores hembra. La gran ventaja es el entorno de desarrollo ARDUINO IDE y el programita preinstalado en el flash del avr. Si veo que placas ARDUINO UNO clones se consiguen de la China, ver ebay, por mucho menos de 5 Euros incluyendo el flete. Si no mal recuerdo el mio lo compré por solo 3,60 USDs y es de excelente calidad.

BASCOM: Bascom es un compilador del lenguaje Basic pero con una inmensa librería de funciones que usamos en la electrónica o el modelismo y son accesibles facilmente pues están disponibles como funciones del compilador.  Con la versión gratuita ya se pueden hacer las cosas deseadas. Yo me compré una licencia y desde entonces puedo actualizarla sin costo adicional y eso desde mas de 10 años.

Eso sí, requieres de un programadoy y hay un gran número de estos que se pueden utilizar directamente desde la IDE de Bascom. Pero eso sí, hay que saber lo que se hace con los fuses.

Quizá te pueda ayudar un curso que publiqué hace ya bastantes años en un foro de modelismo naval con la intención de capacitar modelistas navales a la electrónica. Mi objetivo era ayudar a modelistas navales a aprender como hacer una placa partiendo de un esquema electrónico, perdiendo así el miedo a la electrónica. Yo sigo convencido que es posible con unos pocos módulos de aprender un esquema que permite realizar funciones propias partiendo al tipo "Lego"! Como lo importante es dar a principiantes experiencias de éxito que les ayuden a mantener y desarrollar la fascinación por la electrónica el curso trabaja pasito por pasito, empezando por ejemplo construyendose un programador que funciona con la interfaz paralela que entonces existía en todos los PCs. Pero hoy existen instruciones en el internet para construirse su propio grabador que se conecta a la interfaz USB. Pero este tipo de programadores se consigue por muy poco dinero.

Mi curso está dividido en 2 hilos!

Tarjeta Experimental - Software

Tarjeta Experimental - Hardware

Desafortunadamente muchos modelistas navales y otros interesados en electrónica y su programación prefieren comprar placas-

Pero desde que existen las placas ARDUINO y las ofertas ultra económicas de clones de la China las placas ARDUINO hacen dificil justificar el hacer placas propias para el controlador.

Aquí algunos enlaces a sitios en Español:

http://www.todopic.com.ar/foros/index.php?topic=1164.0
http://www.unrobotica.com/manuales/Turorial_AVR.pdf


----------



## locodelafonola (Feb 24, 2017)

Hola





D@rkbytes dijo:


> Aprovechando el tema y siendo que ahora AVR es de Microchip, muestro el siguiente vídeo que se me notificó ayer.
> https://youtu.be/YG5QypvlMLQ
> 
> A mi también se me complica mucho la forma de trabajar con el IDE y espero que Microchip lo mejore.
> Ya somos varios los  que hemos realizado la petición de mejorar el entorno, así que a esperar.


 Bueno ., no se de que manera te podria ayudar en esto  (me gustaria mucho  ., por las tantas veces que me ayudaste a mi)​ Yo te recomendaria que usaras el IDE oficial y gratuito  AVRstudio 7  (que incluso y siempre lo digo) ., tiene el IDE de arduino integrado​ Puede programar tanto en C como en ASM ., (si gente con el mismo IDE) y se le agrego arduino ( si... si.... todo con un solo IDE )​ Yo no puedo usar esa vercion de IDE ., porque mi compu no lo soporta ( 256 de ram)     ​ Ahora ., claro que las diferencian a la hora de programar ., son diferentes .,  pero porque los micros son diferentes (arquitecturas )​ Y desde ya te digo .,  no creo que cambien el IDE ., porque tendrian que cambiar los micros ., y eso lo veo muy dificil​ Yo uso una vercion de IDE vieja ., pero me funciona muy bien  (4.13) ., mi maquina lo acepta sin problemas​ Si me explicas mas o menos ., cual o que ., es en  lo que te trae problemas ., yo te podria guiar ., como asi cosmefulanito04 ., que la tiene muy clara con los AVR ( y entiende de PIC)​ Con respecto al programador ., uso el SI-PROG con el PONYPROG ., porque al programador ., no lo acepta el ide (vendria siendo el STK200)​ Yo te aseguro que con el conocimiento que tenes de C ., salis andado "rapidisimo" ., solo que hay algunas cosa que se manejan distintinto ., pero el resultado es igual​


----------



## COSMICO (Mar 2, 2017)

Hola amigos gracias por sus respuestas.

Ya tengo este programador de la imagen y quiero usarlo.
Otra duda que tengo.
Es cierto que si programo un micro AVR con reloj interno, y después quiero cambiar el programa 
y usar un cristal externo, por ejemplo de 20MHZ, debo conectar el cristal que quiera usar al los respectivos pines del micro
para poder reprogramarlo.
Tengo muchas dudas pero poco a poco ir saliendo de ellas.
Ademas veo, que el BASCOM AVR, soporta el programador que tengo.
Ya compre un Atmega328p y no quiero diñarlo, aunque se me hace un tanto liado, lo de cargarles el código.


----------



## locodelafonola (Mar 2, 2017)

Hola





COSMICO dijo:


> Hola amigos gracias por sus respuestas.
> 
> Ya tengo este programador de la imagen y quiero usarlo.
> Otra duda que tengo.
> ...


bueno ., si podes hacer eso siempre y cuando manejes correctamente ., la programacion de fuses​ Se puede volver al estado original y vice-versa ., cuantas veces quieras​ No entiendo por que queres empezar con bascon ., yo te recomendaria que uses el AVRstudio (C y ASM en el mismo y mezcla de los dos + arduino) ., y te inscribas en AVRFREAKS (foro oficial del faricante)​ Y dos cosa a tener en cuenta ., una .... siempre pero siempre .... se usa cristal externo ., si haces uso de la USART ., dos ..... la frecuencia maxima admisible de cristal externo ., es 16Mhz ., No 20Mhz​ Habri una consulta sobre como configurar los fuses y el porque ., tome dos atmegas de referencia ., 328p y 128A​ Mas que todo ., para que alguien me enseñe correctamente ., (porque aprendi solo) ., y talvez no ., de la manera correcta​ Puede ser que tengas alguna consulta  al que responda​https://www.forosdeelectronica.com/f24/configurar-fuses-avr-21007-new/


----------



## COSMICO (Mar 2, 2017)

Hola mi amigo.
Pues la verdad, la programación en Avr studio, Bascom, eclipse, o alguno de tantos, no me es relevante, para lo que quiero, pues todos son compiladores y los he probado.
Es mas, pienso usar PROGISP para cargar el .HEX al micro. Es fácil de usar, pero me apoyaré como lo hago con los pics de microchip, en la hoja de datos para trabajarlos, veo que hay mucho comentario errado, como que se dañan los micros por programar mal los fusibles, y en fin.
Bueno pero no sobra la ayuda, seguiré trabajando, y probando compiladores varios.
Aver si estos que al igual los de micro chip, presentan bugs, en su estructura de código.
Cualquier comentario seria bien recibido.


----------



## locodelafonola (Mar 2, 2017)

Hola





COSMICO dijo:


> Hola mi amigo.
> Pues la verdad, la programación en Avr studio, Bascom, eclipse, o alguno de tantos, no me es relevante, para lo que quiero, pues todos son compiladores y los he probado.
> Es mas, pienso usar PROGISP para cargar el .HEX al micro. Es fácil de usar, pero me apoyaré como lo hago con los pics de microchip, en la hoja de datos para trabajarlos, veo que hay mucho comentario errado, como que se dañan los micros por programar mal los fusibles, y en fin.
> Bueno pero no sobra la ayuda, seguiré trabajando, y probando compiladores varios.
> ...


Bueno alli esta tu primer error ., los avr tiene apoyo de fabrica gratuito y libre (sin costo)., cuando son pagos ., la ayuda o soluciones son proporcional ., a lo que pagues (fracaso de microchip con sus compiladores al cobrarlos)​ Ahora las librerias mayoritarias y de uso libre son la de AVRGCC ., los demas compiladores no llegan ni ala mitad ., y no por que sean malos., sino porque al final llegan a lo mismo que el oficial​ Lo otro importante .,las instrucciones de la hoja de datos ., estan en ASM y C ., pero el unico compilador que tiene todas las instrucciones completas es el AVRstudio (pueden ir de 130 a 150 mas o menos dependiendo del chip​ Y si configuras mas los fuces si se daña ¿¿¿ quien te dijo que no ??? ., a veces se bloquea ., pero otras veces (de acuerdo a como se conecte y que pin se conecte se queman)Olvidate de como se programan los pic ., aca es distinto .,el AVRstudio tenes todo ., incluso Herramientas que no sabras usar (decompilador por ejemplo) ., o "tracear" con F11., como correria el programa dentro del chip ., ETC​ La forma de grabacion de un AVR ., es distinta a los pic ., el .HEX se graba por un lado ., y los FUSEBIT  por el otro​ Te recomiendo que para la grabacion uses el grabador integrado del AVRstudio ., (que acepta el USBASP)​ Con respecto a los BUGs ., el unico compilador que vi con apoyo realmente serio es el AVRstudio ., en AVRfreaks ., tiene un hilo dedicado a eso directamente ., con gente de fabrica para atenderlo ( ven si realmente es un BUG o un problema del que programa)​ Lo que yo veo ., es que estas con la actitud del que viene de los pic ., y esto es totalmente distinto ., te va a costar adaptarte​


----------



## COSMICO (Mar 2, 2017)

Claro que si, locodelatelefonía.
Pero bueno, ya programe mi atmega328p, con el progisp. Reloj interno, y todo va bien, modifique el código, borre el chip. Y volvi a programar, y anda muy bien, creo que todo se trata de documentarse bien, como con cualquier tema.
Gracias por los aportes


----------



## locodelafonola (Mar 2, 2017)

Hola





COSMICO dijo:


> Claro que si, locodelatelefonía.
> Pero bueno, ya programe mi atmega328p, con el progisp. Reloj interno, y todo va bien, modifique el código, borre el chip. Y volvi a programar, y anda muy bien, creo que todo se trata de documentarse bien, como con cualquier tema.
> Gracias por los aportes


Claro amigo asi se hace​ A menos que tus compilaciones (por lo tanto el .HEX generado) ., no nesesiten otra configuracion de fuces ., no hace falta grabarlos de nuevo​ Como te dije antes se graba solo el .HEX generado​ Suerte con eso


----------



## cornamusa (Abr 25, 2022)

Buenos dias, no se como publicar un problema que tengo y lo unico que he encontrado ha sido contestar en este hilo, cosa que seguramente es incorrecta. Ante todo , mis disculpas.
Mi problema es que al intentar grabar el Bootloader en un ATmega8 me da un error parecido a:

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATmega8 is 1E 93 07
avrdude.exe: reading input file "0x00"
avrdude.exe: writing lfuse (1 bytes):

Mi pregunta es: Se puede reescribir la Device Signature?, en caso afirmativo: Como?

Gracias por adelantado y disculpen las molestias de nuevo.
Saludos


----------



## DJ T3 (Abr 25, 2022)

Puedes leer acá; avrdude: Device signature = 0x000000


----------



## cornamusa (Abr 25, 2022)

Gracias por la respuesta. He leído los comentarios indicados , pero no he encontrado la solución ya que no especifican como grabar, si es que se puede, la Device Signature que le correspondería a un ATmega8. Como da error en el primer paso, lo demás lo ignora.


----------



## D@rkbytes (Abr 25, 2022)

Usa un programador paralelo de alto voltaje.
Seguramente algo se modificó en los fuses y por ISP ya no podrá ser leído correctamente.


----------



## cornamusa (Abr 25, 2022)

Ok,  Empezare a investigar por ese lado. Soy nuevo en esto y me suena todo a CHINO
Muchas gracias.


----------



## DJ T3 (Abr 25, 2022)

Pero ya realizaste todos los pasos del post del foro de Arduino?

Mira que tuvieron varias cosas que hacer por lo que leí (muy por arriba), antes de andar tocando esa parte...


----------



## cornamusa (Abr 26, 2022)

Buenos dias, como ya dije en el primer post, detecte el fallo al intentar cargar el BOOTLOADER desde Arduino y siempre me daba error, el mismo error de Device Signature. En el mismo circuito, he grabado otros chips, tanto ATmega8 como ATmega328, y funciona perfectamente, grabadando el BOOTLOADER correctamente y despues los chips se pueden programar sin problemas, todos menos uno, que da error
Despues, leyendo sobre el tema, encontre un post que explicaba como reescribir los FUSES con la aplicacion AVRDUDESS, me puse manos a la obra y no consegui nada porque al dar el error en lo primero que comprueba, que es la Signature, aunque el proceso termina no se si lo que lee es correcto o es basura y no se si ecribe o no, al final sale FAILED.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
>>>: avrdude -u -c arduino -p m8 -P COM4 -b 19200 -F -U lfuse:w:0xE2:m -U hfuse:w:0xdf:m

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATmega8 is 1E 93 07
avrdude.exe: reading input file "0xE2"
avrdude.exe: writing lfuse (1 bytes):

Writing |  ***failed;
################################################## | 100% 0.12s

avrdude.exe: 1 bytes of lfuse written
avrdude.exe: verifying lfuse memory against 0xE2:
avrdude.exe: load data lfuse data from input file 0xE2:
avrdude.exe: input file 0xE2 contains 1 bytes
avrdude.exe: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.02s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x00 != 0xe2
avrdude.exe: verification error; content mismatch

avrdude.exe done.  Thank you.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~


 Y ahi estoy, en ese bucle en el que haga lo que haga salta el error. Por eso mi pregunta de si se puede "regrabar" la Signature para que coincida con la que deberia tener el chip y deje pasar a reescribir los FUSES.
En fin, gracias por la respuesta.


----------



## cornamusa (Abr 27, 2022)

Buenas tardes, he visto que hay programadores HV serie y programadores HV paralelo, Para este problema del error de la Signature se pueden usar cualquiera de los dos o tiene que ser exclusivamente el progrmador HV paralelo?


----------



## D@rkbytes (Abr 27, 2022)

Usa el modo paralelo de alto voltaje para que tengas acceso total.
De primera instancia te recomiendo que armes un recuperador de fuses.


----------



## cornamusa (Abr 29, 2022)

ok, gracias, intentare montar uno que he visto. Ya contare la experiencia


----------



## cornamusa (May 13, 2022)

Buenas tardes, en mi ultimo msg dije que contaria la experiencia, pues bien aqui va:
De diversos circuitos de HVPP que he visto (muy parecidos casi todos) me decidi a montar el de la pagina
mightyohm.com. Posteriormente descarge e hice el procedimiento que sugiere el autor aun a riesgo del fracaso ya que en el sketch para arduino vienen los valores para los ATmega48/88/168. haciendo pruebas he bloqueado otros tres IC,s pero al final ( y no se como) en una de las combinaciones de los FUSES, todo empezo a funcionar y he podido recuperar los cuatro. No ha sido por el dinero que puedan costar (unos 5 euros el lote de 5 piezas) sino mas bien por amor propio.
La configuracion que he usado ha sido: LFUSE  0xFF  y  HFUSE  0 x D9.
No se si es la correcta ya que estas cosas se escapan a mis conocimientos, pero ha funcionado.
Solo me queda agradecer vuestros comentarios y sugerencias y ponerme a vuestra disposicion, aunque tengo muy poco que aportar.
Muchas gracias


----------



## DJ T3 (May 13, 2022)

Pagina 299 en adelante, ahi estan los fuses y esas cosas.
Miré e interpreté por arriba, pero basicamente reiniciaste de fabrica los valores...


----------



## cornamusa (May 14, 2022)

Muchas gracias, durante el proceso ya di un vistazo a ese documento y no saque mucho en claro, como ya dije, no tengo conocimientos para interpretar esa informacion. Gracias de nuevo


----------



## D@rkbytes (May 27, 2022)

cornamusa dijo:


> La configuración que he usado ha sido:
> 
> ```
> LFUSE 0xFF y HFUSE 0xD9
> ...


Ante esas dudas suelo ver el archivo "boards.txt" de Arduino.
Ahí vienen especificados los fuses.
Por ejemplo, para el ATmega8:

```
atmegang.menu.cpu.atmega8.bootloader.low_fuses=0xDF
atmegang.menu.cpu.atmega8.bootloader.high_fuses=0xCA
```
Esos son los fuses predeterminados para X tarjeta, y suelen ser para usar un cristal de 16 MHz.
Si con el clásico ejemplo "Blink" los tiempos no van, me voy a AVR fuse calculator y de ahí los saco conforme al oscilador a emplear.


----------



## cornamusa (May 27, 2022)

Muchas gracias. Lo tendre en cuenta para cuando me "cargue" otra vez un IC, que seguramente lo hare. Gracias


----------

