En komplett starter guide till AVRs (10 / 10 steg)
Steg 10: Tillägg: programmering AVRs
Jag glömde att tillägga detta steg tills någon hjälpsamt påpekat det i kommentarerna!Så, hur får du din kod på en AVR?
Det finns två steg.
1. sammanställa
2. programmering / bränning
Sammanställa din kod är konverteras från den text som du skriver, att instruktionerna mikro kan förstå.
Det finns officiella kompilatorer från Atmel, men min inställning är att använda GCC som är en etablerad kompilator används nästan överallt.
Det används för att sammanställa Linux, OS X och även mikrokontroller som vår lilla AVRs.
För AVR GCC kombineras med en C-biblioteket skräddarsydd för AVRs kallas AVR-LIBC.
GCC är också anpassade för aktiviteten och är känd som AVR-GCC (chockerande jag vet!).
Du bör bokmärke AVR-LIBC manualen:
http://www.nongnu.org/avr-libc/user-manual/index.html
Det är en mycket användbar resurs att upptäcka hur man gör olika saker med dina små.
Så, nu när du vet om kompilatorn, hur får man det?
Om du är på en mac, få CrossPack:
http://www.obdev.at/Products/crosspack/index.html
Det ger en fin installerare, men varnas, det är bara installerar kommandoradsverktyg, det finns inget GUI element till den.
För Windows-användare kommer du WinAVR:
http://sourceforge.net/projects/WinAVR/
Jag har ingen personlig erfarenhet av det, så du kanske vill referera till Ladyada's tutorial om du har fastnat:
http://www.Ladyada.net/Learn/AVR/setup-Win.html
Slutligen om du använder Linux eller annan Unix-derivat, kommer att du behöva börja med Ladyada's tutorials igen:
http://www.Ladyada.net/Learn/AVR/setup-UNIX.html
Det har varit ett tag sedan jag använde linux, och aldrig för micros (GCC installeras vanligtvis i de flesta distributioner, men de AVR tillägg inte kommer vara).
Så, om du har läst detta långt, du skulle ha insett jag göra allt mitt arbete på en mac, så jag de flesta av min kunskap kommer därifrån, om något jag säger inte fungerar för din plattform som du kanske vill prova forum på www.avrfreaks.com som har några mycket användbart innehåll!
Så, du har en arbetande avr setup, hur kommer du igång med det?
Kör följande kommando på kommandoraden (på en mac, köra "Terminal" från mappen Verktygsprogram inuti program):
AVR-projektet my_first_project
Detta kommer att skapa en katalog som bygger på en mall.
Det ger också ett XCode-projekt, men jag använt aldrig det så är du på dig själv om du vill.
I stället bege till katalogen firmware.
Här har du två filer, main.c och Makefile
Du kommer att behöva redigera Makefile för att matcha just micro du använder och den pogrammer som du använder för att bränna firmware.
Du måste också ange säkringarna och det enklaste sättet är att använda en fuse miniräknare:
http://www.engbedded.com/fusecalc
När du är klar, öppna main.c och skriv koden!
Nästa upp, på kommandoraden typ: göra
Programmering / bränning
När du "göra" din kod, har du en hex-fil redo att sätta på micro.
För detta steg behöver du en AVR programmerare.
AVR programmerare är enheter som använder SPI-protokollet för att sätta koden på chip.
Något som kan prata SPI kan användas som programmerare, även en Arduino kan fås att fungera, men du förmodligen en särskild enhet som denna:
http://www.adafruit.com/index.php?main_page=product_info&cPath=6&products_id=46
Till bränna den hex med din programmerare, använder vi avrdude.
Men du behöver inte använda det direkt, om din Makefile är konfigurera rätt, kan du enkelt skriva:
se installera
Du kan även hoppa över ursprungliga "make" steg, som make install kommer att både bygga och bränna.
Detta är bara en allmän överblick, att ge dig en uppfattning om processen.
Om du behöver en mer detaljerad förklaring, ta gärna en titt här:
http://www.Ladyada.net/Learn/AVR/index.html
Det är mer detaljerad och väl rundade då jag kan skriva för bara en bilaga.