Actions

Programmera AVR med Mac OS X

From Chalmers Robotics

Denna lösning är numera testad i både 10.5 och 10.6 och fungerar i båda systemen. Det är möjligt att man inte behöver det installera dev-support, eftersom det kanske följer med CrossPack-AVR. Ifall det inte fungerar och du får felet att den inte kan hitta GNU make så behöver du installera dev-support. Det finns på installations-DVDn under Optional Installs -> XCode. Notera att det finns en hel del nyttig kunskap att hämta i artikeln om AVR under Linux här intill, eftersom både metoderna använder Eclipse med AVR-pluginet och liknar varandra en del.

Nytt tillägg: Hittade en annan guide som har bilder på varje steg. Den gör mer eller mindre samma sak som min, men kan vara lite mer pedagogisk. http://interactive-matter.org/how-to/developing-software-for-the-atmel-avr-with-avr-eclipse-avr-gcc-avrdude/

Eventuellt kan CrossPack-AVR göra det möjligt att programmera AVRer i XCode, men detta är ingenting som är testat. Eclipse är ändå mycket trevligare :).

  • Hämta hem [[1]] och installera det. Notera att CrossPack-AVR tidigare hette AVRMacPack.
  • Hämta och installera Eclipse för C/C++, finns på http://www.eclipse.org/downloads/
  • Starta Eclipse och gå in på Help->Install New Software...
  • Välj Add och skriv in hemsidan http://avr-eclipse.sourceforge.net/updatesite/
  • Följ sedan instruktionerna för att installera uppdateringarna
  • Starta om Eclipse
  • Välj Window->Open Perspective->Other...->C/C++
  • Starta ett nytt C Project (File->New->C Project). Låt projektet som "Empty Project" av typen AVR Cross Target Appliction och se till att du har AVR-GCC Toolchain i "Toolchains" till höger.
  • Markera projektet och välj Project->Properties (du kan även sekundärklicka eller använda kortkommandot alt+enter)
  • Välj C/C++ General->Paths and Symbols
    • Använd Add för att lägga till Include-mappen för AVR-libc och skriv in följande path (den är för den senaste versionen av CrossPack. Det du viull lägga till är en mapp som heter include och innehåller alla io.h-filer för avr): "/usr/local/CrossPack-AVR-20100115/avr-4/include" Välj Add to all languages och Add to all configurations. Detta är för att du ska få tillgång till de olika standardkommandon och portadresser som används av AVR.
    • Klicka på Apply (den kommer nu fråga om du vill bygga projektet, vilket inte spelar någon roll just nu)
  • I menyn till vänster finner du även AVRdude under AVR. Gå in där.
    • Under Programmer, välj New (bredvid configuration)
    • Välj en lämplig programmerare från menyn till vänster. Nedan är några bra exempel:
      • AVRisp mkII: Skriv usb i fältet vid override default port
      • AVRdoper (CRFs egna programmerare): Välj Atmel STK500 Version 2.x firmwire, skriv avrdoper i override default port
    • Välj vilken programmerare du vill ha, och tryck Apply
  • Välj din microprocessor under AVR->Target Hardware (Välj i listan eller plugga i den och klicka på Load from MCU). Ställ även in processorns klockfrekvens (ska vara 8000000 för ATMega168)
    • Tryck Apply
  • Bygg en häftig robot! :)

Ifall det inte fungerar så är det möjligt att du måste lägga till globala bibliotek och byggare. Detta ska göras automatiskt (tror jag), men ifall det behövs så hittas dom via generella Preferences (cmd + ,) under AVR-Paths. Där ska du lägga till ungefär samma sökvägar som för Includemappen, men med vissa små ändringar. För AVR-GCC och AVRDude ska "/usr/local/CrossPack-AVR-20100115/bin" användas. För AVR Header Files ska samma sökväg som för include-filerna användas ("/usr/local/CrossPack-AVR-20100115/avr-4/include"). För GNU make ska det vara /usr/bin (vilket är default).

Av Erik Sternå


Kommentar

Endast enklare utkast i dagsläget. Förhoppningsvis blir det lite mer ordentlig renskrivning. Uppdaterat 2011-04-25 med att förenkla lite och att anpassa efter CrossPack-AVR, som AVRMacPack numera heter.