Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmel Studio6 mit AVR Dragon ISP Failed to enter programming mode
Ich hoffe hier kann mir jemand helfen, ich versuche seit 2 Tagen mein AVR Dragon unter dem Atmel Studio6 (Windows7 pro 64bit) zum Laufen zu bringen.
Als das Dragon ankam, habe ich die fehlenden Steckerleisten aufgelötet und ihm das klassische Cassettenhüllen-Gehäuse verpasst.
Mein ISP Kabel besteht aus einem Flachbandkabel mit Standardsteckern zum Aufquetschen.
Testaufbau zum Programmieren ist ein Atmega8 auf Breadboard ohne externem Quarz, angeschlossen am Stecker des ISP-Kabels per Jumper-Kabel direkt an die Pins.
Mit meinem alten mySmartUSB mk2 und dem myAVR Prog Tool lässt er sich einwandfrei per ISP programmieren.
Das Dragon wird von Windows auch erkannt wie es soll, im Geräte Manager stehen unter Jungo die Einträge "AVR Dragon" und "WinDriver"
Mit Tools -> AVR Tools Firmware Upgrade wurde das Update ohne Probleme durchgeführt.
Wenn ich nun in Tools -> Device Programming gehe, wähle ich unter Tool AVR Dragon, unter Device AtMega8 und unter Interface ISP.
Die Target Voltage kann ich auslesen, ist glatt 5,0 Volt, ISP Clock steht auf 125kHz.
Nur weiter geht es nicht.
Alles was mit Zugriff auf den AtMega8 zu tun hat wird mit folgendem Fehler quittiert:
[ERROR] Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00, ModuleName: TCF (TCF command: Device:startSession failed.)
Ich habe schon alles was mit Atmel, AVR und USB-Treiber zu tun hat deinstalliert und nun ausschliesslich das Atmel Studio6 mit dem Jungo Treiber installiert, um USB-Treiber-Konflikte zu vermeiden, aber nichts tut sich.
Ich wühle seit einer gefühlten Ewigkeit im Netz nach einer Lösung, finde aber nichts was mir weiter hilft.
Hat irgendjemand ne Idee oder einen Link, den ich vielleicht nicht gefunden habe?
Wie kann man das Dragon testen, ob da nicht vielleicht ein Defekt vorliegt?
Hi,
ich denke mal, Du hast alles geprüft - aber nochmal zur Sicherheit:
- Hast Du den richtigen Controller ausgewählt (z.B. ATMega8 und nicht ATMega8A)?
- Stimmt die Verkabelung?
- Hast Du irgendwo einen Kabelbruch oder einen schlecht gequetschten Stecker?
Wenn das soweit alles passt, könntest Du höchstens mit einem Oszi mal messen, ob die Signale an SCK/MISO/MOSI da sind bzw. auch vernünftig aussehen.
Setzt natürlich vorraus, dass Du auch ein Oszi zur Verfügung hast...
Gruß,
askazo
Zuerst mal danke für die Antwort.
Ja, der Controller ist richtig, mit dem mySmartUSB MK2 klappt es wunderbar.
Verkabelung habe ich doppelt und dreifach geprüft, deshalb auch der Aufbau auf dem Breadboard, um Fehler im 6 auf 10-Pin-Adapter
für das AVR-Universal-Board auszuschliessen.
ISP-Kabel habe ich vorhin nochmals durchgemessen -> alles i.O.
Oszi habe ich leider keins.
Bin im Moment dabei, nochmal alles neu zu installieren, inklusive Entfernung der USB-Treiber mit pnputil.
Wenn ich das Dragon angeschlossen habe, leuchtet LED1 dauerhaft rot, was laut manual normal ist,
allerdings leuchtet LED2 auch dauerhaft, laut manual bedeutet das Kommunikation über USB, ist das ok so?
Kann es vielleicht sein, dass USB3 Probleme macht? Habe ein Asus P8H M77 Mainboard mit Intel-Chipsatz.
Edit:
So, nochmal alles deinstalliert, was mit Atmel, AVR oder so zu tun hat.
Mit pnputil alle usb-treiber deinstalliert.
AtmelStudio6 installiert, gestartet, Dragon wird erkannt, aber alles wie oben beschrieben.
Ich muss sagen, seltsame Firmenpolitik, man muss den Treiber vom AtmelStudio nehmen und darf keinen anderen installieren,
um es z.B. mit avrdude zu testen?
Was soll sowas denn?
Wenn ich das Dragon angeschlossen habe, leuchtet LED1 dauerhaft rot, was laut manual normal ist,
allerdings leuchtet LED2 auch dauerhaft, laut manual bedeutet das Kommunikation über USB, ist das ok so?
If the USB driver is correctly installed and AVR Dragon is connect to the PC, the green LED next to the USB connector will be lit.
Das scheint so ok zu sein.
Ich glaube auch nicht, dass es ein Treiber-Problem ist. Da ein Firmware-Update des Dragon funktioniert, scheint die Kommunikation mit dem PC in Ordnung zu sein.
Das Problem muss also zwischen Dragon und Mikrocontroller liegen.
Ich muss sagen, seltsame Firmenpolitik, man muss den Treiber vom AtmelStudio nehmen und darf keinen anderen installieren,
um es z.B. mit avrdude zu testen?
Was soll sowas denn?
Ist doch eigentlich normal, dass ein Hersteller für sein Gerät nur den eigenen Treiber erlaubt. Du kannst ja trotzdem einen anderen verwenden, verlierst dann aber ggf. die Gewährleistungsansprüche.
Gruß,
askazo
Vielleicht hilft die Ausgabe unter Linux weiter:
avrdude -p m8 -c dragon_isp -B 10 -P usb -U flash:w:flash.hex -vv
gibt Folgendes aus:
avrdude: Version 5.11.1, compiled on Oct 30 2011 at 10:37:28
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/home/xxx/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : dragon_isp
Setting bit clk period : 10.0
avrdude: stk500v2_dragon_isp_open()
avrdude: usbdev_open(): Found AVRDRAGON, serno: 00A200041948
avrdude: usbdev_open(): using read endpoint 0x82
avrdude: jtagmkII_getsync(): Sending sign-on command: 0x86 (26 bytes msg)
JTAG ICE mkII sign-on message:
Communications protocol version: 1
M_MCU:
boot-loader FW version: 255
firmware version: 7.24
hardware version: 1
S_MCU:
boot-loader FW version: 255
firmware version: 7.24
hardware version: 7
Serial number: 00:a2:00:04:19:48
Device ID: AVRDRAGON
avrdude: jtagmkII_setparm()
avrdude: jtagmkII_setparm(): Sending set parameter command (parm 0x03, 1 bytes): 0xa0 (1 bytes msg)
avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_FAILED
avrdude: jtagmkII_getsync(): ISP activation failed, trying debugWire
avrdude: jtagmkII_setparm()
avrdude: jtagmkII_setparm(): Sending set parameter command (parm 0x03, 1 bytes): 0xac (1 bytes msg)
avrdude: jtagmkII_setparm(): bad response to set parameter command: RSP_DEBUGWIRE_SYNC_FAILED
avrdude: failed to sync with the AVR Dragon in ISP mode
avrdude: stk500v2_jtagmkII_close()
avrdude: jtagmkII_close()
avrdude: jtagmkII_close(): Sending sign-off command: avrdude: usb_fill_buf(): usb_bulk_read() error No error
avrdude: jtagmkII_recv(): Timeout receiving packet
avrdude: jtagmkII_close(): timeout/error communicating with programmer (status -1)
avrdude done. Thank you.
Was genau bedeutet RSP_FAILED ?
@askazo:
Aber andere Treiber kann ich auch mit so gut wie jeder Software nutzen,
was ja hier ohne Filter nicht geht (z.B. den Dragon mit avrdude unter Windows nutzen).
Das meinte ich mit seltsam. :-)
Hat keiner eine Idee?
Wie teste ich das mit JTAG?
Einfach die Pins am Dragon mit den Pins am Mikrocontroller verbinden, oder müssen da noch irgendwelche Widerstände
gesetzt werden?
Ich würde ja vermuten, dass das Dragon defekt ist, aber dann könnte ich doch kein Firmware-Update einspielen und die Target Voltage auslesen, oder?
Zumal es ja unter Linux scheinbar die gleichen Probleme bereitet
Besserwessi
10.04.2013, 17:47
Die verbindung via JTAG geht so ähnlich wie ISP: die Anschlüsse am µC und eventuell auch an Dragon sind andere. Welches Interface genutzt wird, wird über die Software am PC eingestellt. Extra Widerstände braucht man nicht, aber das JTAG Interface darf nicht per Fuse abgestellt sein, und der µC muss natürlich auch JTAG unterstützen, was der Mega8 nicht tut.
Mir sind vom lesen her 2 Arten Defekte am Dragon bekannt: zum einen der Spannungsregler und dann die Pegelwandler für die ISP (ggf. auch JTAG) Leitungen. Der Spannungsregler funktioniert ja offensichtlich noch. Einen Defekt bei den Pegelwandlern kann man leider nur schwer von einem Kabelproblem unterscheiden. So etwas wie das Softwareupdate ist davon natürlich nicht betroffen.
Auch ohne Oszilloskop könnte man ggf. am CLK Pin erkennen ob da ein Signal ankommt. Entweder mit einem Multimeter oder mir einer LED und Vorwiderstand (z.B. 5 K) müsste man erkennen wenn da ein Takt anliegt.
Habe ich das so richtig verstanden:
LED mit Kathode auf Masse, über Widerstand an die Pins (MOSI, MISO, SCK) und schauen ob sie flackert?
Mit dem myAVRProgTool und dem mysmartUSB mk2 blinkt die LED auf diesen Pins beim Auslesen artig.
Mit dem gleichen Programm kann ich ja aufgrund des Atmel-Studio-only Treibers leider das Dragon nicht testen.
Verstehe ich die Meldungen "Failed to enter programming mode" und "Device:startSession failed" richtig,
das das Dragon unter Atmel Studio6 gar nicht erst in den Programmiermodus kommt?
Und wo finde ich den CLK-Pin?
Ich teste im Moment an einem Atmega32 mit externem 8MHz-Quarz auf Breadboard,
Fuses sind L: oxcf H: 0x09 und Lock: 0xff
Besserwessi
10.04.2013, 19:45
Mit CLK meinte ich den Takt pin, der heißt beim ISP Interface wohl SCK. Auch bei nur einem kurzen Versuch sollte es da wenigstens kurz blinken.
Da die Kommunikation zum Dargon wohl geht, wird das Problem bei der Verbindung Dragon zum µC liegen. Mit "Failed to enter programming mode" wird da vermutlich der Zustand des µc gemeint sein. Eigentlich wäre der Logische erste Punkt wo der Fehler auftritt das auslesen der CHIP ID. Zumindest die anderen Programmer geben bei einer fehlerhaften Verbindung erst einmal eine falsche ID (i.A. 00 00 00 oder FF FF FF) aus.
Wenn das "Failed to enter programming mode" auf den Dragon selber zutreffen sollte, wäre das ggf. durch ein misslungenes Software update möglich, sonst aber unwahrscheinlich. Ein versuch wäre dann ggf. ein Software update für den Dragon.
Sind denn alle Pins des ISP Interface angeschlossen, incl. VCC und Reset ?
Ich habe auf dem ISP Port vom Dragon ein 6-pol-Flachbandkabel mit Steckern, vom anderen Stecker gehe ich per Jumperkabel an die Pins des Atmega32 auf dem Breadboard. VCC und GND sitzen auch direkt an den entsprechenden Atmega-Pins (10 und 11)
Ein Kabelproblem kann ich wohl ausschliessen, den mit dem mySmartUSB mk2 und dem ProgTool funktioniert alles Bestens.
Wenn ich die LED mit 4,7k Widerstand auf SCK (Pin8 ) lege leuchtet sie dauerhaft, wenn ich dann versuche die ID auszulesen,
blinkt sie einmal kurz und leuchtet dann wieder, die LEDs auf dem Dragon flackern beide kurz.
Auf MISO und MOSI passiert beim Ausleseversuch nichts, MISO leuchtet dauerhaft, MOSI leuchtet nicht.
Reset leuchtet dauerhaft, etwas dunkler und blinkt beim Ausleseversuch einmal kurz
Das Atmel Studio6 wirft dann die Fehlermeldung
Failed to enter programming mode. ispEnterProgMode: Error status received: Got 0xc0, expected 0x00, ModuleName: TCF (TCF command: Device:startSession failed.)
Start a Debug session.
From the Debug menu: (Dragon options) Disable debugWire
Follow the instructions religiously.
Note that Studio 5 can only disable dW if you have a separate power supply to your AVR. i.e. do NOT use Dragon power.
Vlt hilft ja das.
mfg
Wenn ich Debug mit F5 starte, kommt die Meldung
"ISP on AVR Dragon does not support Debugging. Device is only programmed. Use start without debugging to avoid this message."
Und per JTAG angeschlossen beim Versuch die ID auszulesen kommt:
"JTAGID not valid. Debugger command enterProgMode failed., ModuleName: TCF (TCF command: Device:startSession failed.)"
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.