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
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.
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
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.
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
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...
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-cjtag2isp-Pusb-B5-patmega8-v
Ist aber Kommandozeile. Und damit noch ein Grund mehr endlich auf
48/88... umzusatteln.
mfg.
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
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.
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
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
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