Hey,
ich studiere Elektrotechnik und habe somit schon allerlei Elektronik
Background, allerdings würde ich gerne jetzt auch mit der µC
Programmierung anfangen, stehe aber vor einigen Fragen.
1) Welchen Programmer sollte ich benutzen? Werde wohl mit AVR µC
arbeiten!
- Reicht der mysmartusblight oder sollte ich den AVRISPMKII vorziehen?
- Wo liegen die Unterschiede?
- Brauch ich eine externe Spannungsversorgung (9V Batterie) oder kann
das alles über die USB-Schnittstelle meines Laptops über den Programmer
laufen?
2) Welches fertige Board kann man für die ersten Gehversuche empfehlen,
was möglichst auch über Display, Taster, LEDs, etc. verfügt und somit
schon einen Großteil der Spielereien abdeckt? Bin auf das Arduino Uno R3
gestoßen, aber kann ich das mit Atmel Studio 6.2 in C programmieren?
3) Ich bin leicht überfordert mit den verschiedenen Möglichkeiten der µC
Programmierung. AVR, ARM, MSP?! Was wird denn in der Industrie am
meisten verwendet und woran unterscheiden die sich?
4) Verstehe ich das richtig, dass Atmel Studio meine
Entwicklungsumgebung darstellt und WinAVR mir unter anderem den
benötigen C-Compiler zur Verfügung stellt? Sonst sollte ich doch
eigentlich nichts Weiteres benötigen?!
Im Allgemeinen habe ich schon viel gelesen, aber hier und da wird man
doch mit dem Kram so überhäuft, dass man garnicht weiß auf wen man hören
soll und was jetzt vernünftig ist sich anzuschaffen. Vielleicht könnt
ihr mir da helfen.
P.S: Wer noch Vorschläge für geeignete Literatur zur µC Programmierung
hat, kann das gerne auch posten! Erfahrung in C habe ich, also die
Programmierung an sich sollte jetzt nicht so die riesige Umstellung
sein. C muss jetz also nicht von Grund auf erklärt sein!
Harald schrieb:> Bevor du dich an die µC-Programmierung machst würde ich dir empfehlen> die Recherche im Internet zu beherrschen.
Fuer ein "Studium" ist sowas gar keine ueble Faehigkeit.
Justin Credible schrieb:> Wieder mal Antworten, die keine sind...>> Wozu braucht's ein Forum, wenn man keine Fragen stellen darf oder sich> alles selbst beantworten soll?
Warum hilfst du dann dem mario nicht einfach und beantwortest brav alle
seine Fragen?
mario schrieb:> Verstehe ich das richtig, dass Atmel Studio meine> Entwicklungsumgebung darstellt und WinAVR mir unter anderem den> benötigen C-Compiler zur Verfügung stellt?
Der Compiler ist im Atmel Studio enthalten...
cyblord ---- schrieb:> Justin Credible schrieb:>> Wieder mal Antworten, die keine sind...>>>> Wozu braucht's ein Forum, wenn man keine Fragen stellen darf oder sich>> alles selbst beantworten soll?>> Warum hilfst du dann dem mario nicht einfach und beantwortest brav alle> seine Fragen?
ich verstehe Justin sehr wohl, statt solche flachsige Antworten, solltet
lieber schweigen!!
Es ärgert mich auch dieser Besserwisserei unheimlich.
Solche Typen habe ich bei der Arbeit auch genug!!..es muss irgendwo ein
riesen Nest gleichgesinnter sein.
Ciao
ydeg
mario schrieb:> - Reicht der mysmartusblight oder sollte ich den AVRISPMKII vorziehen?
Lieber den AVRISP. Fehlerquellen gibt es gerade am Anfang genug und es
ist schön, wenn man sich wenigstens beim ISP halbwegs sicher sein kann,
dass er nicht die Ursache ist.
mario schrieb:> - Brauch ich eine externe Spannungsversorgung (9V Batterie) oder kann> das alles über die USB-Schnittstelle meines Laptops über den Programmer> laufen?
Der AVRISP kann die Schaltung nicht speisen, andere ISP können das
teilweise. Von einer Versorgung über den USB-Anschluss eines Computers
rate ich ab. Wenn du durch einen Fehler den µC zerstörst, kostet das ein
paar Cent - wenn der Laptop detoniert, ist der Ärger ungleich größer.
Mit Batterien oder einem kleinen Steckernetzteil und dazu ein 7805
kommst du für den Anfang gut aus.
mario schrieb:> Welches fertige Board kann man für die ersten Gehversuche empfehlen
Da sollen sich andere äußern. Du lernst mehr, wenn du deine Schaltungen
selbst auf Breadboards aufbaust.
mario schrieb:> Ich bin leicht überfordert mit den verschiedenen Möglichkeiten der µC> Programmierung. AVR, ARM, MSP?!
Erstens GIDF, zweitens hast du dich ja schon für AVR entschieden, also
kannst du den Rest für den Moment ignorieren. Die Frage kommt dann
wieder auf die Agenda, sobald du noch etwas lernen willst. Für die
üblichen Anfängerprojekte (und noch sehr viel mehr) sind sowieso alle
Platformen mehr als ausreichend.
mario schrieb:> Verstehe ich das richtig, dass Atmel Studio meine> Entwicklungsumgebung darstellt und WinAVR mir unter anderem den> benötigen C-Compiler zur Verfügung stellt?
Kann man so machen, muss man aber nicht. Man kann auf eine IDE komplett
verzichten und sich selbst mit avr-gcc und avrdude beschäftigen, man
kann eclipse mit dem passenden Plugin verwenden - mach es so, wie es dir
am besten gefällt.
Justin Credible schrieb:> Wozu braucht's ein Forum, wenn man keine Fragen stellen darf oder sich> alles selbst beantworten soll?
Irgendwann ist es auch der Geduldigste Leid, jeden Tag das Gleiche zu
posten.
Es zeugt nicht gerade von guter Kinderstube, neu in ein Forum
reinzukommen und sofort riesengroße Scheuklappen aufzusetzen und ja
nicht und auf gar keinen Fall und nie und nimmer erstmal etwas zu lesen
zu versuchen.
Links oben steht groß und fett AVR, einfach mal drauf klicken.
Dann findet man unter anderem:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment
Ich probiere es mal...
Und bitte Anmelden (tut nicht weh). Einem Gast antwortet man nicht so
gern ausführlich.
mario schrieb:> ich studiere Elektrotechnik
Cool.
> 1) Welchen Programmer sollte ich benutzen? Werde wohl mit AVR µC> arbeiten!> - Reicht der mysmartusblight oder sollte ich den AVRISPMKII vorziehen?
Gönne dir was, und erzeuge keine künstlichen Probleme. Echt furchtbar
was man hier manchmal lesen muss: AVRISPMKII ist die richtige Wahl.
(Wird beim Arduino zunächst nicht benötigt)
> - Wo liegen die Unterschiede?
AVRISPMKII ist ein Werkzeug, das andere ein Spielzeug.
> - Brauch ich eine externe Spannungsversorgung (9V Batterie)
Ja. ( ich höre schon den Aufschrei, aber glaube mit es ist so.)
> oder kann> das alles über die USB-Schnittstelle meines Laptops über den Programmer> laufen?
Nein. ( Da Rate ich dringend von ab. ) Ab einer bestimmten Größe der
Schaltung ist eine Versorgung über den Programmer nicht mehr möglich.
Beim Multispannung natürlich auch nicht. Also gar nicht erst angewöhnen.
> 2) Welches fertige Board kann man für die ersten Gehversuche empfehlen,> was möglichst auch über Display, Taster, LEDs, etc. verfügt und somit> schon einen Großteil der Spielereien abdeckt? Bin auf das Arduino Uno R3> gestoßen, aber kann ich das mit Atmel Studio 6.2 in C programmieren?
Ja, kann man mit Atmel Studio 6.2 programmieren. Arduino ist sicher eine
gute Wahl. Lese dir bitte die Eigenschaften in Detail durch.
> 3) Ich bin leicht überfordert mit den verschiedenen Möglichkeiten der µC> Programmierung. AVR, ARM, MSP?! Was wird denn in der Industrie am> meisten verwendet und woran unterscheiden die sich?
Benötigt werden sie alle. Sie haben alle ihre vor- und nachteile.
Die Meinung geht sicher weit auseinander womit man anfängt. Wenn das
Programmieren im Vordergrund liegt und ein Breadboard kein Spaß macht,
dann währen wir wieder beim Arduino. Und das ist meist ein ATmega.
> 4) Verstehe ich das richtig, dass Atmel Studio meine> Entwicklungsumgebung darstellt und WinAVR mir unter anderem den> benötigen C-Compiler zur Verfügung stellt? Sonst sollte ich doch> eigentlich nichts Weiteres benötigen?!
Falsch! Was ist WinAVR? Hab ich noch nicht benötigt. Atmel Studio ist
alles was Du brauchst. Da ist alles drin, und kost nix. GCC, C++ und
Assembler sind dabei. All inclusive. Nehme Assembler nur, wenn der Weg
das Ziel ist. GCC ist sicher angenehmer. Du wirst schon merken, wenn Du
mehr brauchst. Für den Start: GCC mit Atmel Studio.
> Im Allgemeinen habe ich schon viel gelesen, aber hier und da wird man> doch mit dem Kram so überhäuft, dass man garnicht weiß auf wen man hören> soll und was jetzt vernünftig ist sich anzuschaffen. Vielleicht könnt> ihr mir da helfen.
Ja, das wird noch lustig. Bin mal auf die Antworten gespannt.
Schaue dir zunächst die Arduinos an. Dafür wird zunächst kein Programmer
benötigt ( Bootloader ) und Löten musst Du auch nicht. Es ist ein
offenes System so dass man auch den AVRISPMKII anschießen kann, wenn man
will. (Das Klingt so interessant, das ich mir vielleicht auch mal ein
Arduino zulegen sollte ;-) )
ich habe mir damals'TM (vor 2 Jahren) als Einstieg folgendes geholt. Zu
lesen gibts ja genug im Netz und in Datenblättern^^
Programmer: AVR Dragon
Board: Arduino Uno
Das Uno-Board hab ich mir geholt und bin dann mit dem Programmer dran
weil halt fertig, man muss nichts großartig basteln. Die Arduino Libs
und den Bootloader wollt ich mir dagegen nicht antun ;-)
Allerdings stellt sich die Frage was du schon alles an Bastelkram hast.
Netzteil, Multimeter, Litzen, Breadboard, Hünerfutter, usw. ...
Ansonsten kommt man auch super mit dem TI Launchpad rein.
Launchpad kann ich auch nur empfehlen. Ich habe mit dem MSP-EXP430G2
angefangen was heute knapp 10 Dollar (am besten dierekt bei TI kaufen)
kostet. Im Grunde kannst du nur damit anfangen und Zubehör nach und nach
bei Ebay vom Chinesen.
Hey,
erstmal danke für die zahlreichen Antworten und ja ich weiß, "Welches
Board und welchen Programmer brauch ich für den Einstieg" kommt hier
sehr häufig. Muss vielleicht auch einfach mal selber anfangen und ein
bisschen Licht ins Dunkel bringen!
Hab hier doch noch ein myAVRboard light und einen mysmartusb light
rumfliegen, so dass ich wohl erstmal damit anfangen werde. Als Software
würde ich dann Atmelstudio 6.2 verwenden und mich mal an das Tutorial
hier setzen. Für das myavrboard brauch ich den mysmartusb light ja noch
nicht, weil sich ein Bootloader auf der Platine befindet, könnte diesen
aber über den 6-pin ISP-Anschluss, der sich auf dem befindet, nutzen,
korrekt?
Die Stromversorgung kann hier über die USB Schnittstelle, oder extern
über eine Batterie erfolgen. Habe nur ne 9V Batterie, brauch also noch n
5V Spannungsregler oder wie haben die sich das gedacht?
Gruß
mario schrieb:> ich studiere Elektrotechnik und habe somit schon allerlei Elektronik> Background,mario schrieb:> Habe nur ne 9V Batterie, brauch also noch n> 5V Spannungsregler oder wie haben die sich das gedacht?
Das paßt doch Alles nicht zusammen!
Hast Du denn schon einmal einen Multivibrator aufgebaut und eine LED
blinken lassen?
m.n. schrieb:> mario schrieb:>> ich studiere Elektrotechnik und habe somit schon allerlei Elektronik>> Background,>> mario schrieb:>> Habe nur ne 9V Batterie, brauch also noch n>> 5V Spannungsregler oder wie haben die sich das gedacht?>> Das paßt doch Alles nicht zusammen!> Hast Du denn schon einmal einen Multivibrator aufgebaut und eine LED> blinken lassen?
Das einzige was hier nicht passt ist die Schlussfolgerung, dass man bei
E-Technik Studium automatisch den Background hat.
3-4 Semester Mathe und eventuell ne Messreihe an ner fertigen Schaltung.
Wenn man die Kabel da selber stecken darf ist man schon hart in der
Praxis... Erst im Aufbaustudium geht es dann los mit selbstständigem
Denken.
Finde ich super, dass du selbst in der Richtung Erfahrungen sammeln
möchtest.
Bevor du dir den AVRISP holst würde ich mir an deiner Stelle mal den AVR
Dragon anschauen. Der kostet nur unwesentlich mehr, unterstützt aber
Debug-Wire und JTAG. O.K. dafür sind keine Kabel dabei, aber die sind ja
schnell gebastelt.
Bernhard F. schrieb:> Bevor du dir den AVRISP holst würde ich mir an deiner Stelle mal den AVR> Dragon anschauen. Der kostet nur unwesentlich mehr, unterstützt aber> Debug-Wire und JTAG. O.K. dafür sind keine Kabel dabei, aber die sind ja> schnell gebastelt.
Da gehen die Meinungen wohl doch auseinander.
Der Dragon ist doch eher eine Bastellösung. Wenig Schutzschaltungen.
kein Gehäuse und kein Kabel. Klar kann man selber (wie war das Wort mit
B...) basteln. Dafür hat man Funktionen, die man für den Einstieg nicht
braucht und schwer zu bedienen sind. JTAG? Tolle Sache, wenn man einen
Anschluss dafür hat. Der ISP ist sehr oft zu finden, ein JTAG leider
nicht. Den muss man dann wieder ... RICHTIG ... basteln.
HV-Programmierung geht damit auch, wenn man einen Sockel auf den Dragon
(na, was wohl?) bastelt.
Der Dragon hat sicher seine Berechtigung für Leute die wissen was sie
tun.
Als solides Programmiergerät ist der AVRISPmkII aber unschlagbar. Da
funktioniert alles sofort, er ist fast schon Unkaputtbar und es ist
alles dabei.
Ich halte den Dragon, für den Einstieg, für unbrauchbar.
Aber das ist nur meine Meinung, es ist ja ein freies Land.
Hey,
habe noch ein/zwei Fragen:
Verstehe ich das richtig, dass ich entweder über ISP und einem
Programmer den µC beschreiben kann oder über die USBtoUART
Schnittstelle?
Über letzteres hätte ich zwar die 5V Versorgung des Boards, allerdings
habt ihr mir davon ja abgeraten. Die habe ich aber zwangsweise, wenn ich
mit dem USBtoUART Adapter arbeite, würde deshalb mit meinem mysmartusb
Programmer arbeiten. Habe noch ein Steckernetzteil
(http://www.amazon.de/Universal-Stecker-Netzteil-1000mA-MW3K10GS-Eco-Friendly/dp/B0038WU2Z0),
was auch auf 5 V (stabilisiert) einstellbar ist. Sollte also kein
Problem darstellen, wenn ich das Board direkt damit über eine
Hohlsteckerbuchse (HEBO13) versorgen oder?
Frühere Versionen der Atmel Entwicklungsumgebung (bis v4.19) enthielten
nur einen Assembler. Für C brauchte man zusätzlich eine sogenannte
Toolchain.
Für Windows gab es bis 2010 WinAVR, das ist eine von Linux portierte
Version des avg-gcc Compilers mitsamt Tools.
Inzwischen wird WinAVR nicht mehr gepflegt. Atmel bietet eine
gleichwertige Toolchain an. Diese ist inzwischen in das Atmel Studio
integriert worden.
Wenn Du auf die Software von Atmel verzichten möchtest, ist WinAVR trotz
seines Alters immer noch eine Empfehlung Wert. Ich komme damit gut klar.
Unter Linux installierst Du die Pakete avg-gcc und avrdude. Editieren
kannst Du die Programme im einfachsten Fall mit gedit oder kedit, aber
auch mit größeren IDE's wie Netbeans und Eclipse.
Wenn Du auf das Atmel Studio verzichtest, solltest Du dich gleich von
Anfang an mit Makefiles beschäftigen.
> Habe noch ein Steckernetzteil ... Sollte also kein> Problem darstellen, wenn ich das Board direkt damit über> eine Hohlsteckerbuchse (HEBO13) versorgen oder?
Ja, das geht. Ich mach das gerne auch mit Handy Netzteilen.
Batteriebetrieb geht auch gut - solange die Spannung zum Programmer
passt. Der von Atmel passt sich automatisch an die Spannung an (nicht
nur 3,3 und 5V).
> Dragon...Der ISP ist sehr oft zu finden, ein> JTAG leider nicht.
Einige Atmegas unterstützen DebugWire. Das ist der Reset-Pin, der im ISP
Stecker enthalten ist.
Ich hatte mal mit dem Dragon rumgespielt und fand ihn ganz nett. Nur
haben die Chips, die ich meistens verwende eben keinen Debug Wire Pin.
Ist aber nicht schlimm, denn meistens debugge ich mit Hilfe von
Logmeldungen, die ich seriell an einen Terminal-Emulator sende. Ist
billig, geht aber auch.
> Als solides Programmiergerät ist der AVRISPmkII aber unschlagbar.
Definitiv, keine Zicken, keine Aussetzer. Tut einfach was er soll.
> Ich halte den Dragon, für den Einstieg, für unbrauchbar.
Ich auch. Er ist sehr empfindlich. Man sollte ihn nur an Schaltungen
anschließen, die bereits erprobt sind. Als Zweitgerät zum AVRISPmkII
eine prima Sache.
Bei dem Board über den USB Port das Bord zu programmieren und mit Strom
zu versorgen empfehlt ihr auch nicht? Die Hohlsteckbuchse passt nämlich
nicht in die Löcher der Platine...könnt mir jetzt was zusammen
friemeln...oder ich mach's einfach über USB!
Habe mein erstes Testprogramm in C (Atmel Studio) geschrieben und die
.hex Datei erstellt. Jetzt will ich die auf den µC packen, allerdings
weiß ich nicht, wie die Einstellungen unter "Device programming" sein
müssen. Wollte das ganze erstmal über den USBtoUART Adapter
ausprobieren. Kann mir da jemand helfen?
mario schrieb:> AVR, ARM, MSP?! Was wird denn in der Industrie am> meisten verwendet und woran unterscheiden die sich?
Die Industrie steht auf Cortex (ARM) bei Mikrocontrollern. Damit würde
ich auch einsteigen.
Da dich hier aber schwer tust, solltest du den MSP430 nehmen. Das ist
eine schöne 16Bit CPU mit sehr guter Dokumentation und super günstigem
Einstieg: Launchpad. Da hast du alles an Bord, Eval-Board, Programmer,
Debugger, UART per USB, ...
Die Bedienung ist kindersicher. ;-)
Danke, wenn du das alles gelesen hättest, wüsstest du, dass ich soweit
fertig bin und nur noch das Programm über Atmel Studio in den µc
schreiben will.
Hey,
also das Problem besteht immer noch.
Möchte mein myAVRboard light programmieren und habe unter "Device
Programming" den STK500 (den ich vorher hinzugefügt habe) ausgewählt,
den ATMEGA8A ausgewählt und dann auf apply gedrückt. Dann erscheint aber
die Fehlermeldung "unable to connect to tool stk500"
Ich kann doch über den USBtoUART den µC programmieren, oder nicht? Hat
da jemand ne Idee, woran es liegen kann?
Über Ponyprog funktioniert jetzt, juhuu :D
Gibt's denn noch jemanden, der mir sagen kann, wie ich das Problem der
Programmierung über Atmel Studio beheben kann?