Aller au contenu


Photo
- - - - -

[RESOLU] utilisation de avrdude avec un usbasp


  • Veuillez vous connecter pour répondre
8 réponses à ce sujet

#1 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 20 mars 2013 - 08:19

Bonsoir à tous,
je tente actuellement (après avoir un peu bidouillé sur arduino) de développer directement sur un attiny85 en suivant l'exemple suivant :
http://www.ozwald.fr/index.php?post/2012/04/13/L-arduino-c-est-contagieux

malheureusement, lorsque je tape la troisème commande :
avrdude -p /dev/ttyS3 -c usbasp -p t85 -v -U flash:w:ledblink_tiny85.hex
il me réponds qu'il ne trouve pas l'usb.
et bien entendu, il ne balance pas le .hex dans la puce.
Image IPB

merci d'avance

#2 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 20 mars 2013 - 09:42

avrdude -p /dev/ttyS3 -c usbasp -p t85 -v -U flash:w:ledblink_tiny85.hex


Je viens de regarder rapidement, d'après la doc1, l'option -c permet de spécifier l'ID du programmeur USB, en l'occurrence un USBASP. Est-ce que c'est bien celui que tu utilises ? Est-ce que tu as essayé sans l'option (qui n'est pas obligatoire, il semblerait) ?

[1] Doc AVR Dude
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#3 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 20 mars 2013 - 10:10

oui, j'utilise bien un USBASP, par contre il parle du port lpt1 et je suis sur un port usb (je crois que c'était com3 quand j'utilisais mon arduino sur ce port USB)
merci pour la réponse et pour le lien.. je vais aller y jeter un oeil.

edit : quand je retire "-c usbasp", il me réponds "...Spécify a programmer using the -c option..."

re-edit : très précisément, sur mon interface il est écrit : "USBASP V2.0 Lcsoft Studio"...

#4 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 22 mars 2013 - 06:39

Je me permet de faire remonter cette requête car je suis toujours bloqué par ce satané "USBASP v2.0"..
J'ai téléchargé "USBdeview" pour vérifier le pid et le vid de mon USBASP, il ne devrait pas y avoir de souci (normalement)..
Image IPB
Je ne sais vraiment plus de quel côté chercher pour m'en sortir..
edit:
de plus, je ne comprends pas à quoi sert le "-p /dev/tty03" dans ma ligne :
avrdude -p /dev/ttyS3 -c usbasp -p t85 -v -U flash:w:ledblink_tiny85.hex
ne devrais-je pas ajouter un "-P usb:03" ? (j'ai tenté mais ça ne le trouve pas mieux)
merci d'avance.

#5 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 22 mars 2013 - 09:26

de plus, je ne comprends pas à quoi sert le "-p /dev/tty03" dans ma ligne :

avrdude -p /dev/ttyS3 -c usbasp -p t85 -v -U flash:w:ledblink_tiny85.hex
ne devrais-je pas ajouter un "-P usb:03" ? (j'ai tenté mais ça ne le trouve pas mieux)
merci d'avance.

D'après la doc, l'argument -P permet de préciser le port. Le chemin est ensuite le point d'accès au port sur lequel ton Programmer est branché. La majuscule est importante (tu as mis deux fois -p) parce que -p et -P sont deux options différentes.
Je ne sais pas si c'est la source de ton erreur, mais ça n'arrange sûrement pas les choses. ^^
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#6 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 23 mars 2013 - 05:00

merci beaucoup.
J'ai enfin réussi : en effet il fallait bien mettre un P majuscule pour le "tty" mais ça n'était qu'un de mes deux problèmes..
J'ai aussi téléchargé WinAVR à partir de ce site : http://winavr.sourceforge.net/download.html
et là, le bout de code a bien été transféré.
:yahoo:

#7 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 25 mars 2013 - 10:36

C'est encore moi.. mes programmes sont maintenant bien transférés dans l'attiny85 (j'ai même bricolé un petit support pour faciliter les branchements), mais il reste un tout petit problème.
Quand je compile avec avr-gcc, la compilation se fait bien mais la console me retourne un petit warning :

#warning "F_CPU not defined for <util/delay.h>"


si une âme charitable pouvait m'expliquer ce qu'est F_CPU et comment le définir afin de ne plus avoir ce message je lui en serait très reconnaissant. Merci d'avance.

#8 thermo_nono

thermo_nono

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 825 messages

Posté 30 mars 2013 - 02:46

Salut, :crigon_03:
Je me permet de poster ici car ma nouvelle question reste sur les transferts de programmes entre PC et ATTiny.
Cette fois je me demande si il est possible de demander au logiciel Arduino de compiler un programme en ".hex", mais sans le transférer sur l'arduino : je veux juste qu'il me le compile et qu'il sauvegarde le ".hex" à côté de mon ".ino".
merci d'avance.

#9 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 01 avril 2013 - 01:42

Ah, j'avais pas vu tes nouveaux posts !

si une âme charitable pouvait m'expliquer ce qu'est F_CPU et comment le définir afin de ne plus avoir ce message je lui en serait très reconnaissant. Merci d'avance.

Après un peu de recherche, j'ai trouvé les fichiers delay.h dans les sous-dossiers associés à avr-dude, du logiciel Arduino. L'erreur est déclenchée par le bout de code :

#ifndef F_CPU
/* prevent compiler error by supplying a default */
# warning "F_CPU not defined for <util/delay.h>"
# define F_CPU 1000000UL
#endif

Et les commentaires au dessus disent ça :
/** \file */
/** \defgroup util_delay <util/delay.h>: Convenience functions for busy-wait delay loops
    \code
    #define F_CPU 1000000UL  // 1 MHz
    //#define F_CPU 14.7456E6
    #include <util/delay.h>
    \endcode

    \note As an alternative method, it is possible to pass the
    F_CPU macro down to the compiler from the Makefile.
    Obviously, in that case, no \c \#define statement should be
    used.

    The functions in this header file are wrappers around the basic
    busy-wait functions from <util/delay_basic.h>.  They are meant as
    convenience functions where actual time values can be specified
    rather than a number of cycles to wait for.  The idea behind is
    that compile-time constant expressions will be eliminated by
    compiler optimization so floating-point expressions can be used
    to calculate the number of delay cycles needed based on[b] the CPU
    frequency passed by the macro F_CPU.[/b]

    \note In order for these functions to work as intended, compiler
    optimizations <em>must</em> be enabled, and the delay time
    <em>must</em> be an expression that is a known constant at
    compile-time.  If these requirements are not met, the resulting
    delay will be much longer (and basically unpredictable), and
    applications that otherwise do not use floating-point calculations
    will experience severe code bloat by the floating-point library
    routines linked into the application.

    The functions available allow the specification of microsecond, and
    millisecond delays directly, using the application-supplied macro
    [b]F_CPU as the CPU clock frequency (in Hertz).[/b]

*/
Donc clairement, cette constante mémorise le fréquence de ton µP, et l'utilise pour effectuer des calculs en temps plutôt qu'en nombre d'opérations (quelqu'un confirme ?). Visiblement, cette constante peut être définie dans le Makefile qui permet la compilation du programme Arduino que tu as écrit.

Salut, :crigon_03:/>
Je me permet de poster ici car ma nouvelle question reste sur les transferts de programmes entre PC et ATTiny.
Cette fois je me demande si il est possible de demander au logiciel Arduino de compiler un programme en ".hex", mais sans le transférer sur l'arduino : je veux juste qu'il me le compile et qu'il sauvegarde le ".hex" à côté de mon ".ino".
merci d'avance.

A priori, c'est ce qui est fait quand tu cliques sur "Vérifier" mais pas sur "Téléversement". Par contre, je ne sais pas où atterrit le fichier compilé. Peut-être dans un répertoire temporaire. Je ne connais pas assez le fonctionnement bas-niveau d'Arduino pour t'affirme quelque chose de sûr ...
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users