-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Bootloader mit Bascom aufs Board spielen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.10.2007
    Ort
    Münster
    Beiträge
    27

    Bootloader mit Bascom aufs Board spielen

    Anzeige

    Guten Abend,

    hat jemand schon einmal einen Bootloader auf ein Board draufgespielt?

    Wie geht so etwas?

    Basti

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    In den Bascom Samples ist ein Bootloader Quellcode drin, den man für etliche Controller nehmen kann.
    Man muß dort nur den richtigen Chip eintragen, compilieren und per ISP in den Chip flashen.

    Wichtig ist, die Fuses im Controller richtig zu setzen.
    Also die Bootloader-Größe und den "Boot Reset Vector" enablen.

    Für die PC Seite gibt es ein Programm, das man sich bei MCS runterladen kann.
    Finest du bei den Application Notes auf der MCS Seite:
    http://www.mcselec.com/index.php?opt...=159&Itemid=57


    Gruß
    Christopher

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    22.10.2007
    Ort
    Münster
    Beiträge
    27
    Danke für den Tipp. Jetzt sehe ich gerade, dass ich einen speziellen Bootloader für mein Board (Atmega 2560) verwenden muss. Den gibt es nur als Hex-File. Kann man mit Bacom auch Hex-Files aufs Board spielen?

    Basti

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Der Bootloader.bas Code aus den Samples funktioiert auch mit einem MEGA2560
    Zumindest kann man ihn da auswählen
    $regfile = "m2560def.dat"
    Const Loaderchip = 2560

    Hex Files kann man mit Bascom wohl auch flashen.
    Beim "Sample Electronics Programmer" oder "STK 200/300 kompatiblen Programmern" sollte das so gehen:
    Manual Program ->Buffer->Load from file->Dateityp "Hex" auswählen->File laden->Programmieren

    Habe ich aber noch nicht ausprobiert, da ich das AVR Studio und STK500/AVRISP zum flashen verwende.

    Gruß
    Christopher

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    26
    Beiträge
    3.467
    Schau dir mal die Anleitung zum RN-Mega2560 an. Da ist das mit dem Bootloader von robotikhardware..de genau beschreiben.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    22.10.2007
    Ort
    Münster
    Beiträge
    27
    Wie man eine hex-Datei aufs Board flasht, weiß ich jetzt. Man muss statt der gewöhnlichen Option "Program" die Option "Manual Program" auswählen. Als nächstes wählt man die Option "Load from file" und gibt dort die hex-Datei an.

    Was mich jetzt bei dem Bootloader wundert, ist, dass die Datei so groß ist (über 700 KB). Der Speicher von meinem Board ist gar nicht so groß.

    Wenn ich diese Datei aufgespiele, was einige Minuten dauert, blinkt die LED viel mal hintereinander, danach Pause, danach wieder von vorne.

    Leider kann ich mit dem USB-Kabel immer noch nicht programmieren, muss aber auch dazu sagen, dass ich sehr willkürlich herumprobieren muss. Die Anleitung zum Bootloader enthält zu viele grammatische Fehler, als dass ich hieraus schlau werden könnte.

    Basti

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi
    Die Hexdatei ist um einiges Größer als die Binärdatei.
    Wenn du den MCS Bootloader compilierst, bekommst du eine Hexdatei mit 719 KB und eine Binärdatei mit 256 KB
    Du kannst dir die Hexdatei mal ansehen.
    Bis zum Bootbereich, der am Ende des Flashs liegt, werden FFs geschrieben, deshalb ist das so groß. Die "richtigen" Daten kommen erst ganz hinten.


    Gruß
    Christopher

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    22.10.2007
    Ort
    Münster
    Beiträge
    27
    Ein ganz großes Dankeschön erstmal für den Beitrag. Ich habe mich auch erst gewundert, warum da so viele FFs auf dem Bildschirm erscheinen. Das Beste kommt halt erst zum Schluss.

    Jetzt frage ich mich nur, warum die LED so seltsam blinkt, wenn ich den Bootloader aufgespielt habe (4 mal Blinken 1 mal Pause) Ist das gut oder schlecht?

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    der Bascom-Bootloader zeigt an einem Port an, daß er mit dem eigentlichen Programm beginnt, also entweder fertig ist, oder einen Timeout hatte.
    Wenn daran eine LED hängt, dann blinkt die.

    Beim Einschalten startet ja zuerst der Bootloader und wartet auf einen Startbefehl vom PC - Programm.
    Kommt eine gewisse Zeit lang kein Startbefehl (beim Bascom Bootloader der Wert "123") an der seriellen Schnittstelle rein, wird der Bootloader beendet (Timeout),
    der LED Pin wird ein paarmal getoggelt und das eigentliche Programm ab Adresse 0000 ausgeführt.

    Ist kein Programm geladen, wird dann irgendwann wieder der Bootloader gestartet, dann fängt das Spiel wieder von vorne an.
    Da es etwas dauert, bis der Programmzähler die Adressen bis zum Bootbereich hochgezählt hat, hast du eine Pause.

    Wenn der Vorgang also immer wieder von vorne beginnt, dann ist kein Programm geladen.
    (Oder das Programm ist fehlerhaft und läuft in's Nirvana ...)

    Gruß
    Christopher

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    22.10.2007
    Ort
    Münster
    Beiträge
    27
    Danke für den Beitrag, ich wäre sonst ziemlich ratlos gewesen. Dann schließe ich aus dem Blinken, dass der Bootloader zumindest schon einmal auf dem Board ist.

    Jetzt geht es nur noch darum, das erste Programm aufs Board zu spielen. Aber das werde ich durch Probieren schon hinbekommen. Muss ja!

    Freundliche Grüße

    Basti

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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