Forum: Mikrocontroller und Digitale Elektronik AVR auf Atmel EvaluationsBoard programmieren


von Achim (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte meinen ersten Mikrocontroller progammieren (Arduino mal außer 
Acht gelassen). Ziel ist erstmal nur das Einlesen einer Tasterstellung 
und eine blinkende Ausgabe für eine LED.

Hardware:

Laptop mit USB
Atmel JTAGICE mkII
Atmel Evaluationsboard 2.0 
http://www.pollin.de/shop/downloads/D810038B.PDF
Atmel8 - 16PU

Software:

Atmel Studio 6
PonyProg2000
MS Visual Studio 10


Ich hab mal eine Liste für mein Vorgehen erstellt (bitte verbessert 
mich!):



Schritt 0: {erledigt}

Benötigte Software und Hardware beschaffen.



Schritt 1: {erledigt}

Atmega8 auf Evaluationsboard IC4 stecken und Betriebsspannung anlegen 
(gefordert sind ~9V, ich lege aber 12V Gleichspannung an; das Board hat 
einen Eingangsgleichrichter mit Spannungsregler)



Schritt 2: {aktuelles Problem}

Verbindung zum Board mit Atmel Studio über Atmel JTAGICE mkII herstellen 
(per ISP, siehe AnhangB)

Frage 1: kann ich den Stecker des JTAGICE mkII einfach auf die 
ISP-Schnittstelle J1 des Eva-Boardes stecken oder muss ich da etwas 
anders verdrahten? (siehe AnhangA)

Frage 2: Muss ich an den Einstellungen für das Device Progamming (Clock, 
Fuses,...) im Atmel Studio etwas ändern?



Schritt 3: {offen}

Beispiel-Code beschaffen. Projekt in Atmel-Studio anlegen.
C-Code für das Auslesen von Taster 1 (PD2 INT0) und das Ansteuern von 
LED 1 (PD5 T1) schreiben. Eventuell
Jumper 3 und 6 auf der Platine stecken.



Schritt 4: {offen}

Progammierung des Controllers über ISP (Elf-File oder Hex-File???)


Schritt 5: {offen}

Test



Ich habe Grundlagen in C, C# und Makefile aber dies ist mein "erstes 
Mal" und ich habe noch keinen richtigen Plan ;) Ich bin offen für 
Verbesserungsvorschläge und freue mich auf eure Hilfe zu Schritt 2.

Viele Grüße
Achim

von c-hater (Gast)


Lesenswert?

Achim schrieb:

> Verbindung zum Board mit Atmel Studio über Atmel JTAGICE mkII herstellen
> (per ISP, siehe AnhangB)

http://www.atmel.com/Images/doc2562.pdf
http://www.pollin.de/shop/downloads/D810038B.PDF

In den beiden Dokumenten steht alles, was du wissen mußt, im die beiden 
Sachen zu verbinden.

von Hubert G. (hubertg)


Lesenswert?

Warum ist in deinem AnhangB ein ATmega8U2 eingestellt wenn du einen 
Atmega8 programmieren willst?
Einen Atmega8 kannst du nur über ISP und nicht über JTAG programmieren.

: Bearbeitet durch User
von Achim (Gast)


Lesenswert?

Hubert G. schrieb:
> Warum ist in deinem AnhangB ein ATmega8U2 eingestellt wenn du einen
> Atmega8 programmieren willst?
> Einen Atmega8 kannst du nur über ISP und nicht über JTAG programmieren.

Hallo Hubert,

ja das ist mir bekannt, ich möchte ja über ISP programmieren. Atmega8 
steht nicht in der Device-Auswahl, sodass ich Atmega8U2 (unterstützt 
USB) eingestellt habe. Ist das falsch?

c-hater schrieb:
> http://www.atmel.com/Images/doc2562.pdf

Viele Dank, genau so eine Tabelle habe ich gesucht :)
Werd es diese Woche mal ausprobieren ;)

Viele Grüße
Achim

von Hubert G. (hubertg)


Lesenswert?

Ich nehme an das es Probleme mit der Devicesignatur geben wird wenn du 
keinen Mega8 auswählen kannst.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Achim schrieb:
> ja das ist mir bekannt, ich möchte ja über ISP programmieren. Atmega8
> steht nicht in der Device-Auswahl, sodass ich Atmega8U2 (unterstützt
> USB) eingestellt habe. Ist das falsch?

