Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller mit apple Mac programmieren


von Samuel P. (samsam)


Lesenswert?

Hallo,

ich moechte gerne mit meinem MacBook Mikroncontroller programmieren.
In einem aelteren Thread habe ich nun gelesen dass sich hierfuer 
AVR-Mikrocontroller von Atmel eignen.
Nun ist meine Frage noch ob ich diese auch mit Xcode, der 
Entwicklungsumgebung von apple, programmieren kann.
Wenn ja, wie?
Wenn nein, was fuer eine Entwicklungsumgebung brauche ich dann?

Zur Programmierung des MueC, kann ich da einfach einen USB-RS232 
Konverter verwenden (da ich bei meinem MacBook nur Firewire und USB 
Schnittstelle habe)?


P.S Ich bin noch Student und habe das Thema Mikrocontroller seit diesem 
Semester und wuerde mich gerne noch mehr damit befassen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Xcode wirst Du nur verwenden können, wenn Du einen anderen Compiler 
verwendest; Du benötigst schließlich einen zum jeweiligen Controller 
passenden Crosscompiler. Xcode wäre dann nur noch eine IDE, also ein 
Editor und ein Werkzeug zum Aufrufen von make.

Sinnvoller als ein einfaches Programmiergerät ist ein JTAG-Interface zum 
Debuggen, aber das mag jeder für sich selber entscheiden. AVRs sind 
aufgrund der recht teuren JTAG-Interfaces und der nicht bei jeder 
AVR-Variante vorhandenen JTAG-Schnittstelle hier eher ungeeignet.

Eine vollständige Unterstützung von JTAG-Interfaces per USB bietet 
Rowley Crossworks, das nativ auf dem Mac läuft und für die 
Prozessorarchitekturen ARM7, ARM9, XScale und CortexM3, sowie TI MSP430, 
Atmel AVR und Dallas/Maxim MAXQ verfügbar ist.

Für AVRs gibt es dann noch das hier:
http://www.obdev.at/products/crosspack/index.html


Eine Alternative für Intel-Macs ist die Verwendung einer 
Windows-Installation unter VMware Fusion oder Parallels Desktop, darin 
laufende Software wie die Windows-Version von Rowley Crossworks oder IAR 
Embedded Workbench kann auch auf einem Mac per USB angeschlossene 
JTAG-Interfaces bedienen.

von Jörg H. (dr_coolgood)


Lesenswert?

Hallo Samuel,

ich benutze als Editor TextWrangler, zum Kompilieren ein Makefile, 
avr-gcc und avr-libc, zum Programmieren avrdude und ein STK500V2 
kompatiblen Programmer.

Die Programmierer sind ein Problem beim Selbstbau, weil Du einen 
Programmierer brauchst, um den Chip darauf zu programmieren...

Einsteiger solten fertige Programmierer nutzen, sonst dauert es zu lange 
(oder ewig!) bis zum ersten Erfolgserlebnis.

Anbei meine Mac Links:
http://www.anyma.ch/2006/research/avronmac/
http://www.ladyada.net/library/avrdevtut/setup-mac.html
http://home.arcor.de/torsten.schoenitz/uc_dev/avr/avr.html
http://members.bellatlantic.net/~vze35xda/xdev/index.html

XCode ist als IDE toll, aber für einen AVR eine Nummer zu groß und 
schwer - was meiner Meinung nach auch für Eclipse gilt. Aber die 
Geschmäcker sind unterschiedlich.

Die Doku zu avr-libs enthält eine sehr exakte Anleitung wie Du Dir alle 
Komponenten übersetzt. Das ist zwar ein wenig Arbeit, aber man lernt 
viel.

Ich habe ich noch ein AVR Bastelboard und einen myAVR übrig, wenn Du 
Interesse hast.

Viel Erfolg und Spaß,
Jörg

von Purzel H. (hacky)


Lesenswert?

Als Ingenieur solltest du dich langsam vom MAC verabschieden. Das ist 
was fuer kuenstlerische Berufe. Die ganze Technik haengt am Windows PC. 
Ist leider so.

von Ephraim H. (ephi)


Lesenswert?

ich nutze den Crosspack. Funktioniert wunderbar mit Xcode. Dazu 
natürlich am einfachsten den AVRISP MkII und AVRDude

von Michael H. (mah)


Lesenswert?

Wenn Du nur mal lernen willst, wie das  geht, ist Arduino eine ganz 
brauchbare Plattform - auch am Mac. Die neueren lassen sich direkt über 
USB programmieren, ohne Programmieradapter (haben einen Bootlader).

Ansonsten würde ich Eclipse und das AVR plugin empfehlen. Ist ein 
bisschen steil am Anfang, aber mit der Zeit rentiert sichs.

Bei den Programmier- und JTAG-Adaptern muss man ein wenig aufpassen - 
kein Parallelport, daher nur USB möglich. Insbesonders bei chinesischen 
JTAGICE clones wäre ich vorsichtig.


-Michael

von D. B. (deadbuglabs)


Lesenswert?

Ich benutze das CrossPack von obdev. Als Editor nehme ich Smultron.
Texteditor und iTerm (ähnlich wie Terminal) laufen nebeneinander. 
Kompiliert wird mit make und geflasht mit avrdude. Der Programmer ist 
ein USBAsp von fischl.de. Neuerdings auch ein Dragon. Für Notfälle habe 
ich noch eine virtualisiertes WinXP.

