Forum: Mikrocontroller und Digitale Elektronik Mac OSX und AVR


von FrankH (Gast)


Lesenswert?

Diese Anleitung wurde von einem Anfänger für Anfänger erstellt.
Vieles ist sicher nicht ganz korrekt bezeichnet und vieles könnte noch
viel genauer beschrieben werden, aber wie schon gesagt habe bin
ich selber noch Anfänger.
Ich übernehme auch keine Verantwortung wenn es nicht klappt oder
schlimmeres passiert.

Ich programmiere meinen "myAVR Board 2 USB" unter Leopard auf
meinem Macbook. Mit dem Mac geht es wirklich einfach und schnell
und hier erkläre ich wie das geht.

Was mache ich?
schliesse mein AVR-Board an (USB)
öffne das Terminal
erstelle ein Projekt
schreibe make flash
tata, fertig!


Was brauche ich dafür?

01.  Treiber für das Board, entweder auf der mitgelieferten CD
       oder vom Hersteller
02.  AVRMacPack (kann easy installiert werden, kein Terminal
      Installationswirrwar)
03.  Mikrocontrolleranweisungen für das Terminal
       (3 kleine Befehle, mehr nicht)
    a.  make clean
    b.  make
    c.  make flash
04.  Xcode (optional)

Wie fange ich an?

05.  AVRMacPack runter laden und zwar hier:
  http://www.obdev.at/products/avrmacpack/download-de.html
  es kommt als .dmg daher, also einfach installieren.
06.  Treiber für das jeweilige Board installieren.
07.  Einen Ordner erstellen zB.:   AVR
       den Ordner "AVR" würde ich gleich im BenutzerOrdner erstellen.
                Finder->"Benutzername" öffnen->Ordner "AVR" erstellen.
       --warum gerade dort hin? seht ihr später selber...

jetzt geht es los, wir erstellen ein AVR-Projekt
08.  Terminal öffnen.
       Finder->Programme->Dienstprogramme->Terminal
(TIPP: zieht es euch gleich in das Dock, ihr braucht es ja doch öfters)

Wir müssen jetzt in unseren Ordner AVR navigieren, dh. statt mit dem
Finder in unseren AVR-Ordner zu gelangen, müssen wir das jetzt mit
dem Terminal machen.
09.  Terminal:
    ls -l    //zeigt den Inhalt des Ordners an in dem ihr euch
              //gerade befindet dort befindet sich jetzt auch der
              //neue "AVR"-Ordner
    cd avr      //jetzt wechselst du in den "AVR"-Ordner
    avr-project test1  //erstelle ein AVR-Project mit dem
                               //Namen "test1"
    ls -l    //zeigt den Inhalt des Ordners "AVR" an, in dem ihr
              //euch gerade befindet

Was hast du jetzt gemacht?
Du hast in deinem Ordner "AVR" einen neuen Ordner mit dem
Namen "test1" erstellt.
Darin sind enthalten:
  Ordner "firmware"  //in dem Ordner befindet sich dein main.c und
                              //das Makefile)
  XcodeProjektdatei  //kann erstmal ignoriert werden

Schau dir ruhig den Ordner mit dem Finder an, aber schliesse nicht dein
TerminalFenster. Sonst musst du wieder neu zu dem Ordner "test1"
navigieren.

//********************************************************************** 
*******
ACHTUNG! Bis hier war glaube ich alles einfach, jetzt wird es ein wenig
heikel. Wir müssen dein Makefile anpassen, damit dein Computer weiß
wohin er dein Programm (.hex) schicken soll.
das Makefile kannst du über dein Finder öffnen, oder mit dem Terminal.
Wir probieren mal das Terminal. Laut Terminal befindest du dich noch
im "test1"-Ordner

  Terminal:
         cd firmware  //jetzt wechselst du in den "firmware"-Ordner
         open makefile  //öffne das Objekt makefile


Der TextEdit öffnet sich jetzt und nun suche die Zeile:
         PROGRAMMER = -c stk500v2 -P avrdoper

Da ich das myAVR Board 2 USB habe muss ich die Zeile abändern und
wieder abspeichern:
         PROGRAMMER = -c avr910 -P /dev/tty.SLAB_USBtoUART

Ihr ändert den "ControllerTyp" in -> "avr910", und wohin das Programm
(.hex) gesendet werden soll in -> "/dev/tty.SLAB_USBtoUART"

("SLAB_USBtoUART" ist auch der Name des Treibers den du installierst 
hast)

Kommt natürlich immer auf das Board an, welche Eingaben ihr da
vornehmen müsst.
//********************************************************************** 
*******
Wir wollen nun programmieren.
Laut Terminal befindest du dich noch im Ordner "firmware", jetzt öffnen
wir das main.c
10.  Terminal:
            open main.c  //öffne das Objekt main.c

