Outils pour utilisateurs

Outils du site


correctbadfuses

ouf enfin depuis 4 jours j'essayai de sauver mon atmega128 bloqué.

pour ceux qui ont le meme probleme ca peut servir:

j'ai une carte de developpement pour atmega128 16 MHz soudé directement.

la solution etait de mettre un quartz de 4MHz en parallele derriere le circuit imprimé la ou se trouve celui de la carte, tout en le maintenant avec mon avrisp mkii j'ai pu lire la signature et programmer les fuses avec l'oscillator interne de la carte.


Fortunately I managed to salvage both of them without a jtag/parallel programmer! Smile

Reading the datasheet carefully really pays off. The trick for the first atmega16 was to connect an 100k resistor to xtal1 and ground, reset (or power on) and quickly write the correct fuses (I did this with the resistor on my fingers).

Now for all those that 'bricked' their avrs due to a fault fuse set up. To my understanding you have 3 options:

    1. Connect an external crystal to xtal1, xtal0. It worked for me on the second bricked atmega even without any capacitors.
    2. Drive a clock signal to xtal1 through another working avr (by just turning on/off a led).
    3. Connect an external RC oscillator to xtal1. In case you've programmed the CKOPT fuse then you only need a resistor of a value 3k-100k Ohms, else you will need to connect a capacitor of at least 22pf. The frequency from the RC oscillator is given from f = 1/(3RC).

I am not sure if there are more fuse bits that can brick your avr, but these should cover all clock related fuse bits.

I guess that a quick way to brick it will be to disable both jtagen and spien fuses. That way you won't be able to reprogram the unit through serial or jtag programming (only option might be the parallel programmer). While ponyprog won't let you disable spien fuse, it may be possible to overwrite this with avrdude.

correctbadfuses.txt · Dernière modification : 19/08/2015 22:42 de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki