-         

Ergebnis 1 bis 8 von 8

Thema: Mega8 von ISP abgeschnitten. Hilft HighVoltageProgramming?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2006
    Beiträge
    7

    Mega8 von ISP abgeschnitten. Hilft HighVoltageProgramming?

    Anzeige

    Vorgeschichte:
    Meinen ersten ARV (ein Mega habe ich im STK500 erfolgreich programmiert (AVRStudio4). Es läuft der Code Demo1.c der bei winavr dabei war. Er läßt eine LED hell/dunkel werden. Da alle anderen LEDs irgendwas angezeigt haben, hab ich den Befehl für die PortB-Direction geändert und 0xff zugewiesen, compiliert und erfolgreich geflashed.

    Problem:
    Das STK500 wird nun nicht mehr erkannt, wenn der Mega8 drinsteckt.
    Habe alle Kombinationen von ausschalten/Reset/Pc booten erfolglos probiert. STK500 ist OK, mein zweiter Mega8 läßt sich programmieren.
    Ich vermute, mit der Programmierung von PortB hab ich die SPI-Schnittstelle abgeschnitten.
    Bisher traue ich mich an HighVoltageProgramming noch nicht ran, da doch viele Leitungen und Jumper richtig gesetzt sein müssen...

    Frage:
    Kann man mit HighVoltageProgramming dem Chip wieder ein vernünftiges Programm aufspielen, obwohl PortB komplett auf Eingabe oder Ausgabe programmiert ist, da dabei andere Portpins benutzt werden? Oder könnte das Problem ganz woanders liegen?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    50
    Beiträge
    1.195
    HV sollte helfen.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2006
    Beiträge
    7
    HV hat leider nix gebracht.
    Also hab ich mich schlau gelesen, was ich da eigentlich verbrochen habe.
    Mit DDRB=0xff habe ich mir neben der Kommunikation auch XTAL1 und XTAL2 abgeklemmt und da ich keine Fuse-Bits geändert habe, wird weiterhin der externe Oszillator verwendet. Wahrscheinlich geht deshalb nix mehr.

    Sowie das Programm gestartet wird, bleibt also alles stehen.

    Frage:
    Gibt es eine Möglichkeit, den Programmspeicher zu löschen, ohne dass das geladene Programm gestartet wird?

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    13.01.2004
    Ort
    Bad Schwartau
    Alter
    38
    Beiträge
    51
    Mit dem setzen des DDR kan man sich nicht aus dem programmiermodus aussperren.

    Das liegt einfach daran, daß das Programmieren im Reset stattfindet und da sind die Register sowieso zurückgesetzt / egal.

    Wenn du die Fuses nicht verändert hast, muß der Fehler noch wo anders liegen.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    50
    Beiträge
    1.195
    HV Programmierung sind die Fusebits egal und der Port wird erst nach dem Reset umgeschaltet. Wie Sealion sagt: Der Fehler muss dann woanders liegen.

    Brenn mal demo1.hex.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2006
    Beiträge
    7
    Habe von HV wieder auf SPI umverdrahtet und dabei den BSEL2 Jumper vergessen zu ziehen.
    Jetzt erkennt der PC das STK500 wieder. Jumper wieder abgezogen. Geht immer noch.
    Aber VTarget und AREF auf der Board-Seite sind auf Null. Hab die mal auf 5V gestellt und Write angeklickt.
    Nun konnte ich den Chip löschen.

    Nach dem Neuprogrammieren kommt aber die Fehlermeldung
    WARNING: FLASH byte address 0x0015 is 12 (Should be 0xC0). FAILED!
    Hab ein 3 Mal versucht zu programmieren. Immer der gleiche Fehler.

    VTARGET auf 5.1V - Programmieren schlägt fehl.
    VTARGET auf 4.8V - WRITE des VTarget geht schief.
    Mehrfach Ein/Ausgeschaltet. STK500 nicht mehr erkannt.
    Irgendwann ging's einfach wieder...
    Inzwischen konnte ich auch den "defekten" Mega8 richtig flashen und er läuft wie die Demo das will

    Gelegentlich bleibt der Fortschrittsbalken beim brennen jedoch hängen.


    Letzendlich bleibt die Kommunikation gelegentlich auf der Strecke, wodurch das Programmieren echt hakelig wird. Gestern hab ich genau das Gleiche gemacht - und stundenlang keine Kommunikation hinbekommen.

    Die ISP-Frequenz stand auf einem ungewöhnlichen Wert für eine RS232-Schnittstelle.
    Ich hab sie einfach mal auf 38.4KHz gestellt. Vielleicht hilft's ja. Bis jetzt (ca. 5 mal Brennen) klappt alles wieder.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    50
    Beiträge
    1.195
    Bedenke, dass die ISP Frequenz nur 1/4 des uC Taktes betragen darf. Im Auslieferungszustand läuft der Mega 8 mit 1MHz, die ISP Frequenz muss für sicheres Flashen also kleiner als 250kHz sein (besser 128kHz wählen).

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    14.06.2006
    Beiträge
    7
    Habe die Ursache gefunden: Lausige Stromversorgung! Zeitweise war ein Ripple von 1V auf der 5V Schiene - kein Wunder das das Teil sich nicht programmieren ließ.
    Einen dicken Elko (3300uF) über den 100uF vor dem Spannungsregler haben das Problem endlich behoben.

Berechtigungen

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