Ein neues Fenster wird geöffnet, wenn ihr Xcode installiert habt, dann 
ist
das ein kleines XcodeFenster. Hier steht schon ein wenig was, schreibt
das Programm und speichert das main.c  ab.

TIPP:  Ich selber habe am linken Bildschirmrand mein
    Programmierfenster (main.c) und rechts das Terminal. Das
    vereinfacht und beschleunigt den Arbeitsablauf.

OK, wir haben das Makefile und den Code in das main.c  eingetragen,
jetzt kommen noch 3 Schritte/Befehle und dein Board sollte machen was
immer du auch programmierst hast.
Diese 3 Schritte führst du auch nach jeder Änderung aus.

11.  Terminal:
             make clean  //löscht main.elf , main.hex , main.o
                                //-->wenn schon vorhanden
             make           //kompilliert dein Programm und erstellt
                                //main.hex , main.o , main.elf
             make flash  //brennt deine .hex in dein Board


//********************************************************************** 
*******
ich hoffe jetzt funktioniert es bei euch. Wenn ihr Xcode installiert 
habt,
dann könntet ihr nach dem erstellen des Projektes auch das
programmieren und kompillieren mit Xcode machen. Ich selber
bevorzuge aber die Terminalvariante, das ist einfacher und geht 
schneller.
Hier nochmal einige Terminalanweisungen zur Übersicht:

  cd xy    //jetzt wechselst du in den "xy"-Ordner
  cd ..      //jetzt wechselst du in den übergeordneten
              // Ordner "zurück"
  open yz    //öffne das Objekt "yz"
  mkdir uvw  //erstelle einen Ordner mit den Namen "uvw"
  ls -l      //zeigt den Inhalt des Ordners an in dem du dich
              //gerade befindest
  pwd      //zeigt den Pfad bis in den jetzigen Ordner an



Wenn ihr euch ein wenig eingearbeitet habt dann könnt ihr auch das
Makefile und das main.c  abändern, dann ist nach jedem erstellen eines
neuen Projektes schon eure Änderungen enthalten.
das geht so:
1.  Terminal:
            cd /
            open usr
jetzt öffnet sich ein FinderFenster, in diesen Ordner "usr" kommt ihr
normalerweise nicht mit den Finder rein(soweit ich das weiß).

--> local--> AVRMacPack-"Versionsnummer"--> etc--> templates
  --> TemplateProject--> firmware

Dort sind nun das Makefile und das main.c,
      -makiert beide,
      -haltet die alt-Taste gedrückt und die linke Maustaste
      -zieht die beiden Objekte aus dem Fenster auf den Desktop
lasst das FinderFenster noch geöffnet, ihr braucht es noch
      -ändert das Makefile und das main.c nach euern Bedürfnissen ab
        und abspeichern
      -die abgeänderten Objekte wieder makieren und vom Desktop in
        das noch geöffnete FinderFenster legen
      -Warnmeldung kommt, drückt auf "identifizieren", dann auf 
"ersetzen"
      -zum Schluß müsst ihr noch mit dem Passwort bestätigen

Wenn ihr nun ein neues AVR-Projekt beginnt, braucht ihr nichts mehr
ändern und könnt gleich loslegen.

Viel spass dabei
Frank

von macuser0815 (Gast)


Lesenswert?

Ein paar Tipps von meiner Seite:

Statt viele (nicht geöffnete) Programme im Dock zu haben, einfach 
Spotlight nutzen oder eine Menu selber basteln. Einfach einen Ordner 
anlegen, da seine Programme reinlinken (Apfel + Alt) und diesen Ordner 
in das Dock ziehen. Den Ordner dann statt als Stapel als Ordner anzeigen 
lassen.

Das Verzeichnis usr erscheint nicht im Finder, weil es für den Finder 
versteckt ist. Am einfachsten gelangt man in den Ordner mit "Gehe zum 
Ordner..." im Finder direkt. Da den gewünschten absoluten Pfad eingeben. 
In diesem Fall also "/usr". Den Umweg übers Terminal erspart man sich 
damit.

Man kann aus XCode auch gleich flashen, in dem man beim Target firmware 
die Arguments von "$ACTION" nach "$ACTION flash" ändert. Geschickter ist 
es jedoch, wenn man das Target firmware dupliziert und bei der Kopie die 
Arguments ändert.

Gruß mano

von FrankH (Gast)


Lesenswert?

Hallo mano,
Dank an mano für die Tipps.
Für alle die es interessiert, hier das Tutorial:

http://freenet-homepage.de/frank_hafer/OSXAVR/Startseite.html

Gruß
Frank

von FrankH (Gast)


Lesenswert?

Oder auch hier mal schauen:

http://osxentwicklerforum.de/thread.php?threadid=5925

Gruß
Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.