24 juin 2008:
Mon expérience des ATmega augmentant au fil du temps, je commence
à mieux cerner les causes de blocage. Le meilleur moyen de se retrouver avec un
ATmega32 sourd à toute tentative de programmation, (de la Flash,
et des fuses) quel que soit le programmateur en
mode série utilisé c'est de tenter (alors qu'il est encore en parfaite
santé) de le programmer en oubliant de l'alimenter. (On connecte le programmateurICSP sur le uC en circuit et on envoie le programme en oubliant
d'alimenter la carte hôte...) Ca m'est arrivé plusieurs fois, et à
chaque fois ça n'a pas raté, j'ai obtenu 'device not present' puis plus
moyen de le faire reconnaître sauf sorti de sa carte et en lui ajoutant
une horloge externe comme expliqué plus haut. Sauf que... il peut
arriver (il vient de m'arriver) que cela ne suffise pas: il semblerait
que l'étourderie du manque d'alimentation entraîne une programmation
partielle et aléatoire qui touche également les 'fuses'.
En principe le fusible 'SIEN' (permettant la programmation en mode série )
ne peut pas être (dé)programmé en mode série, oui mais avec un uC non
alimenté on y arrive apparemment. (à moins que ce ne soit un des
nombreux fuses d'interdiction en écriture de telle ou telle partie,
présents sur le ATmega32. Mais dans ce cas la fonction d'effacement
général devrait encore être active, ce qui n'est pas le cas).
Dans ce cas que faire? le jeter? En fait je pense que l'ATmega n'est pas
mort, et donc en théorie il est toujours programmable et effaçable avec
un programmateur en mode parallèle. Je ne peux pas le confirmer pour
l'instant parce que je n'ai pas trouvé de schéma de programmateur //
(après avoir cherché des heures durant, tout le monde, moi compris
y va de sont petit programmateur série, mais le mode parallèle personne
n'en parle).
Le datasheet de l'ATmega32 décrivant les algorithmes de programmation //, il me reste plus qu'à en concevoir un (avec un ATmega8 par exemple) !
Je vous tiens au courant.
Par la suite je maintiens que la programmation USB est bien plus
pratique.
Avec le soft AVR8-Burn-O-Mat,
la programmation des fuses est rendue très simple.
Pour en savoir plus à propos des "fuses" voir également ces pages:
Voilà de quoi obtenir rapidement un environnement de travail
totalement fonctionnel.
J'ai testé le programmateur et tous ces logiciels
(sous
Windows) et j'ai pu programmer de nombreux ATMEGA8 avec
succès.
14 novembre 2010:
"Guillaume" me fait, par e-mail, une remarque que je recopie ici:
Vous indiquez sur votre site
qu'en cas de problème avec les fusibles d'un avr, il est possible
d'utiliser le mode de programmation en parallèle. Pour les "petits"
avr, il existe la méthode "haute tension" +12V sur la patte "reset" J'ai même trouvé un programmateur usb qui intégre cette fonctionnalité:
Je ne doute que vous connaissiez cette méthode (puisque j'ai vu votre intervention sur le site pobot) mais il me semble que vous ne l'indiquez pas sur votre page dédié aux avr.
Voilà qui est fait. Merci Guillaume pour cette info.