Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Discussion: Erreur make patch AVR

  1. #1
    Invité de passage
    Homme Profil pro Alain Fyon
    Architecte matériel
    Inscrit en
    novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Fyon
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : novembre 2012
    Messages : 8
    Points : 3
    Points
    3

    Par défaut Erreur make patch AVR

    Bonjour,

    Devant programmer des AVR en C sous Linux et vu que Atmel n'a pas de version Linux de AVR studio, je viens d'installer Eclipse avec le pach avr

    Presque tout s'est assez bien passé sauf que je n'arrive pas à régler une erreur de make de mon premier programme :
    **** Build of configuration Default for project Demo ****


    (Cannot run program "make" (in directory "/home/alain/workspace/Demo"): java.io.IOException: error=2, Aucun fichier ou dossier de ce type)
    Je lis qu'il ne trouve pas make dans le répertoire /home/alain/workspace/Demo mais je ne vois pas comment faire.

    Quelqu'un aurait-il une idée sur l'origine de ce problème ?

    Merci d'avance pour votre aide.

  2. #2
    Invité de passage
    Homme Profil pro Alain Fyon
    Architecte matériel
    Inscrit en
    novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Fyon
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : novembre 2012
    Messages : 8
    Points : 3
    Points
    3

    Par défaut

    Je me réponds...

    Etant parti d'une install toute fraiche de Debian 6, je ne pouvais pas m'imaginer que make n'était même pas installé. Donc je n'ai pas vérifié et j'ai cherché ailleurs la cause.
    Ayant installé make, cette erreur a disparu pour m'en donner une, voire plusieurs autres.

    J'ai donc ouvert un nouveau projet juste pour tester
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <avr/io.h>
     
    int  main()
    {
        DDRC = 0xFF;
        PORTC = 0xFF;
        while(1)
        {
        ;
        }
    }
    Quand je compile, cela donne ceci
    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    echo: erreur d'écriture: Relais brisé (pipe)
    make: *** [main.o] Erreur 1
    par contre si je mets le #include en dur ca marche
    #include </usr/lib/avr/include/avr/io.h>
    **** Build of configuration Release for project Demo ****

    make all
    Building target: Demo.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,Demo.map -mmcu=atmega88 -o"Demo.elf" ./main.o
    Finished building target: Demo.elf

    Invoking: AVR Create Extended Listing
    avr-objdump -h -S Demo.elf >"Demo.lss"
    Finished building: Demo.lss

    Create Flash image (ihex format)
    avr-objcopy -R .eeprom -O ihex Demo.elf "Demo.hex"
    Finished building: Demo.hex

    Create eeprom image (ihex format)
    avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex Demo.elf "Demo.eep"
    Finished building: Demo.eep

    Invoking: Print Size
    avr-size --format=avr --mcu=atmega88 Demo.elf
    AVR Memory Usage
    ----------------
    Device: atmega88

    Program: 82 bytes (1.0% Full)
    (.text + .data + .bootloader)

    Data: 0 bytes (0.0% Full)
    (.data + .bss + .noinit)


    Finished building: sizedummy
    De même que si je modifie quelque chose tel que le processeur utilisé, ou la fréquence d'horloge ça se complique.

    Capricieux Eclipse non ?

    J'arrive parfois à compiler et même à uploader dans le µcontrôleur mais c'est un peu au hasard. Je ne parviens pas à maitriser l'outil !

    Quelqu'un peut-il m'aider ?

  3. #3
    Membre régulier
    Inscrit en
    juin 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 128
    Points : 78
    Points
    78

    Par défaut

    Je vais tenter de t'aider, sans garantie car je suis sous Windows.

    Fais-tu un projet pour lequel tu crées toi même le makefile ?
    - si oui, ton projet compile-t-il en direct (sans passer par Eclipse) ?
    -- si oui, je ne peux t'aider car cela devrait normalement fonctionner (test une mise à jour des différents outils ???).
    -- sinon, il y a déjà un problème dans ton code et/ou le makefile et non avec Eclipse.
    - sinon il faut aller dans les propriétés du projet (clic droit sur le projet puis "properties"), choisir "C/C++ general" puis "Paths and symbols" et ajouter les chemins vers les bibliothèques nécessaires (includes et bin). Un petit coup de reconstruction de l'index est toujours bon aussi ensuite (clic droit sur le projet puis "index" et "rebuild").

    Si cela peut t'aider. Sinon direction le forum de www.eclipse.org

  4. #4
    Invité de passage
    Homme Profil pro Alain Fyon
    Architecte matériel
    Inscrit en
    novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Fyon
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : novembre 2012
    Messages : 8
    Points : 3
    Points
    3

    Par défaut

    MikBeastKiller,

    Déjà merci de vouloir m'aider.

    J'édite dans l'ordre les question
    ]Fais-tu un projet pour lequel tu crées toi même le makefile ?
    non, pas encore, c'est la première fois que j'utilise ECLIPSE et j'évite de me compliquer la tâche pour commencer.

    -- sinon, il y a déjà un problème dans ton code et/ou le makefile et non avec Eclipse.
    Oui mais là je vois pas, je décris plus bas le phénomène que j'ai.

    - sinon il faut aller dans les propriétés du projet (clic droit sur le projet puis "properties"), choisir "C/C++ general" puis "Paths and symbols" et ajouter les chemins vers les bibliothèques nécessaires (includes et bin). Un petit coup de reconstruction de l'index est toujours bon aussi ensuite (clic droit sur le projet puis "index" et "rebuild").
    Nickel ça marche. En fait j'avais trouvé à régler le path dans windows - AVR - path - préférences et comme il était correct je ne pensais pas qu'il y en avais un autre

    Comme première impression, Eclipse a l'ai génial mais c'est un peu l'usine à gaz quand même. La possibilité d'accéder à la même chose de plusieures manières différentes est perturbant

    Si je peux abuser,

    Pour le Makefile, j'ai encore cherché mais pas encore trouvé
    En fait lorsque je crée un projet (je fais des petits essais en adaptant des anciennes parties de prog faites pour du 8051 en les adaptant a AVR pour me faire la main)
    pour compiler, je dois faire cliquer droit sur Release de mon projet dans la fenêtre de droite, puis new, je donne un nom a target name puis ok ce qui me crée une boule verte avec le nom sous le Release
    Quand j'ai écrit mon code, si je fais buid Release j'ai un message d'erreur
    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    echo: erreur d'écriture: Relais brisé (pipe)
    make: *** [main.o] Erreur 1
    ensuite je clique sur la boule verte, ce qui me donne dans la console le message suivant
    make prog
    make: *** Pas de règle pour fabriquer la cible « prog ». Arrêt.
    A partir de là si je refais build Release ca compile correctement et cela crèe tout ce qu'il faut

    Bon j'avance comme cela mais je me lasse à chercher à régler cela surtout que c'est pas très documenté ou alors je n'ai pas trouvé le bon site

    Bonne nuit et encore merci pour le coup de main

    Alfybe

  5. #5
    Membre régulier
    Inscrit en
    juin 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 128
    Points : 78
    Points
    78

    Par défaut

    Bonjour,

    je suppose que tu sais écrire un makefile.
    Pour Eclipse, les choses sont relativement peu expliquées mais d'une manière grossière si tu veux que ton projet utilise son propre makefile (ce que je fais toujours et ce qui est généralement conseillé), tu dois le créer de cette manière :
    "new" -> "C project" -> "Makefile project".
    Tu n'auras alors plus de mode debug et/ou release car ce sera dans ton makefile que tu créeras cela (pour les options de compilation).

    J'avais essayé une fois de transformer un projet dont le makefile était géré par Eclipse en projet avec mon propre makefile sans résultats satisfaisants. J'avais fini par intégrer "à la porc" le makefile dans le dossier du projet et Eclipse utilisait ce Makefile. Attention car je dis cela sur une ancienne version d'Eclipse.

    Dans tous les cas, je te conseille grandement d'utiliser ton propre makefile et d'utiliser Eclipse pour le reste. Note qu'il te faudra toujours renseigner les champs de librairies annexes si tu souhaites l’auto-complétion et autres choses très utiles ; sinon ton projet compilera mais Eclipse t'indiquera des erreurs, qui n'en seront pas.

  6. #6
    Invité de passage
    Homme Profil pro Alain Fyon
    Architecte matériel
    Inscrit en
    novembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain Fyon
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : novembre 2012
    Messages : 8
    Points : 3
    Points
    3

    Par défaut

    En fait, je suppose que je dois pouvoir le faire, mais ce sera une première...
    Je comprends le principe mais je ne maîtrise pas vraiment

    Si tu connais un bon tuto pour ce que j'ai a faire, ça m'intéresse

    Je m'y colle

    Alfybe

  7. #7
    Membre régulier
    Inscrit en
    juin 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : juin 2008
    Messages : 128
    Points : 78
    Points
    78

    Par défaut

    Citation Envoyé par alfybe Voir le message
    En fait, je suppose que je dois pouvoir le faire, mais ce sera une première...
    Je comprends le principe mais je ne maîtrise pas vraiment

    Si tu connais un bon tuto pour ce que j'ai a faire, ça m'intéresse
    Pour faire quoi ?
    - du code AVR sous Eclipse ? je n'en ai aucune idée.
    - du makefile ? 3-4 exemples de makefile t'aiderons à comprendre rapidement les fondamentaux. Sinon :
    -- Ici : beaucoup de choses mais pas spécifiquement ciblé pour du c.
    -- : parfait pour la mise en bouche .

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •