Stap 10: Aanhangsel: programmering AVR's
Ik vergat toe te voegen van deze stap, totdat iemand behulpzaam in de commentaren gewezen!Dus, hoe krijg je de code op een AVR?
Er zijn twee stappen.
1. opstellen van
2. programmering / Burning
Uw code compileren is converteren van de tekst die u schrijft, de instructies die de micro kan begrijpen.
Er zijn officiële compilers van Atmel, maar mijn voorkeur gaat uit naar het gebruik van GCC, die een gevestigde compiler is gebruikt bijna overal.
Het wordt gebruikt om te compileren op Linux, OS X en zelfs microcontrollers als onze kleine AVR's.
Voor de AVR GCC wordt gecombineerd met een C bibliotheek op maat gemaakt voor AVR's AVR-LIBC genoemd.
GCC is ook aangepast voor de taak en staat bekend als AVR-GCC (schokkende ik weet!).
U moet de handleiding van de AVR-LIBC bookmark:
http://www.nongnu.org/avr-libc/user-manual/index.html
Het is een zeer nuttig middel om te ontdekken hoe verschillende dingen doen met uw micro.
Dus, nu dat je weet over de compiler, hoe krijg je het?
Bent u op een mac, krijgen CrossPack:
http://www.obdev.at/Products/crosspack/index.html
Het biedt een aardige installateur, maar wees gewaarschuwd, het is alleen het installeren van de opdrachtregelprogramma's, er is geen GUI-element aan.
Voor Windows-gebruikers wil je WinAVR:
http://sourceforge.net/projects/winavr/
Ik heb geen persoonlijke ervaring mee, dus je zou willen om te verwijzen naar de LadyAda leerprogramma als u geplakt bent:
http://www.ladyada.net/Learn/AVR/Setup-Win.html
Tot slot als u Linux of andere Unix derivaten gebruiken, moet u met de LadyAda leerprogramma's om opnieuw te beginnen:
http://www.ladyada.net/Learn/AVR/Setup-UNIX.html
Het is al een tijdje aangezien ik linux gebruikt, en nooit voor micros (GCC is meestal geïnstalleerd in de meeste distributies, maar de AVR-extensies niet zijn).
Dus, als je dit hebt gelezen tot nu toe u begrepen zou hebben ik doe al mijn werk op een mac, dus ik allermeest mijn kennis komt van daar, als iets gezegd niet werkt voor uw platform die u zou willen proberen de forums op www.avrfreaks.com die sommige zeer nuttige inhoud hebben!
Dus, heb je een werkende avr setup, hoe begin je ermee?
Voer de volgende opdracht op de opdrachtregel (op een mac, "Terminal" in de map hulpprogramma's binnen toepassingen uitvoeren):
AVR-project my_first_project
Hiermee maakt u een map op basis van een sjabloon.
Het biedt ook een XCode project, maar ik nooit gebruikt dus je op je eigen bent als u wilt.
In plaats daarvan het hoofd aan de firmware directory.
Hier hebt u twee bestanden, main.c en Makefile
U zal moeten edit de Makefile zodat deze overeenkomen met de specifieke micro die u gebruikt en de pogrammer die u gebruikt voor het branden van de firmware.
U moet ook het instellen van de fuses, en de gemakkelijkste manier is het gebruik van een zekering-calculator:
http://www.engbedded.com/fusecalc
Wanneer gedaan, open main.c en uw code schrijven!
Volgende, op de opdrachtregel type: maken
Programmering / Burning
Nadat u "" uw code maken, hebt u een hexadecimaal bestand klaar om te zetten naar de micro.
Voor deze stap moet u een AVR-programmer.
AVR programmeurs zijn apparaten die gebruik maken van de SPI-protocol om de code op de chip.
Om het even wat die SPI praten kan kan worden gebruikt als een programmeur, zelfs een Arduino kan worden gemaakt om te werken, echter wil je waarschijnlijk een dedicated apparaat zoals dit:
http://www.adafruit.com/index.php?main_page=product_info&cPath=6&products_id=46
We gebruiken om te branden de .hex met uw programmeur, avrdude.
Maar je hoeft te gebruiken direct, als uw Makefile is recht configureren, typt u gewoon:
Maak installeren
U kunt zelfs het overslaan van het origineel "make" stap, als make install zal zowel bouwen en branden.
Dit is slechts een algemeen overzicht, u een idee te geven van het proces.
Als u een meer gedetailleerde uitleg nodig, neem eens een kijkje hier:
http://www.ladyada.net/Learn/AVR/index.html
Het is meer gedetailleerde en goed afgerond dan ik voor slechts een aanhangsel schrijven kan.