Forum: Mikrocontroller und Digitale Elektronik Anfänger würde gern Atmel programieren


von Mario (Gast)


Lesenswert?

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.

von Floh (Gast)


Lesenswert?

Links auf der Seite unter AVR, das AVR-Tutorial durchlesen.
Du bist nicht der erste.
:-)

von Mario (Gast)


Lesenswert?

ah, danke!

von Michael R. (dj_motionx)


Lesenswert?

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 !

von Mario (Gast)


Lesenswert?

na gut dann werde ich mir das tutorial vornehmen
danke

von ET-Tutorials (Gast)


Lesenswert?

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.

von AVerr (Gast)


Lesenswert?

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 ...

von Mario (Gast)


Lesenswert?

ah das werd ich mir anschauen, danke

von Mario (Gast)


Lesenswert?

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...

von Christopher G. (cbg)


Lesenswert?

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

von Mario (Gast)


Lesenswert?

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...

von g. b. (gunb)


Lesenswert?

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

von g. b. (gunb)


Lesenswert?

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.

von Christopher G. (cbg)


Lesenswert?

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.

von Mario (Gast)


Lesenswert?

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

von g. b. (gunb)


Lesenswert?

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

von g. b. (gunb)


Lesenswert?

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

von Mario (Gast)


Lesenswert?

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 =)

von g. b. (gunb)


Lesenswert?

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.

von Dietrich L. (dietrichl)


Lesenswert?

Gun B. schrieb:

> AVR ISP2

Damit keine Verwirrung entsteht: der heißt bei Atmel aber AVRISP mkII 
(Ordering Code: ATAVRISP2).

Gruß Dietrich

von Mario (Gast)


Lesenswert?

ok vielen vielen dank!!
ich hab alle informationen die ich brauche, ich kauf das board!

von g. b. (gunb)


Lesenswert?

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
Noch kein Account? Hier anmelden.