AVRStudio 4.17 und AVRISPmk2

achim S.

Mitglied
16. Jan. 2010
704
13
18
Berlin Biesdorf
Sprachen
  1. ANSI C
Hallo Freunde
habe mir den AVRISPmk2 zugelegt. Er wird auch von AVRStudioerkannt und wurde vom PC installiert über USB. Habe ein kleines Programm in C++ geschrieben und bin auf Übertragung. Und da bekomme ich eine Fehlermeldung. Heisst unter anderem ISP Mode error. Vorher kommt auch was. muss mir aber die Meldung aufschreiben. Dran hängt ein Rob mit ATmega128. Gemäss LED anzeige wird auch das Ding reset gemacht, jedenfalls blinken LED. Es geht abre Programm drauf. Am Programmer sind adnn beide LED grün. NT kann ich nicht anschliessen.
Achim
 
Hallo Achim.S !

Erst einmal:
Willkommen im AVR-Praxis Forum!


Wenn ich ehrlich bin dann muss ich gestehen, dass ich deine Fragen (und damit dein Problem) wirklich nicht verstanden habe. :eek:

Vielleicht kannst du es noch einmal ausführlicher erklären und ggf. ein paar Snapshots von den Fehlermeldungen machen.


Grüße,
Cassio
 
Hi Achim,

erst mal herzlich willkommen :flowers: im Forum.

Also das hört sich an als ob der ARVISPmk2 unter AVR-Studio läuft ...
oder nicht ? Oder versuchst du über dein C-Programm zu proggen ?
Ich muß ehrlich gestehen - auch für mich ist das alles ein wenig verworren :confused:
"NT kann ich nicht anschließen" ... Was meinst du mit NT ?
Und das Programm geht drauf aber es gibt trotzdem ne Fehlermeldung ?
Ich steige da leider auch nicht so richtig durch ... :eek: :stupido3:

Wichtig beim AVR-Studio und AVRISPmk2 ist auf jeden Fall ...
ERST das AVR-Studio MIT dem USB-Treiber installieren und ERST DANN
den AVRISPmk2 stecken. Wenn man es in anderer Reihenfolge macht dann
heißt es "Freispiel". Also alles nochmal deinstallieren und nochmal von vorn.

Gruß
Dino
 
Hallo
also ganz langsam von vorn.
Ich habe den prommer AVRISPmg2 und das AVRDtudio 4.17. Diese Teile stecke ich an eine Robotermodell vom Typ Nibo2. Dieser hat den ATmega 128 drauf. Ich kann im Studio ein Programm schreiben und möchte es dann übertragen zum ATmega 128. Gehe also auf Tool und auf automatische übertragung. Der 128 wird erkannt, es sucht sucht eine Frequenz von 125kHz. Wenn ich dann programm gehe erscheint unten Getting isp ... ok; Setting mode and ... ok; Entering programming mod ... Failed, Leaning programmimg mod .... ok. Die Übertragunh wird abgebrochen. Bei Beginn der übertragung geht das Modell auf Programm (siehtman an Hand der lechten LED). Danach wird die programmierung abgerochen und das Modell hat die alte Prögrammierung wieder. Auf einigen Seiten habe ich gelesen, das ein Netzteil(NT) angeschlossen werden muss. Am AVRISP ist kein Anschluss dran.
Hoffe jetzt verstanden.
Achim
 
Hallo Achim,

also ganz langsam von vorn.
Ich habe den prommer AVRISPmg2 und das AVRDtudio 4.17. Diese Teile stecke ich an eine Robotermodell vom Typ Nibo2. Dieser hat den ATmega 128 drauf. Ich kann im Studio ein Programm schreiben und möchte es dann übertragen zum ATmega 128.
soweit klar. Roboter Nibo2 mit ATmega128 wird an den AVRISPmk2 gekabelt
und soll ein neues Programm bekommen. Für die Programmierung verwendest
du das AVRStudio4.17. Soweit alles richtig.
Der Roboter scheint dieser hier zu sein.

Gehe also auf Tool und auf automatische übertragung. Der 128 wird erkannt, es sucht sucht eine Frequenz von 125kHz. Wenn ich dann programm gehe erscheint unten
125kHz ISP ist ab 700kHz CPU-Takt aufwärts ok.

Getting isp ... ok;
Da verbindet er sich AVR-Studio mit dem ISP-Proogger. Das läuft also.

Setting mode and ... ok;
Den ISP-Progger kann AVRStudio auch einstellen. Auch OK

