- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 8 von 8

Thema: Problem mit Mega16 Bootloader

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2006
    Beiträge
    169

    Problem mit Mega16 Bootloader

    Anzeige

    Powerstation Test
    Hallo alle zusammen.

    Was das Thema Bootloader angeht bin ich leider noch Anfänger und habe deshalb einige Probleme damit.

    Ich möchte auf meinen Mega16 einen Bootloader aufspielen um ihn dann mit Megaload programmieren zu können.

    Meinen Bootloader habe ich hier her:
    https://www.roboternetz.de/phpBB2/viewtopic.php?p=29369

    Ich habe ihn mit PonyProg auf den AVR überspielt und habe jetzt das Problem, dass ich den Mega16 nicht richtig mit Megaload programmieren kann.

    Mein Problem ist folgendes:
    Wenn ich mit Megaload mein Programm übertragen will zeigt mir Megaload zunächst einen falschen AVR an, stellt dies bei der Übertragung aber richtig.
    Wenn ich das Programm dann sende wird aber nur PAGE#0 übertragen bzw. dieses immer wieder hintereinander übertragen und der rest gar nicht.
    Darum funktioniert das ganze am ende auch nicht.

    Weis jemand, was ich falsch gemacht habe?

    Hab schon ziemlich viel herum prubiert und dabei leider auch schon einen AVR tot gebrannt.

    Bin daher für jede Hilfe dankbar!

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2006
    Beiträge
    169
    Hier noch ein paar Informationen!

    Ich verwende wie schon gesagt einen ATMega 16 mit 16 MHz Quarz

    die Fusebits habe ich wie folgt gesetzt:

    Kann es sein dass das nicht ganz richtig ist oder liegt der Fehler woanders?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken fb.jpg  

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2006
    Beiträge
    169
    Habe nochmals alles überprüft und kann jetzt die serielle Schnittstelle als Fehlerquelle ausschließen.

    Ich glauhe (und hoffe auch), dass es an den Fuse Bits liegt. Nochmal, ich arbeite mit einem externen Quarz mit 16 MHz.
    Sind die Einstellungen so richtig, wie ich sie habe oder was muss ich ändern?

    Kenne mich leider mit den Fuse Bits nicht so aus und hoffe daher auf eure Unterstützung.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Wenn ich mit Megaload mein Programm übertragen will zeigt mir Megaload zunächst einen falschen AVR an, stellt dies bei der Übertragung aber richtig.
    Ich glaube das ist normal, weil Megaload ja erst mal über die serielle Kommunikation feststellen muss mit welchem AVR es zu tun hat.

    Wenn ich das Programm dann sende wird aber nur PAGE#0 übertragen bzw. dieses immer wieder hintereinander übertragen und der rest gar nicht.
    Sorry für die blöde Frage, aber du überträgst schon ein fertig compiliertes Hex-File oder?

    Ich verwende wie schon gesagt einen ATMega 16 mit 16 MHz Quarz
    Und der Bootloader den du mit Ponyprog hochgeladen hast ist für einen ATMega16 mit 16MHz?

    Sind die Einstellungen so richtig, wie ich sie habe oder was muss ich ändern?
    Ich kenne die richtigen Fusebit Einstellungen nur aus ascom, da sind sie etwas anders (ausführlicher) bezeichnet als auf deinem PonyProg Screenshot.

    Wenn du weisst, wie du die Fusebits einstellen muss, damit die Programmierung über ISP funktioniert, stell sie erst mal so ein.

    Dann würde ich ein kleines Programm schreiben das für eine Taktrate von 16MHz compiliert ist und ein bischen Text über die serielle Schnittstelle ausgibt.
    Wenn du das über den ISP hochlädst und es richtig funktioniert, sind die Fusebits für den externen Quarz richtig eingestellt.

    Asl nächstes kannst du dann über ISP den Bootloader hochladen und dann mit Megaload irgendein kleines Programm über die serielle Verbindung hochladen.

    Die Fusebits muss man soweit ich weiss nur ändern, weil sonst der Bootloader bei jedem Reset wieder gelöscht wird.

    Das heisst das Programmieren sollte eigentlich erst mal auch ohne Ändern der Fusebits funktionieren.
    Wenn du ein Programm mit Megaload richtig hochladen kannst und es läuft, kannst du dich dann den Einstellungen für die Fusebits widmen.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2006
    Beiträge
    169
    Erst einmal vielen dank für die Antwort.

    Sorry für die blöde Frage, aber du überträgst schon ein fertig compiliertes Hex-File oder?
    Ja, das tue ich natürlich!

    Und der Bootloader den du mit Ponyprog hochgeladen hast ist für einen ATMega16 mit 16MHz?
    Für den Mega 16 ist der Bootloader auf jeden Fall ausgelegt. Ob die Taktfrequenz stimmt werde ich noch einmal überprüfen.

    Dann würde ich ein kleines Programm schreiben das für eine Taktrate von 16MHz compiliert ist und ein bischen Text über die serielle Schnittstelle ausgibt.
    Wenn du das über den ISP hochlädst und es richtig funktioniert, sind die Fusebits für den externen Quarz richtig eingestellt.
    Genau das habe ich auch schon probiert und festgestellt das die Übertragung über die serielle Schnittstelle funktioniert.
    Über ISP kann ich die Programme fehlerfrei hochladen und die funktionieren dann auch.


    OK. dann werde ich jetzt noch einmal überprüfen ob der Bootloader auch für 16 MHz ausgelegt ist.

    Nochmals vielen Dank für die Hilfe.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2006
    Beiträge
    169
    Ich konnte leider noch nicht herausfinden, für welch Taktfrequenz der Bootloader ausgelegt ist.

    Da ich den Bootloader von hier habe, hoffe ich, dass mir da jemand helfen kann.

    Ich habe auch schon versucht mir den Bootloader mit ICCAVR selber zu compilieren, komme damit allerdings nicht zurecht, da ich auch überhaupt keine Erfahrungen in C habe.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    Ich tippe auf falsche Taktfrequenz. Einfach mal mit verschiedenen ausprobieren. Ich nutze nen modifizierten Bascom Bootloader. Funzt bei mir 1a mit 16MHZ.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.08.2006
    Beiträge
    169
    ICH HAB'S!

    Ich habe heute mal den Bascom Bootloader ausprobiert (im Bascom-AVR Installationsordner unter Samples/Boot/ zu finden) und der hat dann auch funktioniert.

    Ich nutze nen modifizierten Bascom Bootloader
    Worin genau besteht denn deine Modifikation?

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress