[RESOLU] download d'un .HEX dans arduino

Bonjour à tous.
Est il possible d'utiliser l'environnement Arduino (version 022 sous Kubuntu 11.10), avec une carte Arduino diecimila pour downloader dans le ATmega168 un .exe compilé ailleurs ?
Si oui, ou mettre ce .exe pour qu il soit chargé correctement?
Merci

Yep!

Cà revient à faire une copie block par block d'un fichier.
Avec un microcontroleur, c'est un peu comme téleporter une pomme jaune et vouloir qu'elle soit verte à l'arrivé !!!

Je ne pense pas que celà soit possible, dd, cp, ftp, scp, samba ou autre sont architecturés autour d'instructions 32 bits.
Il est possible d'utiliser des supports Sd avec les microcontrolleurs, cependant il te faudra te retourner vers des processeurs ARM pour ce genre d'opérations.

En tout cas, je n'ai rien vu de tel sur la gamme arduino 8 bits.

@+

Zoroastre.

Merci pour la réponse, mais je crois que je n ai pas tres bien exposé ce que je veux faire.
Quand on downloade depuis l environnement Arduino un sketche dans la carte Arduino, le compilateur crée un fichier .exe qui est ensuite envoyé dans la carte arduino. C'est ce que je voudrais faire sans passer par l'étape compilation du sketch, car je dispose deja du .exe correspondant

Oups!

Je crois que c'est moi qui est mal compris :grin:

Tu es sous linux (kubuntu) et tu voudrais uploader un sketch 328 vers 168 compilé en exe (windows) ???

@+

Zoroastre.

Le fait que le fichier soit un .exe n a rien a voir avec le fait que l on soit sous Linux ou sous Windows. En fait il est crée lors de la compilation du sketche dans l environnement arduino, placé dans un repertoire temporaire , d'ou il est ensuite downloadé dans la carte Arduino et supprimé du repertoire temporaire a la fin.
Mon probleme est que je dispose d'un fichier .exe crée avec un autre environnement, que je voudrais mettre dans un repertoire et le downloader dans mon arduino comme si je venais de le compiler sur mon propre PC.

A mon avis tu confonds "exe" et "hex".
"exe" c'est du monde microsoft : c'est à incompatible avec tout ce qui existe et cela ne tourne que sous windows.
"hex" ou de son vrai nom ihex (i pour Intel) est un format normalisé pour les micro-controleurs.

Le programme qui assure le transfert du fichier *.hex vers le micro-contoleur Atmell s'appelle "avrdude" (chaque fabricant (pic,stm etc) a son propre programme).

Si tu es sous windows tu trouvera avrdude.exe quelque part sur ton PC : il est automatiquement installé par l'IDE arduino, sous linux il s'appelle avrdude tout simplement et il est rangé dans le répertoire usr , sous Mac je ne sais pas mais ce devrait être comme pour Linux ( tjs µ$ qui ne peut rien faire comme les autres).

Pour savoir comment utiliser avrdude google sera ton ami.

Mea culpa
J avais dans la tête .HEX et j'ecrivais .EXE . Bien entendu il s agit d un .HEX
1000 excuses pour avoir semé la confusion. ma question reste entiere en remplaçant .exe par .hex

Yep!

AAAHHHH !!! On finit par se comprendre :stuck_out_tongue_closed_eyes:

68tjs:
Le programme qui assure le transfert du fichier *.hex vers le micro-contoleur Atmell s'appelle "avrdude" (chaque fabricant (pic,stm etc) a son propre programme).

Pour le transfert vers un 168, je dirais que si le code respecte la taille mémoire du microcontroleur et qu'à priori 168 ou 328, la taille étant leur unique difference...

L'IDE arduino pourra le vérifier sinon, si tu es sûr de ton coup, avrdude sera ton ami :wink:

@+

Zoroastre.

PS : modifie ton titre en éditant le 1er message.

modifie ton titre en éditant le 1er message.

+1

Active le mode verbose dans l'IDE arduino
Compile un exemple simple avec l'IDE arduino
Regarde dans l'écran inférieur et tu trouveras l'ordre avrdude avec les options qui vont bien.
Si tu ne vois pas tout regarde dans le répertoire où l'IDE range ses fichiers de compilation, sous Linux c'est dans /temp, sous windows j'en sais rien. Consulte les fichiers et tu trouveras celui des logs de compilation/transfert où tous les ordres de ligne de commande sont enregistrés.

Salut :slight_smile:

kriss-38:
Mea culpa
J avais dans la tête .HEX et j'ecrivais .EXE . Bien entendu il s agit d un .HEX
1000 excuses pour avoir semé la confusion. ma question reste entiere en remplaçant .exe par .hex

Jolie le coup du .exe / .hex en étant sous linux, j'aurai voulu faire un troll bien poilu j'aurai pas trouvé mieux :grin:

Merci à tous pour votre aide.
J'ai résolu le problème plus élégamment (à mon avis) :
Disposant des fichiers source en .c et .h , j'ai tout simplement chargé le fichier principal en .c dans l'envirronement Arduino et les fichiers additionels dans des onglets.
La compilation se lance sans problème. J'avais tout simplement oublié que Arduino s'appuie sur le compilo gcc. Le fichier .hex correspondant peut alors être downloade dans la carte par la methode habituelle.

Re-Mea culpa pour le .exe, et pourtant, un fana des logiciels libres comme je le suis, cela aurait du me sauter aux yeux !!!!!!!