Entering programming mod ... Failed,
Da kann der Progger wohl keine Kommunikation mit dem Mega128 aufbauen.

Leaving programmimg mod .... ok.
Naja der Ausstieg aus dem Prog-Mode läuft eigentlich immer :D

Die Übertragung wird abgebrochen.
AVR-Studio konnte also über den Progger nix auf den Mega128 schieben.

Bei Beginn der übertragung geht das Modell auf Programm (siehtman an Hand der lechten LED). Danach wird die programmierung abgerochen und das Modell hat die alte Prögrammierung wieder. Auf einigen Seiten habe ich gelesen, das ein Netzteil(NT) angeschlossen werden muss. Am AVRISP ist kein Anschluss dran.
Hoffe jetzt verstanden.
Jou, alles soweit verstanden. :)

Also der AVRISPmk2 hat auch keinen Spannungsanschluß. Seine Spannung
für die PC-Seite holt er sich vom USB-Anschluß und für die Seite des µC
(Treiber für die IS-Schnittstelle, Spannungsmessung des Zielsystems, ...)
braucht er vom Zielsystem. Also von deinem Roboter. Du mußt, wenn
überhaupt, das Netzteil also am Roboter anschließen. Es kommt anscheinend
ab und zu mal vor das man nicht proggen kann weil die Spannung beim
Zielsystem nicht ausreicht.

Was aber wichtiger ist ... die ISP-Anschlüsse (SCK, MISO(PDO), MOSI(PDI),
RESET) auch vom ISP-Progger bedient werden können und keine andere
Hardware dazwischenfunkt. Sind die Anschlüsse bei dem Robo evtl noch
mit anderer Hardware beschaltet ? Evtl irgendwelche Jumper die man für
die Programmierung entfernen muß um Hardware abzutrennen die auf den
Pins liegt ? Sowas in der Art könnte ich mir im Moment vorstellen.

Ich hab mir mal den Schaltplan gezogen und angesehen.
Also auf PDI/PDO hängt noch LED_R0/1 drauf und die sind mit 150 Ohm
Vorwiderstand. Die LEDs werden zwar über T29 (LED_RG_PWM) an und
abgeschaltet aber wenn da was nicht sauber funktioniert dann blockieren
dir die relativ kleinen vorwiderstände evtl den Programmierablauf. Außerdem
sind in den Leitungen vom Mega128 und in denen vom ISP-Anschluß noch
51 Ohm Widerstände drin. Das ist meiner Meinung nach alles ein wenig
"suboptimal" gelöst. Also es könnte an falschen Spannnugsverhältnissen
liegen die durch ein Netzteil am Roboter gelöst werden könnten.

Die gehen bei der Programmierung aber wie immer ziemlich komische Wege.
Von hinten durch die Brust ins Auge. Warum nehmen die nich einfach die
Buttons vom AVR-Studio ? (Die ICs in der Symbolleiste) . Das mit dem
"Con" ist für die Einstellungen was für einen Progger man hat und mit dem
"AVR" drauf hat man volle Programmer-Gewalt und den totalen Überblick
über die Optionen. Das nehme ich immer :)

So ... nun hoffe ich das der ganze Text dir irgendwie bei deinem Problem
weiterhilft ;)

EDIT: So wie ich das sehe wird der Mega128 als Zentralorgan zuerst mit
einem Programm versehen. Wenn man da dann das richtige reinpackt kann
man über ihn auch den Mega88 für die Sensoren programmieren. Dafür muß
der Mega128 aber als Progger arbeiten. Das ist das, was mir so im Schaltplan
aufgefallen ist weil ich den ISP-Anschluß vom Mega88 gesucht hab.

Gruß
Dino
 
Hallo
so weit verstanden. Werde mal einNetzteil am Rob aufstecken und dann sehen was passiert. Etwas ist mit in der zwischenzeit aufgefallen. Laut Hersteller muss das Fuse Bit die einstellung
Extended =0xFF
Higt = 0XC1
Low = 0Xff
haben. Sonst sperrt man sich aus dem 128 aus. AVR zeigt aber für das Hiht = 0xFF an. Diese Einstellung hat AVR selbst vorgenommen und lässt sich nur schwer ändern. Welchen Einfluss hat das?
Achim
 
Hab noch was vergessen. Du sprachsz von der Reihenfolge nei install oder anschliessen. muss ich das jetzt auch noch beachten?
Achim
 
Hi,