Diese beiden Typen unterscheiden sich deutlich. Kannst du denn den 
ATmega8A auswählen? Der hätte die gleiche Signatur wie der ATmega8.

von spess53 (Gast)


Lesenswert?

Hi

> Kannst du denn den
>ATmega8A auswählen? Der hätte die gleiche Signatur wie der ATmega8.

Wird auch nicht vom JTAGICE mkII unterstützt. Das sinnvollste wäre für 
den TO, sich einen ATMega88 zu besorgen.

MfG Spess

von c-hater (Gast)


Lesenswert?

spess53 schrieb:

> Wird auch nicht vom JTAGICE mkII unterstützt.

Ist das tatsächlich so (ich habe jetzt keine Lust, das selber zu 
recherchieren)?

Wenn es wirklich so ist, wäre das meiner Meinung nach eine extrem 
schwache Leistung von Atmel. Wenn man schon ein Gerät für nicht 
unerheblich viel Kohle verkauft, welches von sich behauptet, auch ISP zu 
unterstützen, dann hat das gefälligst alles programmieren zu können, was 
sich über ISP programmieren läßt. Alles andere ist inakzeptabel.

Andererseits könnte man das auch als Hinweis auf Atmels zukünftige 
Produktpolitik werten. Die dann wäre: ISP stirbt, es gibt mittelfristig 
nur noch JTAG (bei den großen Controllern verdient man wohl genug, da 
kann man ein offenes Programmierinterface verschmerzen) oder DebugWire 
(hier müssen es die Nebeneinnahmen durch die proprietären Programmer 
bringen).

So ungefähr mahlen da wohl die Denksteine der profitmaximierenden 
BWLer...

Ich denke, ich sollte das weiter beobachten. Verdichten sich die 
Hinweise: Tschüß AVR. Wieder eine nette Architektur, die die Raffkes 
dieser Welt kaputtgemacht haben.

Hihi, da fällt mir ein: würde diese Konstellation so eintreten, ergibt 
sich ein schöner Geschäftsplan. Ich baue was, was wie DebugWire 
aussieht, sich wie DebugWire verhält, aber nicht DebugWire heißt! 
Schlage den (dann) Feind mit seinen eigenen Waffen...

Aber vermutlich gibt es bis dahin in der EU Softwarepatente im selben 
Ausmaß wie in den Staaten. Also werde ich doch nicht mehr reich. So'n 
Mist...

von Thomas E. (thomase)


Lesenswert?

spess53 schrieb:
> Hi
>
>> Kannst du denn den
>>ATmega8A auswählen? Der hätte die gleiche Signatur wie der ATmega8.
>
> Wird auch nicht vom JTAGICE mkII unterstützt. Das sinnvollste wäre für
> den TO, sich einen ATMega88 zu besorgen.
>
> MfG Spess

Dem Programmer ist das egal. Solange das in avrdude drin ist, geht das 
auch.
1
avrdude -c jtag2isp -P usb -B 5 -p atmega8 -v

Ist aber Kommandozeile. Und damit noch ein Grund mehr endlich auf 
48/88... umzusatteln.

mfg.

von Achim (Gast)


Lesenswert?

Hallo,

danke für die Rückmeldungen :)

spess53 schrieb:
>> Kannst du denn den
>>ATmega8A auswählen? Der hätte die gleiche Signatur wie der ATmega8.
>
> Wird auch nicht vom JTAGICE mkII unterstützt. Das sinnvollste wäre für
> den TO, sich einen ATMega88 zu besorgen.

Ja genau, ATmega8A kann man nicht auswählen. Kann ich denn den ATMega88 
auch über das EvaBoard testen und programmieren? Dieser steht nicht mir 
in der Anleitung für das Board (Link siehe oben).

Thomas Eckmann schrieb:
> Dem Programmer ist das egal. Solange das in avrdude drin ist, geht das
> auch.
> avrdude -c jtag2isp -P usb -B 5 -p atmega8 -v

Also wenn ich die Zeile eingebe kann ich auch den Atmega8 programmieren, 
richtig?

Ich überlege schon auf den ATmega16 umzusteigen, da der sowohl auf das 
EvaBoard passt, als auch über Atmel Studio und JTAGICE mkII zu 
programmieren geht.

Viele Grüße
Achim

von Thomas E. (thomase)


Lesenswert?

