Problem:Dragon mit Arduino Ethernet ISP und DebugWire

pmac

Neues Mitglied
23. Sep. 2008
54
0
0
Sprachen
Hallo,

von einem Bekannten habe ich ein Arduino Ethernet Board mit einer ATmega328 CPU bekommen.
Nun möchte ich ein wenig damit "herumspielen". Unter der Arduino-Umgebung mit einem seriellen Programmer läuft auch alles inklusive Ethernet.

Nur gefällt mir dieser ganze Arduino-Kram nicht. Insbesondere Debuggen ist praktisch nicht möglich.
So kam ich auf den Gedanken das Board über ISP und den AVRDragon zu betreiben. Meine Hoffnung ist,
einfach das AVR Studio 5 mit GCC zu nehmen und dann per ISP zu programmieren und per Debugwire
zu debuggen.

Dazu habe ich den ISP-Connector des Dragon mit dem ISP Connector des Arduino 1:1 verbunden.
Aber leider erkennt das AVR-Studio das Board nicht.

Habe mir schon die Finger wund gegoogelt, aber leider keinen brauchbaren Hinweis gefunden.
Hat jemand soetwas schon mal ausprobiert? Geht das überhaupt? Was mache ich falsch?

Bin für jeden Hinweis dankbar.

Peter
 
Hmm...
Soweit ich weiß verwendet debugWIRE den !RESET als Datenleitung. Zum benutzen wird via ISP DWEN aktiviert, was bis auf weiteres ISP unterdrückt. Um den !RESET wieder ISP-fähig zu bekommen, muß über den dWire-Programmer einen CPU-Reset durchgeführt werden, dann kann über ISP die Fuse wieder zurückgesetzt werden.
Zu bedenken ist auch, daß dadurch massive Schreibzyklen auf den Flash zukommen - ich verwende möglichst die Simulation des Studios (auch wenns da mit der Hardware manchmal Fehler gibt), und habe deswegen keine Erfahrungen mit dem dWIRE.
 
Ja ist richtig was Du schreibst, habe früher mal mit Studio4 und DebugWire gearbeitet. Zur habe ich leider niemanden, der mir bei der Hardware helfen kann und ich bin nur Softwerker.

Inzwischen kann ich per AS6 eine Debugsession starten. Aber es funktioniert nicht richtig.
Wenn ich die Internetquellen richtig verstanden habe, darf der Reset nicht umfangreich beschaltet sein, damit Debugwire funktioniert. Beim Arduino Ethernet ist laut Schaltplan ein der Reset über 10K mit +5V verbunden und gleichzeitig mit 100nF auf Masse.
Vermutlich müsste ich die entfernen, aber läuft das Board dann auch noch ohne Debugger???
Peter
 
100nF? Die kenne ich nur als Glättungskerkos der Spannungsversorgung(en). Ich habe das mit dem Reset so im Kopf:
-Für HV-Programmierung muß er mit 12V klarkommen können, deswegen besitzt er nicht die übliche ableit-Diode gegen Vcc.
-Als Pullup werden 10K empfohlen.
-Zusätzlich ein 4,7nF-Kerko gegen Gnd.
Üblicherweise muß der Reset ja nicht mit schnellen Flanken klarkommen.

Wenn Du den jetzt aber zum debuggen via dW benutzt, ist er ja der Datenpin. Mit schnellen Flankenwechseln. Soweit ichs recht in erinnerung habe, wird die Leitung per Pullup High gehalten - das jeweils sendende Device zieht sie auf Gnd. Beim "loslassen" müssen dann also der Filterkerko und die Pineingangskapazitäten (schnell!) wieder aufgeladen werden (um das logische high zu erkennen). Irgendwo hab ich mal was mit "Kerko verkleinern/entfernen/weglassen" und "Pullup auf 4k7 verringern" gelesen...

Edit: "läuft das Board dann noch?"
Prinzipiell schon, eventuell wird der Reset störanfälliger (kenne das Layout nicht - ich hab bei mir eher kurze Leitungen zum ISP-Header, und verzichte meist auf manuelle Reset-Taster. Der Controller läuft übrigens auch dann, wenn der Reset fest mit Vcc verbunden wird. Nur dann kann ein Programmer ihn natürlich nicht mehr auf Gnd ziehen -> also kannst Du dann das Programmieren vergessen.
 
Hi,

also HW-Programmierung wird wohl in der Schaltung nicht funktionieren. Ich tippe maldas der Reset-Controller IC1 da in die Suppe spuckt. Sonst scheinen ja alle anderen dafür benötigten Anschlüsse frei zu sein.

Wie das mit DebugWire aussieht kann ich leider nicht sagen. Dafür fehlt mir damit die Erfahrung.

Gruß
Dino
 
Hallo Peter!

DebugWire nutzt ja den Reset-Pin als bidirektionale Datenleitung. Der 100nF Kondensator wird hier mit Sicherheit Probleme bereiten, diesen solltest du entfernen. Der Unterspannungssensor dürfte keine Probleme bereiten, dessen manueller Reset-Eingang ist mit dem Reset-Signal des AVR verbunden, er treibt nicht das Signal. Während der Übertragung darfst du nur nicht den Reset-Taster drücken.

Der Pullup-Widerstand in der Reset-leitung darf nicht kleiner als 10kOhm sein. Im Moment ist ein externer 10kOhm Pullup-Widerstand vorhanden. Dieser liegt parallel zum internen (30kOhm ... 60kOhm), das könnte insgesamt zu klein werden. Den 10kOhm R1 würde ich entfernen.

Also ich würde sagen, das Hauptproblem ist 100nF C3. 10kOhm R1 könnte Probleme bereiten. Beides entfernen!

Dirk :ciao:
 
Danke für die vielen Beiträge.

Inzwischen konnte ich feststellen, dass C3 gar nicht bestückt ist. Der sollte also kein Problem mehr machen. Wie lang darf das Kabel zum Dragon eigentlich sein? Bei mir ist es ca. 80 cm ...
Außerdem habe ich bei der Ansicht des Schaltplans bemerkt, das der Ausgang des Reset-Controller mit dem Reseteingang des Ethernet-Controllers verbunden ist. Der W5100 wird dann vermutlich während des Debuggen ständig resetten. Das ist auch nicht wirklich schön :-(


Peter
 

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