Stap 19: Aanhangsel A: AVR Stuff
Installeren van de AVR GNU toolchain:Beter hebt geïnstalleerd, WinAVR of MHV AVR Tools, of een installatie van AVR-GCC en andere GNU AVR tools geïnstalleerd. Zorg ervoor dat het pad naar de map met de binaire uitvoerbare bestanden voor de GNU AVR tools in uw PATH-omgevingsvariabele (de WinAVR installateur dit voor je doet). Dit betekent dat u door AVR-GCC uitvoeren kunt door simpelweg te typen "avr-gcc" in de console. Makefiles zal niet werken tenzij u het gereedschap correct hebt geïnstalleerd.
Bijvoorbeeld, als u MHV AVR Tools binnen geplaatst
"C:/mhvavrtools"
op een zodanige wijze dat
"C:/mhvavrtools/bin"
bestaat en bevat
"C:/mhvavrtools/bin/avr-gcc.exe"
en uw omgevingsvariabele PATH bevat reeds
"C:/moo; C:/foo;"
Wijzig uw omgevingsvariabele PATH naar
"C:/mhvavrtools/bin; C:/moo; C:/foo;"
Ik denk dat MHV AVR Tools is ontbreekt op sommige onderdelen, zoals "make.exe", gejaagd ik welke uitvoerbare bestanden die ik nodig had toen ik fouten zeggen ze ontbraken.
Of u kunt gewoon installeren WinAVR die wordt geleverd met alles, maar WinAVR wordt niet langer onderhouden en voor nieuwe chips zal niet steunen, omdat het zal niet worden bijgewerkt.
Als u wilt wijzigen uw PATH-omgevingsvariabele in Windows, ga naar Controlebord -> Systeem -> Geavanceerd -> omgevingsvariabelen, en zoek vervolgens naar "Pad" of "Pad" of "pad" binnen de variabelen van het systeem.
Compileren met Makefiles
Een makefile is een script dat de tool "make" (GNU Automake) wordt uitgevoerd. Het belangrijkste idee is hier is dat u kunt de makefile met sommige configuratie-instellingen voor uw project Edit (zoals wat AVR-processor je bent met behulp van welke kloksnelheid die u uitvoert op, enz), en ook vertellen welke bestanden moet worden opgesteld in uw project (doe een zoekopdracht voor "SRC =" binnen de makefiles ik verstrek).
Het algemene script werkt als dit, wanneer u "make all" op de opdrachtregel Execute, de "all" sectie vereist "bouwen" te doen en "bouwen" genereert de laatste hexadecimaal bestand die u zal uploaden.
Maar om deze hexadecimaal bestand genereert, bouwen een elf-bestand vereist, en de elf om bestand te genereren, u een .o-bestand voor elk van uw broncode-bestanden moet. De makefile is ontworpen met een set van regels, zodat als een vereist bestand ontbreekt, de juiste commando's worden gebruikt voor het genereren van het bestand voordat u naar de volgende stap. Als een bestand dat nodig is reeds bestaat, zal het deze stap overslaan.
Het is belangrijk op te merken dat aangezien bestanden worden niet automatisch opnieuw gegenereerd, als u uw code wijzigen, u uitvoeren moet "make clean", die is geschreven om de oude bestanden te verwijderen. Dit zorgt ervoor dat uw nieuwe code is gecompileerd, als u een build weer, niet de oude code uitvoert.
Voor onze doeleinden, heb ik een makefile met elk voorbeeld demonstratie en de laatste broncode opgenomen. Maak je geen zorgen over het bewerken van het tenzij er iets ernstig mis is.
Als u mijn makefiles, open een console of de opdrachtprompt, en navigeer naar waar de makefile is (met de opdracht 'CD' zo "CD c:/projectfolder /"). Vervolgens uitvoeren "Maak". Als de samenstellers u eventuele fouten geven, of als u een van de code, wijzigt vervolgens eerst de fouten corrigeren, vervolgens uitvoeren "make clean" en "Breng" weer op te bouwen.
Uploaden van Code:
Voor het uploaden van de code aan de Teensy ++, moet u het hulpprogramma van de bootloader geboden door PJRC.com, die Teensy en Teensy maakt ++.
Maar als u ervoor niet kiest te gebruiken de Teensy ++ bootloader (om verschillende redenen, zoals ik, die gebruik maken van een aangepaste bootloader), vervolgens neem edit de makefile en configureren van de sectie 'programma' met de juiste instellingen (in wezen de instellingen AVRDUDE moet), en dan mag u de opdracht "make programma" code uploaden naar de AVR microcontroller via AVRDUDE (uiteraard via een AVR-programmer of een andere bootloader).
Meer AVR Microcontroller Tutorials en middelen:
http://hackaday.com/2010/10/23/AVR-Programming-Introduction/
http://www.ladyada.net/Library/avrdevtut/index.html
http://imakeprojects.com/projects/AVR-tutorial/
http://winavr.scienceprog.com/avr-gcc-tutorial/
http://www.avrfreaks.net/index.php?name=PNphpBB2&File=viewforum&f=11
http://www.Sparkfun.com/commerce/tutorials.php
http://www.Frank-Zhao.com/usnoobie/tut_proj.php