Hab noch was vergessen. Du sprachsz von der Reihenfolge nei install oder anschliessen. muss ich das jetzt auch noch beachten?
Achim
Zuerst muß das AVR-Studio mit dem USB-Treiber installiert werden. Wenn bei
der Installation von AVR-Studio also nach USB gefagt wird dann "Ja" und
anhaken und installieren. Sonst läuft der AVRISPmk2 nicht. Bei dir in der
Hardware-Liste von Wwindows muß bei angestecktem AVRISP irgendwas mit
"Jungo" oder so auftauchen. Wenn nicht ... AVRStudio wieder komplett runter
und neu installieren.

Zu den Fuses ... Also sind bei dir alle drei Werte auf 0xFF ?
Das sieht nicht so gut aus ... Aber bei mir kann ich zB die SPIEN garnicht
umschalten damit man sich nicht selber aussperren kann. Das geht natürlich
noch wunderbar über eine falsche Takteinstellung (externer Oszillator oder
externes RC-Glied). Und schon ist das Ding nicht mehr erreichbar. Aber alles
auf 0xFF ist bestimmt wegen nicht funktionierender Kommunikation mit dem
Mega128. Versuch mal mit dem AVR-Studio die Signatur oder die Fuses
AUSZULESEN (Read) NICHT schreiben. Wenn das läuft dann ist alles
ok. Sonst läuft die Kommunikation vom Progger mit dem Mega128 nicht.

Gruß
Dino
 
Hallo
habe einen Fehler gefunden. Sobald ich am ISP Stecker ein bisschen zur Seite drücke habe ich eine Verbindung. So wie es aussieht gibt es Probleme auf der Leiterplatte. Es gibt aber noch ein anders Problem. Das Programm konnte ich übertragen. Doch der mega 128 sagt nichts mehr. Keine Reaktion. Stellt sich tot oder so. Wie kann man das rauskriegen?
Achim
 
Hallo,

Doch der mega 128 sagt nichts mehr. Keine Reaktion. Stellt sich tot oder so. Wie kann man das rauskriegen?
da würde ich sagen wär ein Oszilloskop notwendig. Mal nachsehen ob der
Quarzoszillator überhaupt läuft. Das wäre Punkt Eins. Den Rest kann man nur
über Testprogramme die man auf den Mega128 spielt rauskriegen. Da er sich
aber tot stellt sieht das nicht so gut aus. Und wenn er verfuset ist und
über den ISP nicht mehr erreichbar, dann sieht es bei einem eingelöteten
TQFP64-Gehäuse ziemlich schlecht aus da nen STK500 für Parallel-Programmierung
dranzubekommen. Weil für ne Parallel-Programmierung über 16 Leitungen (so
in dem Dreh) mit nem STK500 muß man ihn aus der Schaltung entfernen.
Hier mal der Bereich aus dem STK500 Userguide ...
3.7.2 High-voltage Programming
For High-voltage Programming, a 12V programming voltage is applied to the RESET pin of the AVR device. All AVR devices can be programmed with High-voltage Programming, and the target device can be programmed while it is mounted in its socket.

Two different methods are used for High-voltage Programming: 8-pin parts use a serial programming interface, while other parts use a parallel programming interface. The programming signals are routed to the correct pins of the target device using the cables supplied with STK500.

...

3.7.2.1 Parallel High-voltage Programming
To use High-voltage Programming, the programming signal must be routed to the AVR I/O pins. The two 10-wire cables supplied with the STK500 can be used to connect the PROG DATA header to the PORTB header and the PROG CTRL header to the PORTD header, as shown in Figure 3-17.

...

Hardware setup for parallel High-voltage Programming:
1. Switch power off.
2. Place the device to program in its socket according to Table 3-3 on page 3-11.
3. Connect the headers PROGDATA and PORTB with the 10-wire cable.
4. Connect the headers PROGCTRL and PORTD with the 10-wire cable.
5. Mount jumper OSCSEL on pins 1 and 2 to select software-controlled clock.
6. Mount jumper XTAL1 to route the oscillator signal to the device.
7. Mount jumpers VTARGET and RESET.
8. When programming AT90S2333, AT90S4433, or ATmega8, mount both PJUMP jumpers. The 2-wire cables can be used instead of jumpers.
9. When programming ATmega16, ATmega163, ATmega161, ATmega128, or ATmega323, mount the BSEL2 jumper. When programming ATmega8, connect BSEL2 terminal to PC2. A 2-wire cable can be used instead of jumpers.
10. Disconnect target system.
11. Switch power on.
12. Ensure that VTARGET is between 4.5V and 5.5V before programming. See Section 5.3.5.1.
Das ist so das wichtigste über nen Mega128 mit HV-Parallel-Programmierung.
Man benötigt also ein STK500 und den STK501 als Adapter. Da der Chip aber
mit ner Menge Pheripherie drum rum (die das ganz bestimmt behindert) auf
einer Platine verlötet ist sehe ich da ziemlich schwarz wenn er wirklich verfuset
ist. So hart das jetzt auch klingt. :eek: :eek:

