Étape 10 : Annexe : programmation AVRs
J’ai oublié d’ajouter cette étape jusqu'à ce que quelqu'un utilement l’a rappelé dans les commentaires !Alors, comment pouvez-vous obtenir votre code sur un AVR ?
Il y a deux étapes.
1. Compilation
2. programmation / gravure
Compilation de votre code il convertit du texte que vous écrivez, les instructions que le micro peut comprendre.
Il existe des compilateurs officiels de la société Atmel, mais ma préférence est d’utiliser GCC qui est un compilateur établi utilisé presque partout.
Il est utilisé pour compiler Linux, OS X et même microcontrôleurs comme notre petite rea.
Pour l’AVR GCC est associé à une bibliothèque C pour AVRs appelés AVR-LIBC.
GCC est également personnalisé pour cette tâche et est connu comme AVR-GCC (choquant je sais!).
Vous devriez favori le manuel de l’AVR-LIBC :
http://www.nongnu.org/avr-libc/User-Manual/index.html
C’est une ressource très utile pour découvrir comment faire différentes choses avec votre micro.
Alors, maintenant que vous savez sur le compilateur, comment obtenez-vous ?
Si vous êtes sur mac, téléchargez CrossPack :
http://www.obdev.at/Products/crosspack/index.html
Il fournit un installateur agréable, mais attention, il installe uniquement les outils de ligne de commande, il n’y a aucun élément de GUI pour elle.
Pour les utilisateurs de Windows, vous souhaiterez WinAVR :
http://sourceforge.net/projects/WinAVR/
Je n’ai aucune expérience personnelle avec lui, donc vous pouvez se référer au tutoriel de LadyAda si vous êtes coincé :
http://www.Ladyada.net/learn/avr/Setup-Win.html
Enfin, si vous utilisez Linux ou autres dérivés d’Unix, vous devrez recommencer avec des tutoriels de LadyAda :
http://www.Ladyada.net/learn/avr/Setup-UNIX.html
Il a été un moment depuis que j’ai utilisé linux et jamais pour micros (GCC est habituellement installé dans la plupart des distributions, mais ne sera pas les extensions AVR).
Donc, si vous avez lu ce présent, vous auriez réalisé je fais tout mon travail sur un mac, donc j’ai la plupart de mes connaissances viendra de là, si je le dis ne fonctionne pas pour votre plate-forme, vous voudrez peut-être essayer le forums à www.avrfreaks.com qui ont un contenu très utile !
Donc, vous avez un avr de travail d’installation, comment commencer avec elle ?
Sur la ligne de commande (sur un mac, exécutez « Terminal » dans le dossier de services publics à l’intérieur d’Applications), exécutez la commande suivante :
avr-projet my_first_project
Ceci créera un répertoire basé sur un modèle.
Il fournit également un projet XCode, mais je l’ai jamais utilisé donc vous êtes sur votre propre si vous le souhaitez.
Au lieu de cela, rendez-vous dans le répertoire firmware.
Ici vous avez deux fichiers, main.c et Makefile
Vous devrez modifier le Makefile pour correspondre à la micro particulière que vous utilisez et le pogrammer que vous utilisez pour brûler le firmware.
Vous devrez également définir les fusibles, et le plus simple est d’utiliser une calculatrice de fusible :
http://www.engbedded.com/fusecalc
Une fois terminé, ouvrez main.c et écrire votre code !
Prochain, sur le type de ligne de commande : faire
Programmation / gravure
Après avoir « fait » votre code, vous aurez un fichier .hex prêt à mettre sur le micro.
Pour cette étape, vous aurez besoin un programmateur AVR.
AVR programmeurs sont des dispositifs qui utilisent le protocole SPI pour mettre le code sur la puce.
Tout ce qui peut parler SPI peut être utilisé en tant que programmeur, même un Arduino peut être fait pour travailler, toutefois, vous souhaiterez probablement un appareil dédié comme ceci :
http://www.Adafruit.com/index.php?main_page=product_info&cPath=6&products_id=46
Pour graver le .hex utilisant votre programmateur, nous utilisons avrdude.
Toutefois, vous ne devez l’utiliser directement, si votre Makefile est configurer droit, vous pouvez simplement taper :
faire installer
Vous pouvez même sauter l’original « make » étape, comme faire installer va construire et brûler.
Il s’agit juste d’un aperçu général, pour vous donner une idée du processus.
Si vous avez besoin d’une explication plus détaillée, s’il vous plaît jeter un oeil ici :
http://www.Ladyada.net/learn/avr/index.html
Il est plus détaillé et bien arrondie alors je peux écrire pour juste un appendice.