IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Charger un programme .hex dans un ATmega328P


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2007
    Messages : 45
    Par défaut Charger un programme .hex dans un ATmega328P
    Bonjour
    un papy essai de modifier un instrument de musique ... (c'est mon premier essai avec un arduino )
    Pour pouvoir lire des midi et les jouer dans un accordéon grâce a un montage de MR LEHMAYR
    ci joint son site

    http://www.mikrocontroller.net/artic...t_MMC/SD-Karte

    j’ai achète une carte duemilanove 328 sans son atmega , et j'ai acheté un atmega328P avec son bootlader dedans.
    Le but de ma demande est de programmer un fichier .hex et essayer d’installer ce programme dans le 328P
    j’ai parcouru plein de site pour essayer de comprendre comment faire la programmation , mais il y a plein de termes que je ne comprend pas , et je ne sais pas par ou commencer
    EX: LES FUSES ??? ( je ne sais pas ce que c'est) sont-ils déjà dans le bootlader ? faut-il un ou deux atmega 328P pour travailler, un sur la duemilanove et un autre sur une planche d’essai ?
    Que faut-il comme outils pour programmer ?…
    j'ai deja telecharge arduino 1.6.9 sous windows 10 .....faut-il autre chose ???
    j’ai vu plein de tuto mais les un plus compliques que les autres et pas très claire pour moi,(et en plus certains en anglais )
    tuto pour faire clignoter une led pas de probleme !
    tuto pour charger un bootlader pas de probleme !
    tuto pour expliquer un arduino pas de probleme !
    mais pas de tuto pour expliquer une programmation d'un fichier . hex
    je sais que ce que je demande n’est pas très drôle pour ceux qui savent déjà et peut être que cela n'est pas si simple a expliquer
    Mais si vous pouvez me conseiller je suis preneur ,
    Cordialement
    papy de Picardie

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 253
    Par défaut
    Salut,
    Tu as essayé simplement en faisant, depuis une invite de commande :
    avrude.exe -p m328p -c arduino -b 115200 -P COM4 -U flash:w:ton_fichier.hex

    ps : ce que j'ai mis en gras est a modifier selon tes besoins

  3. #3
    Membre averti
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2007
    Messages : 45
    Par défaut Charger un programme .hex dans un ATmega328P
    bonsoir
    je remercie Vincent PETIT d'avoir pris le temps de lire ma demande c'est déjà super sympas
    ce que j'aimerais c'est surtout un fil conducteur ,pour implanter tout mon materiel
    j'ai une carte duemilanove
    j'ai un atmega avec son bootlader
    j'ai le fichier .hexa
    j'ai telecharge et installe arduino 1.6.9 dans mon micro ( windows 10 ) je suis sur port com 3
    voila mon matériel ,
    maintenant .......j'installe mon atmega 328 sur la carte duemilanove .......je branche la carte sur mon pc ,....... et c'est la que j'aimerais avoir un fil conducteur pour continuer a avancer petit a petit , évidemment sans que cela vous prennent la tête , mais je pense que vous si arriviez a détailler la méthode pour charger 'un programme en hexa , ( attention je ne parle pas de faire de la programmation avec un langage ) plein de personne vous serrez drôlement reconnaissant ( aucun tuto ne détaille cela )
    bien cordialement
    papy de Picardie ( st Quentin 02100 )

  4. #4
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 253
    Par défaut
    Salut Papy de Picardie,
    Tu précises où tu habites pour me payer un verre ? En effet c'est pas si loin de chez moi Mes beaux parents sont de Péronne en plus et moi j'habite prés de Bapaume ! Je connais St Quentin car j'ai vécu quelques années a Soissons et j'avais pas mal de chantier sur Laon et St Quentin (mais un peu moins)

    Alors attention.... j'utilise habituellement des outils Texas Instruments et non Atmel et pour couronner le tout je suis uniquement sous Linux !
    Je vais donc faire un gros parallèle car je sais que la philosophie est toujours très ressemblante.

    ********************************************

    Ok pour ton récap.

    Lorsque tu as installé le logiciel Arduino, ça a installé d'autres choses avec (je vulgarise).
    Arduino, qui est l'éditeur de texte pour taper ton programme
    AVR-GCC, qui est le compilateur, il va transformer le programme en un code machine compréhensif pour le microcontrôleur
    Avrdude, qui se charge d'envoyer le code machine dans le microcontrôleur au travers du port série de ton PC.

    Arduino se charge d'articuler tout ça en douce et sans que tu ais besoin de faire quelques réglages que ce soit !

    Comme j'ai bien compris que n'a pas besoin de programmer car tu as déjà un code machine dans un .hex, l'idée est de se servir d'un des outils dont Arduino se sert pour programmer, c'est à dire Avrdude.exe.

    Tout d'abord il faut s'assurer que Arvdude.exe est bien installé et pour ça peux tu ouvrir une invite de commande :







    Entre simplement avrdude.exe et dit moi si ça écrit quelque chose ?

  5. #5
    Membre averti
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2007
    Messages : 45
    Par défaut
    hello bonjour Vincent PETIT et super remerciement pour ton aide
    voila la réponse après l'invite de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Microsoft Windows [version 10.0.10586]
    (c) 2015 Microsoft Corporation. Tous droits réservés.
     
    C:\WINDOWS\system32>avrdude.exe
    Usage: avrdude.exe [options]
    Options:
      -p <partno>                Required. Specify AVR device.
      -b <baudrate>              Override RS-232 baud rate.
      -B <bitclock>              Specify JTAG/STK500v2 bit clock period (us).
      -C <config-file>           Specify location of configuration file.
      -c <programmer>            Specify programmer type.
      -D                         Disable auto erase for flash memory
      -i <delay>                 ISP Clock Delay [in microseconds]
      -P <port>                  Specify connection port.
      -F                         Override invalid signature check.
      -e                         Perform a chip erase.
      -O                         Perform RC oscillator calibration (see AVR053).
      -U <memtype>:r|w|v:<filename>[:format]
                                 Memory operation specification.
                                 Multiple -U options are allowed, each request
                                 is performed in the order specified.
      -n                         Do not write anything to the device.
      -V                         Do not verify.
      -u                         Disable safemode, default when running from a script.
      -s                         Silent safemode operation, will not ask you if
                                 fuses should be changed back.
      -t                         Enter terminal mode.
      -E <exitspec>[,<exitspec>] List programmer exit specifications.
      -x <extended_param>        Pass <extended_param> to programmer.
      -y                         Count # erase cycles in EEPROM.
      -Y <number>                Initialize erase cycle # in EEPROM.
      -v                         Verbose output. -v -v for more.
      -q                         Quell progress output. -q -q for less.
      -?                         Display this usage.
     
    avrdude version 5.10, URL: <http://savannah.nongnu.org/projects/avrdude/>
     
    C:\WINDOWS\system32>

  6. #6
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 253
    Par défaut
    D'accord donc Avrdude est bien installé et accessible.

    Maintenant deux points importants :

    1) S'assurer que le PC a bien reconnu un périphérique lorsque ton Arduino est branché sur le port COM3 (il ne faut que le périphérique soit non reconnu, souvent Windows met un point d'exclamation devant lorsqu'on va dans le gestionnaire de périphériques)

    2) Faire un essai avec avrude.exe dans la console en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Microsoft Windows [version 10.0.10586]
    (c) 2015 Microsoft Corporation. Tous droits réservés.
     
    C:\WINDOWS\system32>avrdude.exe -v -v -p m328p -c arduino -b 115200 -P COM3 -U flash:w:ton_fichier.hex
    Évidemment là ou j'ai écrit ton_fichier.hex c'est bien naturellement le chemin complet où se trouve le fichier (exemple => C:\Users\Papy_de_Picardie\Documents\mon_projet.hex)

    Montre moi une copie d'écran de se que Avrdude raconte de beau ! Que ça merde ou que ça marche, il indique quelque chose.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/11/2015, 10h43
  2. Réponses: 3
    Dernier message: 24/11/2006, 11h12
  3. Réponses: 1
    Dernier message: 18/05/2006, 12h52
  4. Réponses: 3
    Dernier message: 05/09/2005, 14h09
  5. Comment intégrer un programme Delphi dans CBuilder
    Par Xavier dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/07/2005, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo