Hallo Ich möchte nun beginnen Mikrokontroller zu programmieren. Am Liebsten wär mir ein Atmel in C zu programmieren. Ich habe noch keine erfahrung damit. Also: Was brauch ich alles dafür? Gibt es ein Anfängerset eventuell mit Bücher wo alles schritt für schritt beschrieben ist? Mit welchem Evaluationsbord fange ich am besten an? Ist ein Evaluationsboard sinvoll, oder gleich ein richtiger ISP Programmierer? Welche software brauche ich? Ich hoffe dass mir jemand ein paar tipps geben kann und etschuldige mich für mein fehlendes Wissen.
Da bist du hier genau richtig !!! Wie schn gesagt kannst du dich mal ins Tutorial einlesen. Das ist wirklich super gemacht. Zusätzliches Wissen über die Sprache C kannst du dir aus verschiedensetn Büchern oder dem 3w aneignen. Bei speziellen Fragen winfach wieder melden ! Have fun !
Rund um den AVR findest Du hier in der Tat jede Menge erstklassige Infos und die Leute, die Dir bei Problemen weiterhelfen können. Was die reine C-Programmierung von Mikrocontrollern betrifft, kann ich Dir auch meinen VIDEO-Kurs empfehlen. http://ET-Tutorials.de/Mikrocontroller Im ersten Teil geht es nur um C, hardwareunabhängig. Für die anschließenden AVR-Themen wirst Du hier fündig.
Zu deiner Frage mit den Eval Boards/Programmern: Hast du denn schon konkrete Ideen, was du später mal bauen willst ? Oder geht es dir nur darum, dich ein wenig mit der Architektur auseinanderzusetzen, ohne konkrete Ziele ? Davon hinge auch ab, welches Board am besten passt ...
naja zu beginn soll der Mikrokontroler irgentetwas tun, ich würd mich schon freuen wenn ich ein blinklicht schaffen würde... später würd ich schon gerne kleine sachen bauen, eine uhr, oder abstandsmesser fürs auto (beim einparken) aber das ist noch zukunftsmusik...
Wie bereits gesagt, mit den Tutorials hier (am besten ASM und C Tutorial lesen) wirst du einen guten Einstieg finden. Wenns dir vorerst Hauptsächlich ums Programmieren geht, und du es beim Erstellen der Schaltung etwas bequemer haben willst, so ist denke ich das Arduino Nano [1] gut geeignet. Bei Arduinos muss man nicht die Arduino IDE verwenden. Du kannst auch normal in C oder Assembler oder Bascom programmieren und den vorinstallierten Arduino Bootloader nur zum bequemen Programmieren verwenden. Durch die Bauform lässt sich das Nano leicht in ein Breadboard stecken und dann kann man beliebig anderes Zeug anschliessen. Ich werd mir demnächst eins kaufen, weil man eben schnell was am Breadboard aufbauen kann. Wenns dir dann Spass machst und du dich genauer mit dem µC beschäftigen willst, dann kann ich dir nur raten als Programmer gleich den originalen AVR ISP MKII zu kaufen. Der funktionniert garantiert immer und auf jedem gängigen OS. [1] http://arduino.cc/en/Main/ArduinoBoardNano
hm, über arduino hab ich schon mal was gelesen, aber braucht der zu programmierende Mikrokontroller nicht einen extrigen bootloader? und kann man mit dem arduino nano mehrere Atmel-typen programmieren, oder nur einen? ich glaub, den schau ich mir genauer an...
Mario schrieb: > Was brauch ich alles dafür? Ich würde mir ein STK500 kaufen, da du hier recht flexibel diverse AVR-Controller und auch noch einige Headerboards nutzen kannst. Ebenso findest du viele Application Notes bei ATMEL selbst, die dieses Board referenzieren. Hat am Anfang den Vorteil, dass du nicht zu viele Dinge auf einmal verstehen musst, sondern einfach erst einmal konfigurierst, wie's in der Anleitung steht. Weiterer Vorteil, dass die Atmel-eigene Entwicklungsumgebung AVR-Studio das Board kennt und du es damit konfigurieren kannst. Das neuere STK600 ist für den xMega interessant, ob es dein Einstieg sein soll, musst du selbst entscheiden. Ich würde mit einem kleinem AVR anfangen, wie z.B. dem Mega8, oder sogar einem Tiny, wo dich das Datenblatt nicht gleich mit zu viel Peripherie erschlägt. Mario schrieb: > Ist ein Evaluationsboard sinvoll, oder gleich ein richtiger ISP > Programmierer? Board ist auf jeden Fall sinnvoll, wie das oben genannte. ISP und Evaluationboard schliessen sich nicht gegenseitig aus, das STK500 ist ebenfall "In System Programmable", da es einen entsprechenden Port hat. Du kannst den Controller damit auf mehrere Art und Weisen programmieren: - über den RS232-Port ohne jeden zusätzlichen Programmieradapter direkt aus dem AVR-Studio heraus - über einen separaten ISP-Programmer, der dazu an einen ISP-Port angeschlossen wird - über einen JTAG-Adapter, der aber einen entsprechenden Controller mit JTAG-Anschluss voraussetzt und beim Headerboard STK501 z.B. vorhanden ist. Der JTAG-Adapter bietet den Vorteil, dass du den Controller anhalten und seine Speicher- und Registerinhalte auslesen kannst. Das ist eine komfortable Methoden, Fehler finden zu können. JTAG-Adapter gibt es billige von Olimex, aber auch JTAG-ICE mkII von Atmel, die teurer sind. Für den Anfang kannst du dir das Geld aber erst einmal sparen und den Simulator nutzen, der im AVR-Studio enthalten ist, und für kleine Programme mit kleinen Controllern ausreicht. Mario schrieb: > Welche software brauche ich? Die AVR-Studio-Versionen vor der 5er haben nur den Assembler mitgeliefert, den C-Compiler WinAVR kannst du dir kostenlos downloaden und per PlugIn an das AVR-Studio anbinden. Die neuer AVR-Studio-Variante hat einen eigenen C-Compiler inklusive. Ich arbeite gerne mit diversen GCC-Toolchains, deshalb nutze ich noch immer das ältere AVR-Studio mit WinAVR. Musst du selbst entscheiden. Mario schrieb: > Ich hoffe dass mir jemand ein paar tipps geben kann > und etschuldige mich für mein fehlendes Wissen. Brauchst dich nicht zu entschuldigen, dafür sind Foren da. Mario schrieb: > ich würd mich schon freuen wenn ich ein blinklicht schaffen würde... Auch das ist ein Grund ein Board zu kaufen, auf dem bereits LEDs und Taster vorhanden sind, dann brauchst du dich in den ersten Schritten nicht um die Anbindung an die Hardware zu kümmern und machst somit nichts kaputt. Das STK500 hat auch einen Kurzschlussschutz, was dieses Argument noch unterstreicht. Egal, ob du nun original Atmel oder z.B. Olimex kaufst, fang mit einem kleinen Controller an. Gruß Gunb
Christopher G. schrieb: > Wenns dir dann Spass machst und du dich genauer mit dem µC beschäftigen > willst, dann kann ich dir nur raten als Programmer gleich den originalen > AVR ISP MKII zu kaufen. Der funktionniert garantiert immer und auf jedem > gängigen OS. Das kann ich bestätigen. Teuer, aber zuverlässig.
Der Bootloader ist bei allen Arduinos schon drauf. Er verhält sich wie ein AVR ISP Programmer und man kann z.B. normal über avrdude programmieren. Dafür braucht man keinen Programmer, du kannst jedoch nur den Chip am Nano programmieren. Ein typischer Programmierbefehl mit avrdude unter Linux sieht so aus. Die avrdude Dokumentation und Hilfe sagt dir, was die Parameter bedeuten.
1 | avrdude -p m328p -c arduino -b 57600 -P /dev/ttyUSB0 -U flash:w:foo.hex:i |
Für die Arduinos gibts aber auch ein fertiges Programm zum aufspielen, womit dieser zum Programmer wird. Falls du aber vorhast, gleich verschiedenste Typen zu programmieren, so würd ich lieber gleich einen AVR ISP MKII (dazu) kaufen. Den Arduino Bootloader kann man auch auf jeden Atemga spielen, der bei irgendwelchen Arduino Boards verwendet wird. Dafür brauchst du jedoch einen Programmer :) Gehts dir also nur darum zu experimentieren und du hast nicht schon vor mit einem konkreten µC ein Projekt zu basteln, so ist der Nano mMn eine gute Wahl. Du brauchst dafür keinen externen Programmer. Wenn dich die Materie mehr interessiert, dann kannst du dir ja einen Programmer, bestimmte µCs, Quarze und was man sonst so braucht zulegen.
wow danke für diese überwältigenden informationen ;) so eine frage hät ich noch: also dieses board hat einen ISP programmer heißt das, dass man damit einen stand allone mikrokontroller der in einer anderen schalung eingebaut ist, mittels steckverbindung programmieren kann? also genau das was ein avr isp mkII auch kann? wenn dass so ist nehm ich das board, es ist zwar nicht billig, aber wennst meinst dass das so toll ist, dann will ich es auch ;) vielen dank mochmal an alle die mir geholfen haben
Mario schrieb: > Ist ein Evaluationsboard sinvoll, oder gleich ein richtiger ISP > Programmierer? Noch einmal zur Ergänzung: Bei Reichelt kostet das STK500 rund 82,-€: http://www.reichelt.de/Programmer-Entwicklungstools/AVR-STK-500/index.html?;ACTION=3;LA=444;GROUP=A38;GROUPID=2969;ARTICLE=34093;START=0;SORT=artnr;OFFSET=16;SID=10ToMtq38AAAIAAEcBznofd1a04fd71e4bde72c661648ecd679f1 Da ein Controller als Muster dabei ist, hast du für den Anfang alles, was du brauchst. Programmieren kannst du es wie zuvor erwähnt über die RS232. Wenn du dann weitergehst, kaufst du dir die Teile, die du dann brauchst. So sparst du dir den Frust falsch gekaufter Teile. Gruß Gunb
Mario schrieb: > so eine frage hät ich noch: > also dieses board hat einen ISP programmer > heißt das, dass man damit einen stand allone mikrokontroller der in > einer anderen schalung eingebaut ist, mittels steckverbindung > programmieren kann? Das habe ich schon einmal gemacht, das geht. Mario schrieb: > also genau das was ein avr isp mkII auch kann? Meinst du jetzt den AVR ISP2 oder AVR JTAG ICE mkII? Hier besteht ein wesentlicher Unterschied. Der ISP2 ist ein reiner Programmer, der zum Flashen der Firmware in den µC benutzt wird, der JTAG ICE mkII ist ein JTAG-Programmer, der neben dem Flashen der Firmware eben auch als Hardware-Debugger benutzt werden kann. Dieser ist aber meines Wissen nicht direkt am STK500 anschliessbar. Ich nutze ihn mit dem Headerboard und dem Mega128, wo ein separater Port vorhanden ist. Kauf dir diesen besser erst einmal nicht, kannst du bei komplexeren Projekten später noch machen. Der ISP2 kostet rund 40,-€, der mkII rund 310,-€. Mario schrieb: > wenn dass so ist nehm ich das board, es ist zwar nicht billig, aber > wennst meinst dass das so toll ist, dann will ich es auch ;) Es deckt zumindest alle mittleren AVRs ab, da es mehrere Sockel hat, und kann für den höheren Mega-Typen per Headerboards aufgerüstet werden. Und einen separaten Programmer brauchst du erst einmal nicht, das Board reicht. Gruß Gunb
oh, ich hab nicht gewusst dass zwischen den programmern so ein unterschied ist, ich hab den AVR ISP2 gemeint. nochmal zusammengefasst: alo ich kann einen Mikrokontroller in das board reinstecken und programmieren, das hab ich verstanden aber wenn der mikrokontroller bereits in eier anderen schaltung steckt, und ich den nicht immer ausnehmen möchte kann ich diesen mit ISP über das board programmieren. ist das das selbe was der AVR ISP2 macht? das Flashen der Firmware in den µC? wenn ja, dann bin ich rundum glücklich und kauf mir das board =)
Mario schrieb: > nochmal zusammengefasst: > alo ich kann einen Mikrokontroller in das board reinstecken und > programmieren, das hab ich verstanden Ja, du kannst im Prinzip deine ganze Schaltung mit dem Board entwickeln, da alle Controllerports über Pfostenstecker zugänglich sind. Mario schrieb: > aber wenn der mikrokontroller bereits in eier anderen schaltung steckt, > und ich den nicht immer ausnehmen möchte kann ich diesen mit ISP über > das board programmieren. Ja, über AVR-Studio. Mario schrieb: > ist das das selbe was der AVR ISP2 macht? das Flashen der Firmware in > den > µC? Ja.
Gun B. schrieb: > AVR ISP2 Damit keine Verwirrung entsteht: der heißt bei Atmel aber AVRISP mkII (Ordering Code: ATAVRISP2). Gruß Dietrich
ok vielen vielen dank!! ich hab alle informationen die ich brauche, ich kauf das board!
Dietrich L. schrieb: > Gun B. schrieb: > >> AVR ISP2 > > Damit keine Verwirrung entsteht: der heißt bei Atmel aber AVRISP mkII > (Ordering Code: ATAVRISP2). > > Gruß Dietrich ACK. Ja, dass ist immer so eine Sache mit den ganzen Bezeichnungen :-))) Gruß Gunb
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.