Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Programmer un Atmega erreur.



  1. #1
    voodka2007

    Programmer un Atmega erreur.


    ------

    Bonjour,

    J'essaye de faire mon premier helloworld sur un atmega32 et j'ai un peu de mal... voici le code en C que je compile avec avr-gcc en passant par codeblocks :

    Code:
    #include <avr/io.h>
    #include <stdio.h>
    #include <stdint.h>
    #include<stdlib.h>
    
    #define F_CPU 1000000UL
    #define DF_CPU=8000000UL
    #include <util/delay.h>
    
    int main(void)
    {
    
    DDRB |= (1<<PB0);
    
        while(1) {
         PORTB |=(1<<PB0);
         _delay_ms(150);
         PORTB &= ~(1 << PB0);
         _delay_ms(500);
        }
    }
    Et voici les erreurs lors ce que je veux flasher l'µC :

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x000000
    avrdude: Yikes! Invalid device signature.
    avrdude: Expected signature for ATMEGA32 is 1E 95 02
    avrdude: safemode read 1, lfuse value: 0
    avrdude: safemode read 2, lfuse value: 0
    avrdude: safemode read 3, lfuse value: 0
    avrdude: safemode: lfuse reads as 0
    avrdude: safemode read 1, hfuse value: 0
    avrdude: safemode read 2, hfuse value: 0
    avrdude: safemode read 3, hfuse value: 0
    avrdude: safemode: hfuse reads as 0
    avrdude: reading input file "/home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex"
    avrdude: input file /home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex auto detected as Intel Hex
    avrdude: writing flash (3508 bytes):

    Writing | ############################## #################### | 100% 30.40s



    avrdude: 3508 bytes of flash written
    avrdude: verifying flash memory against /home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex:
    avrdude: load data flash data from input file /home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex:
    avrdude: input file /home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex auto detected as Intel Hex
    avrdude: input file /home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex contains 3508 bytes
    avrdude: reading on-chip flash data:

    Reading | ############################## #################### | 100% 21.59s



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

    avrdude: safemode read 1, lfuse value: 0
    avrdude: safemode read 2, lfuse value: 0
    avrdude: safemode read 3, lfuse value: 0
    avrdude: safemode: lfuse reads as 0
    avrdude: safemode read 1, hfuse value: 0
    avrdude: safemode read 2, hfuse value: 0
    avrdude: safemode read 3, hfuse value: 0
    avrdude: safemode: hfuse reads as 0
    avrdude: safemode: Fuses OK

    avrdude done. Thank you.
    J'ai retourner google en 1000 ça fais 5 heures que je cherche... apparemment il s'agirait (peut-être) d'un "cristal" cassé et je dois baisser sa fréquence... mais je ne sais pas à combien la mettre et ou la mettre.

    De plus il n'a l'air de ne pas reconnaitre le Atmega32 que j'ai branché dessus...
    Voiçi la commande que j'utilise pour flasher :

    avrdude -c avr910 -p m32 -P /dev/ttyUSB0 -F -D -U flash:w:'/home/voodka/Bureau/Projets_C/Projet_28/test_atmega32/bin/Debug/test_atmega32.elf.hex' -vvv
    J'utiliseur le programmeur Myavr mySmartusb MK2.

    Merci pour votre aide.

    -----

  2. Publicité
  3. #2
    Ravaner

    Re : Programmer un Atmega erreur.

    Bjr. Je ne sais pas répondre à ta question, mais tu trouveras de l'aide sur le forum Atmel : http://www.atmicroprog.com/forum/viewforum.php?f=1

  4. #3
    Jack
    Modérateur

    Re : Programmer un Atmega erreur.

    Je ne connais pas grand chose en atmel, mais ceci:
    avrdude: Device signature = 0x000000
    avrdude: Yikes! Invalid device signature.
    avrdude: Expected signature for ATMEGA32 is 1E 95 02
    incite fortement à penser que tu as un problème de communication ou de reconnaissance de ton programmateur.

    A+

  5. #4
    akermi

    Re : Programmer un Atmega erreur.

    le problème est au niveau de la fonction _delay_ms
    le delay ne doit pas dépassé les 260 ms
    c'est déjà indiqué au niveau du commentaire de la fonction dans le fichier delay.h

  6. A voir en vidéo sur Futura
  7. #5
    vede

    Cool Re : Programmer un Atmega erreur. ;O]

    Bonjour,

    [rigolo]
    La solution la plus simple : t'achètes un PIC ;O]
    [/rigolo]

    vede
    ;O]
    _____________________
    no pub...

  8. #6
    ftorama

    Re : Programmer un Atmega erreur. ;O]

    Citation Envoyé par vede Voir le message
    Bonjour,

    [rigolo]
    La solution la plus simple : t'achètes un PIC ;O]
    [/rigolo]

    vede
    ;O].
    Ca serait pas lui rendre service ça

    La lecture de l'ID te retourne des 0. On oublie donc le fait que la broche MISO soit mal connectée (sinon il lirait des FF).

    Ton problème me fait penser à un problème d'horloge. En sortant d'usine, les AVR fonctionnent sur l'horloge interne. Tu as donc juste besoin de raccorder MISO, MOSI, SCK, Reset et GND au programmateur, mettre un 5V sur l'alim et un condo de découplage.

    Maintenant si tu reçois des 00 en lisant l'ID, il y a plusieurs possibilités:
    - les fuses ont été reprogrammés pour une horloge externe ou un quartz
    - la programmation ISP a été désactivé (programmation du fuse ISPEN via le jtag ou la programmation parallèle)
    - l'AVR est mort (ça arrive, mais je crois plus à un des 2 autres cas au-dessus)

    Dans le premier cas, il te suffit de mettre un quartz sur les broches d'oscillateur ou une horloge externe (dépend du montage précédent)

    Dans le second cas, il te faudrait une sonde jtag ou un programmateur parallèle pour remettre le fuse ISPEN dans son état par défaut. En même temps, si c'est ça le problème, c'est que tu as ce matos sous la main.

    Dans le troisième cas, il te faut en racheter un, paix à son ame.

    Tiens-moi au courant
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  9. Publicité

Discussions similaires

  1. Doc ATMEGA en FR
    Par Nono45 dans le forum Électronique
    Réponses: 4
    Dernier message: 03/03/2018, 10h41
  2. MLI sur Atmega !
    Par lami_dta_femme dans le forum Électronique
    Réponses: 1
    Dernier message: 19/12/2008, 10h06
  3. Programmation ISP ATmega
    Par Kilhian dans le forum Électronique
    Réponses: 12
    Dernier message: 16/10/2008, 19h25
  4. can atmega 8535
    Par étudiant33 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 25/04/2008, 13h47
  5. atmega 8
    Par lampard123 dans le forum Électronique
    Réponses: 1
    Dernier message: 11/02/2008, 11h04
Découvrez nos comparatifs produits sur l'informatique et les technologies.