- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: WinAVR - Flash Reset bei Arduino Mega2560 im Atmel Studio

  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485

    Frage WinAVR - Flash Reset bei Arduino Mega2560 im Atmel Studio

    Anzeige

    Powerstation Test
    Hallo miteinander,
    ich programmiere mein Arduino Board in Arduino-C und "normalem" C, flashen tu ich "normales" C übers Atmel Studio, um genau zu sein über ein externes Tool, welches über WinAVR - avrdude.exe läuft. Um ein neues Programm aufspielen zu können muss ich immer Reset drücken und das Tool ausführen. Aus Layoutgründen kann ich bei meinem "mini-Gameboy" keinen Reset Taster (in "schöner"/praktischer Form, ohne einen kompletten Hardwareumbau (es ist fertiges Shield mit Lochrasterbereich)) einbauen. Kann ich das Tool/Programm irgendwie modifizieren um keinen manuellen Reset auslösen zu müssen?

    Anm.: Irgendwie muss es ja gehen, wie machts denn sonst die Arduino IDE?

    grüße

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Schon einmal die Schaltpläne der Arduino-Boards angesehen? Was fällt einem auf ? RTS ist mit Reset über 100 nF verbunden. Sobald eine serielle Kommunikation aufgebaut wird, geht RTS gegen Masse und der Controller führt einen Reset durch. Bei avrdude sind auch Programmer wie stk500v2 und arduino realisiert, die den RESET durchführen und dann flashen (Bootloader vorausgesetzt).
    Geändert von ePyx (19.01.2013 um 11:00 Uhr)
    Grüße,
    Daniel

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    04.01.2011
    Beiträge
    18
    Hy!

    Welches Kabel benützt du zum Programmieren ein normales ISP bzw JTAG sollte den Reset eigentlich selbst durchführen.

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Das er RESET drücken muss, sagt eigentlich schon das er weder ISP noch JTAG benutzen wird.
    Grüße,
    Daniel

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Ja, das hab ich mir gerade angesehen...
    Es ist mir aber nicht ganz klar wie das funktionieren soll. Wie soll ich dann eine normale Serielle Kommunikation zum PC aufbauen, ohne einen Reset auszulösen?
    Ich vermute das funktioniert über eine spezielle Zeichenfolge etc. die der kleine µC dann als Resetanforderung hält und die Leitung auf HIGH zieht...

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von robo_tom_24 Beitrag anzeigen
    Wie soll ich dann eine normale Serielle Kommunikation zum PC aufbauen, ohne einen Reset auszulösen?.
    Ja, so schwer kann das Leben sein.
    Zitat Zitat von robo_tom_24 Beitrag anzeigen
    Ich vermute das funktioniert über eine spezielle Zeichenfolge etc. die der kleine µC dann als Resetanforderung hält und die Leitung auf HIGH zieht...
    Nöp. Grundlagen serielle Schnittstelle. Der Pin wird eigentlich für die Flusssteuerung benutzt. Die Arduino-Boards nutzen den Pin um in den Bootloader zu kommen, also einen RESET durchzuführen. Nix Befehl, nix Sequenz! Siehe Arduino Auto-Reset etc.
    Grüße,
    Daniel

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Danke für die tollen Antworten -.-
    Könntest du mir das bitte genauer erklären? Das einzige was ich verstanden habe ist, dass ich einen 120Ohm Widerstand einbauen muss um Auto-Reset zu verhindern.... Das will ich aber nicht!

    Könntest du mir das bitte genauer erklären? Ich versteh nämlich nicht wie man dem kleinen Controller von extern sagen kann, dass er nun den "Bootmodus" starten soll...

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Wenn ich dir etwas erklären soll, dann musst du konkret sagen was du willst und wo dein Problem ist.

    Stimmt schon, dass beim Aufbau dann immer ein Reset ausgelöst wird. Aber letzten Endes musst du halt wissen was du willst. Entweder du willst, dass per Hardware der Bootloader gestartet wird oder du implementierst es per Software.
    Per Software gäbe es dann so Dinge wie springe nach Adresse 0x00 oder man nutzt den Watchdog für seine Belange. Wenn du es per Software machst, dann musst du dir halt eine Zeichenfolge ausdenken die den Reset auslöst
    und dir einen Interpreter für die serielle Schnittstelle schreiben. ist ja auch nicht so das Problem, wenn man "richtiges" C programmiert. Ansonsten halt überlegen, ob der Reset beim Aufbau so eine wichtige Rolle spielt. Benutze d
    ie Arduino-Lösung auch auf meinen Boards, aber da geh ich eigentlich auch nur zu Debuggen oder Flashen von neuer Firmware ran.

    Der Aufwand ist halt sehr marginal und ein bisschen Lackdraht und einen 1206 Kondensator kann man auch mit Sekundenkleber nachträglich "verbauen".
    Grüße,
    Daniel

  9. #9
    Erfahrener Benutzer Roboter-Spezialist Avatar von robo_tom_24
    Registriert seit
    04.02.2012
    Ort
    Burgenland, Österreich
    Beiträge
    485
    Gut ok, mein Fehler...
    Mein Problem liegt darin, zu verstehen, wann nun ein Reset ausgelöst wird. Bei jeder seriellen Tätigkeit kann das ja nicht sein, sondern nur beim Flashen mit der Arduino Software. Konkret möchte ich nun wissen, wie ich diese Funktion der Arduino Software in WinAVR bzw. ins Atmel Studio einbauen kann, damit ich nicht immer einen manuellen Reset durchführen muss

  10. #10
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Die Arduino IDE, führt den Reset auch bei jedem Verbindungsaufbau durch. Daher gibt es ja auch Leute, die den Auto-Reset abschalten wollen und demnach den Widerstand einlöten.

    Man kann auch das Folgende Aufbauen : RTS-Pin -> Schalter -> Kondensator -> Reset

    Wenn Geschlossen dann Auto-Reset aktiv, wenn offen funzt es ganz normal.
    Grüße,
    Daniel

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 30.12.2012, 20:42
  2. AVR Studio 5 und RN-Mega2560
    Von datatom im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 13.12.2011, 21:18
  3. AT29C010A(Atmel Flash) ansteuern
    Von philiph im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 20.07.2008, 00:56
  4. WinAVR, Atmel AVR Studio und Asuro Lib verbinden
    Von pinsel120866 im Forum Asuro
    Antworten: 10
    Letzter Beitrag: 08.01.2008, 07:18
  5. Reset Pin bei Atmel Controllern
    Von Powell im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 28.03.2007, 14:49

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests