-         

Ergebnis 1 bis 9 von 9

Thema: Mega168 und Bootloader - kann nur 1x flashen ?!

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.07.2005
    Beiträge
    34

    Mega168 und Bootloader - kann nur 1x flashen ?!

    Anzeige

    Moin !

    Ich habe einen Mega168 mit dem Mascom Bootloader. Bootrst ist gesetzt und der Bootloader entsprechend konfiguriert & compiliert.

    Nun schiebe ich mit PonyProg den Bootloader in den AVR. Alles paletti. Dann in Bascom ein einfaches Sample geladen (Print.pas), die Settings auf meinen µC angepasst, compiliert und mit F4 zum µC geschickt. Das geht auch und das Program rennt auch.

    Aber wenn ich nun nochmal F4 drücke zum Flashen über den Bootloader, dann hängt der Bootloader bzw. bekommt keine Antwort mehr vom µC. Flashe ich den Bootloader mit PonyProg neu, kann ich wieder 1x mit dem Bascom Bootloader übertragen.

    Was kann das sein !?

    Grüße Dominik

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Hast Du die Fuses so eingestellt, dass der Reset Vector auf den Bootloader zeigt?
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    02.07.2005
    Beiträge
    34
    Moin !

    Ich hoffe doch mal:
    Fusebits

    Bootloaderanfang


    Merkwürdig ist ja das es 1x funktioniert ...

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Na sicher. Wenn Du den Bootloader aufspielst, dann wird alles gelöscht, sodass der Code des Bootloaders das erste ist, worauf der AVR beim Booten stößt. Wenn Du jetzt aber ein Programm darauf spielst, dann findet der AVR dessen Code zuerst und kommt gar nicht mehr zum Bootloader. Demnach passt die Einsprungadresse nach dem Reset nicht.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    02.07.2005
    Beiträge
    34
    Moin !

    Hmm ok das macht dann Sinn.
    Was mir aber auch noch nicht ganz klar ist ...

    Der Bootloader sollte beim 168 bei 1c00 starten:
    Code:
    #if Loaderchip = 168                                        'Mega168
        $loader = $1c00
    Aber in PonyProg steht er bei 3800 (siehe Screenshot).

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    02.07.2005
    Beiträge
    34
    Nachtrag ... Ok das sind Words, also 1c00 * 2 = 3800 ... Das passt dann wohl doch.
    Aber dennoch will bei mir der Bootloader nicht

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Ich habe keinen 168er hier. Die Fuses setze ich immer mit Bascom. Evtl hilft da die Try and Error Methode.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.11.2004
    Ort
    Aachen
    Alter
    32
    Beiträge
    246
    Die Fusebits stimmen, so wie sie oben auf dem Bild zu sehen sind.
    siehe auch: Fuse Calculator

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,
    Hast Du mal versucht, den ganzen Flash per ISP auszulesen nach dem Bootloaderflashen, um zu sehen was sich dort so tummelt, also der Bootloader noch komplett ist ?

Berechtigungen

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