Aber gehen wir mal erst von einem kleineren Problem aus. Wenn man einen
QuarzOSZILLATOR mit dem Ausgang auf den XTAL1-Pin hängt, dann
kann man dem Atmel einen Takt aufzwingen wenn er auf eine andere Quelle
eingestellt ist. Wenn er dann wieder erreichbar ist, dann hast du gewonnen.
Wenn aber durch nen blöden Zufall die ISP-Schnittstelle über die Fuses
abgeschaltet ist dann hast du verloren. Dann heißt es auslöten und am
einfachsten nen neuen drauf.

Zum auslöten ... versuch nicht das Ding mit dem Lötkolben von der Platine
zu bekommen. Da machst du evtl mehr kaputt als heile. Einfach alle Beine
abschneiden, die dann einzeln mit dem Lötkolben entfernen und dann die
Leiterbahnen sauber machen. Danach nen neuen drauf.

So ... das sind erstmal so die Tips die mir einfallen.

Gruß
Dino
 
Hallo
erst ein mal vielen Dank für deine aufbauenden worte. Wahrscheinöich kommt der fehler ganz von anfang vor. Ich konnte mit dem UCOM IR2 den mega 128 überhaupt nicht erreichen. Das ding wurde noch nicht mal richtig erkannt. auf dem 128 lief immer das originalprogramm des herstellers um das ding im aufbau zu testen. bis ich dann die lötstelle gefunden habe durch zufall. über die andere AVRISP schnittstelle konnte ich immer noch den 128 programmieren. Da Testprogramm ist nun weg. ich kann nur vermute, das noch was anders faul ist. Habe das teil zum hersteller geschickt. Es muss von anfang an einen Fehler haben. Ist ja schon eine Woche alt. die sollen sich auch mal gedanken machen. Habe die Garantiebestimmungen eingehalten. Lasse mich überraschen.
Achim
 
Hi Achim,

erst ein mal vielen Dank für deine aufbauenden worte. Wahrscheinöich kommt der fehler ganz von anfang vor. Ich konnte mit dem UCOM IR2 den mega 128 überhaupt nicht erreichen. Das ding wurde noch nicht mal richtig erkannt. auf dem 128 lief immer das originalprogramm des herstellers um das ding im aufbau zu testen.
Naja ... meine "aufbauenden Worte" mit dem HV-Parallel-Prog-Modus gehen
eigentlich bei einem aufgelöteten Mega128 in Richtung "Totalschaden" :rolleyes:
Aber gut das du es so positiv aufnimmst :D

bis ich dann die lötstelle gefunden habe durch zufall. über die andere AVRISP schnittstelle konnte ich immer noch den 128 programmieren. Da Testprogramm ist nun weg. ich kann nur vermute, das noch was anders faul ist.
Wenn das Teil fertig gelötet angekommen ist würde ich das mal als
Garantiefall ansehen ;) Glück muß man haben :D

Habe das teil zum hersteller geschickt. Es muss von anfang an einen Fehler haben. Ist ja schon eine Woche alt. die sollen sich auch mal gedanken machen. Habe die Garantiebestimmungen eingehalten. Lasse mich überraschen.
Dann hoffen wir mal das beste. Wird schon gutgehen ;)

Gruß
Dino
 
Hallo
der 128 war fest aufgelötet. Brauchte nur noch die Draht dinger auflöten und die ISP schnittstelle. da ich reichlich erfahrung mit löten habe, habe ich das nicht als Problem angesehen. Die Platimne ist natürlich 2 Seitig mit entsprechender Durchverbindung. Da kann es doch mal vorkommen das eien Verbindung nicht hinhaut. Für so was gibs Entwickler, die aus ihren Fehlern lernen. Wenn ich was weiss melde ich mich. Ansonsten werde ich mal schauen was es so noch schönes bei euch gibt.
Achim
 
Hallo
eine Frage ist doch noch unklar. Bei dir steht, das man mit einer 12V oder HV Programmierung machen kann. Kann auch sein das ich dazu was im Netz gesehen habe. Im moment vollkommen unklar für mich. Sorry mein Engl. ist nicht so gut.
Achim
 
Hallo Achim,

eine Frage ist doch noch unklar. Bei dir steht, das man mit einer 12V oder HV Programmierung machen kann. Kann auch sein das ich dazu was im Netz gesehen habe. Im moment vollkommen unklar für mich. Sorry mein Engl. ist nicht so gut.
na dann versuch ich mal etwas zu klären ...
Also man kann Atmels in zwei verschiedenen Arten programmieren.

1. Normal mit der ISP-Schnittstelle (In System Programming) in der Schaltung
unter der normalen Betriebsspannung. Das ist das, was der AVRIPSmk2 macht.
Dafür sind die Pins MISO/MOSI/SCK/RESET notwendig. Bei den 64pinnigen
heißen die PDI/PDO/SCK/RESET.

2. Mit der HV-Programmierung (HochVolt). Dabei wird an den RESET-Pin
12V angelegt. Bei den 8pin-Atmels geht das weitere dann Seriell über
4 Leitungen da sie sonst nicht genug Pins hätten. Bei den anderen Atmels
geht die Programmierung parallel über 16 Leitungen (wenn ich mich nicht
verzählt habe).

Wenn man die Taktquelle oder andere für die ISP-Funktion wichtige Fuses
verdreht hat dann ist man bei den Atmels ausgesperrt. Das Ding ist noch
in Ordnung aber man kommt nicht dran. Ein Tresor mit verlorenem Schlüssel.
Die Taktquelle kann man evtl noch über nen externen Oszillator bereinigen.
Aber wenn man den RESET-Pin oder die ISP-Schnittstelle über die Fuses
abgeschaltet hat, dann kommt man NUR noch über die HV-Programmierung
an den Chip dran.

Das wird aber bei eingelöteten SMD-Chips ziemlich schwierig da zB am RESET
Hardware dran sein kann, die keine 12V verträgt oder die anderen benötigten
Pins sind so beschaltet das sie keine HV-Programmierung zulassen. Man sollte
also wirklich aufpassen was man bei den Fuses verstellt wenn man keinen
Elektronik-Schrott (Platine mit SMD-Atmel) erzeugen will.

Das ist die Erklärung in etwas einfacherer Form und in deutsch. Ich hoffe es
ist deutlich rübergekommen ... Aufpassen was man an den Fuses verdreht!

Gruß
Dino
 
AVRISP mK2

Hallo Freunde
habe wieder ein grosses Problem und hoffe auf Lösung. Ich hatte bisher Studio 4.17 drauf und habe auf Studio 4.18 mit 2x Update umgestellt. Dazu verwende ich den AVRISPmk2 main unit. Das Teil lief unter dem alten system ohne jedes Problem. Nach der Umszellung auf das neue wird das Teil vom AVRStudio nicht mehr erkannt. Wenn ich den Rob einschalte wird er erkannt. Die LED wechselt dann zwischen Rot und Grün. Bin am verzweifeln und brauche dringend Hilfe
Achim
 
Hi Achim,

Ich hatte bisher Studio 4.17 drauf und habe auf Studio 4.18 mit 2x Update umgestellt.
Ich schätze mal mit den beiden Service-Packs (2x Update)

Dazu verwende ich den AVRISPmk2 main unit. Das Teil lief unter dem alten system ohne jedes Problem. Nach der Umszellung auf das neue wird das Teil vom AVRStudio nicht mehr erkannt. Wenn ich den Rob einschalte wird er erkannt. Die LED wechselt dann zwischen Rot und Grün. Bin am verzweifeln und brauche dringend Hilfe
Ich pack bei mir immer die Vollversion drauf. ;)
Registrierung :rolleyes: Was ist das ? ... :p Naja ... Füll irgendwas rein ;)
Bei mir hab ich noch 4.15 auf den EeePC. Werd ich mal die Tage updaten.
Dann werden mein STK500 und der AVRIPSmk2 auch fällig. Die schreien
dann auch immer nach Firmware-Update.

Also probier einfach mal die Vollversion. Und nicht vergessen ... wegen
AVRISPmk2 : Erst deinstallieren, dann installieren, dann den AVRISPmk2 dran.

Gruß
Dino
 
Danke dir Dino3
Wie konnte ich das nur vergessen. Habe zum x-ten mal alles runter, putzen und neu drauf mit Hilfsdatein. Und es geht wie es soll. Richtig komisch, Wieso ist das eigentlich so?
Danke Dir.
Achim
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)