Achim schrieb:
> Hallo,
>
> danke für die Rückmeldungen :)
>
> spess53 schrieb:
>>> Kannst du denn den
>>>ATmega8A auswählen? Der hätte die gleiche Signatur wie der ATmega8.
>>
>> Wird auch nicht vom JTAGICE mkII unterstützt. Das sinnvollste wäre für
>> den TO, sich einen ATMega88 zu besorgen.
>
> Ja genau, ATmega8A kann man nicht auswählen. Kann ich denn den ATMega88
> auch über das EvaBoard testen und programmieren? Dieser steht nicht mir
> in der Anleitung für das Board (Link siehe oben).
>
> Thomas Eckmann schrieb:
>> Dem Programmer ist das egal. Solange das in avrdude drin ist, geht das
>> auch.
>> avrdude -c jtag2isp -P usb -B 5 -p atmega8 -v
>
> Also wenn ich die Zeile eingebe kann ich auch den Atmega8 programmieren,
> richtig?

Ja. Da hat mich Jörg Wunsch mal eines Besseren belehrt, da ich auch 
davon ausgegangen war, daß das nicht geht, weil es nicht im Dialog 
wählbar ist.
Hier ist der Thread dazu:
Beitrag "Welchen JTAG Adapter kaufen?"
>
> Ich überlege schon auf den ATmega16 umzusteigen, da der sowohl auf das
> EvaBoard passt, als auch über Atmel Studio und JTAGICE mkII zu
> programmieren geht.

Das ist ja auch so eine alte Gurke. Guck dir Atmega 48/88/168 (P)A und 
den 328(P) sowie 164/324/644 (P)A und 1284(P) an. Da gibt es auch keine 
Probleme mit dem Atmel Support. Und billiger sind die auch noch.

Die sind natürlich pinkompatibel zu 8 bzw. 16. Und können alles besser.

> Viele Grüße
> Achim

mfg.

: Bearbeitet durch User
von Achim (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir die Stecker und Flachbandkabel besorgt, nun möchte ich die 
Pins zuordnen und bin auf einen Widerspruch gestoßen (siehe Anhang). Die 
Zuordnung der Datenleitungen aus dem JTAGICE mkII Datenblatt 
(ISP-Stecker) passt nicht mit der Belegung auf dem Schaltplan des 
Evaboards überein.

Ich würde dem Schaltplan des Evaboards mehr trauen und deshalb

[mkII -> EvaBoard]

1 TCK -> 7 SCK
2 GND -> 6 GND
3 TDO -> 9 MISO
4 VTRef -> 2 Vcc
6 nSRST -> 5 Reset
9 TDI -> 1 MOSI

verbinden.

Ist das okay so oder sollte ich doch der Defintion im JTAGICE mkII 
Datenblatt vertrauen?

Viele Grüße
Achim

von spess53 (Gast)


Lesenswert?

Hi

>Ist das okay so oder sollte ich doch der Defintion im JTAGICE mkII
>Datenblatt vertrauen?

Ja. Denn die Buchse auf deinem Bild ist der ISP Anschluss. Die 
JTAG-Buchse ist auf dem Schaltplan rechts daneben. Steht eigentlich auch 
laut und deutlich dran.

MfG Spess

von Achim (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hatte in letzter Zeit viel zutun, möchte aber nun an meinem 
EvalBoard weitermachen. Vom JTAGICE mkII zum EvalBoard habe ich folgende 
(hoffentlich richtige!?) Verbindung hergestellt:

[mkII -> EvaBoard]

1 TCK -> 7 SCK
2 GND -> 6 GND
3 TDO -> 9 MISO (ist MISO richtig??)
4 VTRef -> 2 Vcc
6 nSRST -> 5 Reset
9 TDI -> 1 MOSI (ist MOSI richtig??)

Zurzeit habe ich einen Atmega48-20PU auf dem EvalBoard und die Jumper 
JP1 bis JP8 sind gesteckt.
Über das AtmelStudio (Device Programming) würde ich nun gerne eine 
Verbindung zum Mikrocontroller herstellen. Im Anhang habe ich einen 
Screenshot beigefügt, welcher die Fehlermeldung zeigt. Kann mir jemand 
auf die Sprünge helfen oder einen anderen Weg für die Programmierung mit 
JTAGICE mkII vorschlagen?

Viele Grüße
Achim

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.