von Vitor L. (viri)


Lesenswert?

Benutze Win XP unter Parallels Desktop und dort AVRStudio.
Entwickeln, Debuggen und Programmieren geht problemlos. JTAGICE MKII 
über USB angeschlossen läuft reibungslos. Eclipse habe ich auch 
probiert, ich hatte allerdings ständig Probleme mit AVRICE in 
Kombination mit dem JTAGICE über USB. Die usblib hat mein XP beim Boot 
ständig abgeschossen (BSOD). Bin dann doch wieder bei AVRStudio 
gelandet. Der Editor könnte ETWAS besser sein - man gewöhnt sich aber 
auch daran.

Gruß

Vitor

von brumbaer (Gast)


Lesenswert?

Ich verwende avr-gcc unter XCode.

Ich habe zwei Targets eingerichtet, eins zum reinen Kompilieren/linken 
und eins für die ISP-Programmierung mittels Avrdude.

Die ganze Geschichte ist "transparent" man merkt im Normalfall keinen 
Unterschied zu einem Cocoa-Projekt. Allerdings habe ich keinen Debugger 
eingerichtet, da ich nur einen Programmer und kein JTag Interface 
verwende.

Wechselt man den Prozessor, so muss man Projektvariablen ändern, was 
über Einstellungen in der XCode IDE gemacht wird.

Für mich persönlich ist diese Lösung wesentlich besser als Eclipse oder 
oder Programme unter Windows, ob VM oder real, da ich die selbe Ide für 
"normale" Software und Controller Projekte verwenden kann.

Für Schaltpläne verwende ich Eagle, das auch unter OS X läuft.

Das eine oder andere "Projektchen", das ich mit der Kombination 
XCode/Eagle realisiert habe, ist unter

http://www.slotbaer.de/index.php/slotbaer-projekte-digital/44-k2d124d132?layout=slotbaer

zu finden.

mfg
SH

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Als Ingenieur solltest du dich langsam vom MAC verabschieden. Das ist
> was fuer kuenstlerische Berufe. Die ganze Technik haengt am Windows PC.
> Ist leider so.

Das ist natürlich Quark, wie man an der Tatsache erkennt, daß mehr und 
mehr Anwendungen auf den Mac portiert werden. Cadsoft Eagle und Rowley 
Crossworks sind nur ein paar Beispiele.

Als Ingenieur sollte man sich von vorgefertigten Meinungen verabschieden 
und mal über Tellerränder hinwegsehen.

Seitdem OS X auf Intel-Hardware läuft und mit Produkten wie VMware 
Fusion oder Parallels Desktop brauchbare Virtualisierung möglich ist, 
und mit Crossover (dem kommerziellen Wine-Ableger) sogar etliches aus 
der Windows-Welt nichtvirtualisiert laufen kann, wird dieses 
Desktop-Unix immer interessanter.

(Pedanten hätten jetzt noch darauf hingewiesen, daß es "Mac" und nicht 
"MAC" heißt, aber das schenke ich mir jetzt mal)

von STK500-Besitzer (Gast)


Lesenswert?

>> Als Ingenieur solltest du dich langsam vom MAC verabschieden. Das ist
>> was fuer kuenstlerische Berufe. Die ganze Technik haengt am Windows PC.
>> Ist leider so.

>Das ist natürlich Quark

Stimmt. Linux wäre dann auch nur was für Nerds...
(Frei nach der Sendung mit der Maus: das war jetzt OT...)

von Michael H. (mah)


Lesenswert?

Re  Virtualisierung

Ich hatte anfänglich Parallels, aber das hatte grade bei USB-Support für 
non-XP Betriebssysteme Probleme  und die Upgrade-Politik war schlicht 
eine Frechheit

Bin auf Virtualbox umgestiegen - kostet nichts und ist (nicht nur auf 
dem Gebiet) wesentlich besser. Wunderbar für die paar wenigen Sachen, wo 
ich XP noch brauche.


-Michael

von Ephraim H. (ephi)


Lesenswert?

brumbaer schrieb:
> Ich verwende avr-gcc unter XCode.
>
> Ich habe zwei Targets eingerichtet, eins zum reinen Kompilieren/linken
> und eins für die ISP-Programmierung mittels Avrdude.

Wie hast du das mit dem target fürs ISP gemacht? Ich hab das irgendwie 
nicht hinbekommen, und nehm dafür immer noch das Terminal...

von brumbaer (Gast)


Lesenswert?

>Wie hast du das mit dem target fürs ISP gemacht? Ich hab das irgendwie
>nicht hinbekommen, und nehm dafür immer noch das Terminal...

Ich habe ein neues "Shell Script Target" angelegt und als Script

/usr/local/AVRMacPack/bin/avrdude -p ${DUDEPROC} -c avrispv2 -Pusb -u 
-Ulfuse:w:${LFUSE}:m  -Uhfuse:w:${HFUSE}:m  -U flash:w:build/AVR.rom:i 
-Uefuse:w:${EFUSE}:m  -B 5.0

eingetragen.

Die Werte für die  Variablen werden über "Edit Project Settings" als 
"User-Defined-Settings" eingegeben.

Die Pfade für AVRDude und dein Rom-File musst du natürlich anpassen.

mfg
SH

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.