- LiTime Speicher und Akkus         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: ATmega8-Boot-Loader nicht nur für den ASURO geeignet

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

    ATmega8-Boot-Loader nicht nur für den ASURO geeignet

    Anzeige

    Praxistest und DIY Projekte
    Hallo, ich habe einen seriellen Boot-Loader für den ATmega8 geschrieben der den Boot-Loader im ASURO ersetzen soll. Das Programm ist vollständig in Assembler geschrieben (AVRStudio-GCC-Projekt) und hat im Moment einen Umfang von ca. 700Byte. Vorteil ist, dass man zur Datenübertragung jedes "normale" Terminalprogramm, mit dem sich Dateien über den COM-Port senden lassen, zur seriellen Programmierung des ATmega8 verwenden kann. Die Baudrate ist wie beim "Flash1.4" in der Testphase auf 2400 Baud eingestellt. Den COM- oder USB-Adapter des ASURO kann man weiterhin verwenden. Das Boot-Loader-Programm soll nach der ersten Testphase mit Testfunktionen wie beim Selbsttestprogramm für den ASURO erweitert werden. Im Gegensatz zum Original-Boot-Loader erwartet mein Boot-Loader die nomale, vom Assembler/Compiler erzeugte, *.hex-Datei (Textdatei).

    Für die jetzt anstehende Testphase Suche ich drei bis vier Leute, die den Boot-Loader an ihrem System mit verschiedenen Terminalprogrammen testen und zum Erfahrungsaustausch bereit sind. Wer also Interesse hat müsste in der Lage sein, einen ATmega8 über PonyProg2000 oder ein ähnliches Programm mit dem Boot-Loader-hex-File zu programmieren.

    Der ATmega8 wird so programmiert, dass er mit seinem internen RC-Oszillator und 8MHz arbeitet. Dadurch kann man den Resonator auf dem ASURO-Boad auslöten und hat dafür zusätzlich zwei freie Portpins (PB6 und PB7) zu Verfügung!

    Also Tester meldet euch.

    Gruß, Peter

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.04.2005
    Ort
    Weilburg
    Beiträge
    676

    Re: ATmega8-Boot-Loader nicht nur für den ASURO geeignet

    Zitat Zitat von peli51
    .. Im Gegensatz zum Original-Boot-Loader erwartet mein Boot-Loader die nomale, vom Assembler/Compiler erzeugte, *.hex-Datei (Textdatei)...
    ... versteh ich jetzt nicht, der Original-Boot-Loader sendet doch auch den *.hex ?

    Aber es freut mich doch, das du dich da mal dran gemacht hast.
    Ich war leider bisher zu faul dazu. Habe aber im Moment leider keinen ATmega8 da, sonst hätt ich da sehr gerne mal getestet.
    Prostetnic Vogon Jeltz

    2B | ~2B, That is the Question?
    The Answer is FF!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    28.02.2004
    Beiträge
    7
    Hallo Vogon.
    Ja, das Programm Flash1.4 verwendet natürlich auch die *.hex-Datei sendet aber nicht den originalen Inhalt dieser Datei. Wie du sicherlich weiss, ist die hex-Datei eine normale ASCII-Datei in der die Programmdaten im Intel-Hex-Format gespeichert sind. Diese Datei wird aber nicht in ihrem Originalzustand gesendet, sondern vom Programm Flash1.4 in ein anderes Format geändert und dann erst als ASCII-Datei gesendet (sendet immer eine Flash-Page von 64Byte). Warum der Programmierer das gemacht hat, kann ich nicht nachvollziehen. Das Intel-Hex-Format sieht wie folgt aus:

    The first data record is explained as follows:
    : Start code.
    10 Hex 10 (decimal 16), indicating 16 data character
    pairs, 16 bytes of binary data, in this record.
    01 Four-character 2-byte address field: hex address 0100,
    00 indicates location where the following data is to be loaded.
    00 Record type indicating a data record.
    The next 16 character pairs are the ASCII bytes of the actual program data.
    40 Checksum of the first Hex-record.

    The termination record is explained as follows:
    : Start code.
    00 Byte count is zero, no data in termination record.
    00 Four-character 2-byte address field, zeros.
    00
    01 Record type 01 is termination.
    FF Checksum of termination record.

    Dieses Original benutze ich zur seriellen Datenübertragung und diese Daten erwartet auch mein Boot Loader!

    Gruß, Peter

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo Peter,

    als Beta Tester für den Bootloader stehe ich gerne zur Verfügung.
    Einen Asuro und ein paar Boards mit mega8 Prozessor habe ich auch.

    Gruß m.a.r.v.i.n

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    28.02.2004
    Beiträge
    7
    Noch etwas habe ich vergessen zu erwähnen: Ich benutze zur Datenübertragung ein Laptop und konnte mit dem Flash1.4-Programm und dem COM-Adapter keine Programme zum ASURO übertragen obwohl der Com-Test einwandfrei und ohne Fehler durchgeführt wurde! Ich hatte mir deshalb zusätzlich den USB-Adapter gekauft mit dem es dann funktionierte. Mit meinem Boot Loader funktioniert die Datenübertragung jetzt auch mit dem mitgelieferten COM-Adapter einwandfrei. Ich nehme an, dass ein Softwarefehler im originalen Boot Logger ist.
    Gruß, Peter

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    28.02.2004
    Beiträge
    7
    Hallo m.a.r.v.i.n,

    prima, dann teile mir doch bitte deine E-Mail-Adresse mit, damit ich dir das hex-File von meinem Boot Logger und eine kurze Funktions-Erklärung schicken kann!

    Für den ASURO benötigst du aber einen Low Power M8 (ATmega8L). Die 16MHz-Version des M8 läuft nur mit 5V Versorgungs-Spannung!

    Peter

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.12.2004
    Ort
    München
    Alter
    50
    Beiträge
    198
    Hallo zusammen,

    seid vorsichtig mit dem internen Oszillator. Bei den Anfängen von ASUROs Entwicklung haben wir den auch benutzt und hatten häufig Schwierigkeiten, da die Frequenz mit der Batteriespannung und Temperatur stärker schwankt, als für eine serielle Übertragung gut ist. Nur deswegen ist der Resonator überhaupt drin, die zwei Portpins hätten wir gut gebrauchen können!
    Ich rate daher von der Verwendung des internen Oszillators ab, außer ihr habt eine trickreiche Baudraten-Erkennung drin. Diese haben wir uns aus Aufwands- und Platzgründen verkniffen...

    CU, Robin

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.04.2005
    Ort
    Weilburg
    Beiträge
    676
    Zitat Zitat von peli51
    ... Diese Datei wird aber nicht in ihrem Originalzustand gesendet, sondern vom Programm Flash1.4 in ein anderes Format geändert und dann erst als ASCII-Datei gesendet ...
    .. o ha - schon klar. Du hast deinem Bootloader das lesen der Intel-Hexfiles bei gebracht. So wird das Flashprogramm natürlich überflüssig.
    Prostetnic Vogon Jeltz

    2B | ~2B, That is the Question?
    The Answer is FF!

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    28.02.2004
    Beiträge
    7
    @Archi,
    ich weiss zwar nicht welche Probleme ihr damals mit dem internen RC-Oszillator hattet, aber ich halte diesen Hinweis einfach für falsch. Für mein letztes Projekt (Datenlogger mit M8 und M32) habe ich ca. 60 Geräte gebaut, alle mit internem RC-Oszillator 8MHz CLK und 38400 Baud. Nicht bei einem einzigen Datenlogger traten die von dir erwähnten Probleme auf und unsere Baudrate war sogar "etwas" höher. Evtl. habt ihr damals eine schlecht Charge verarbeitet oder eine Fehler in der Software gehabt. Anders (Fehler in der Software) kann ich mir den oben von mir beschriebenen Fehler bei der seriellen Datenübertragung mit dem COM-Interface nicht erklären. Ich habe in der Zwischenzeit mindestens 60 hex-Dateien mit meinem Boot Loader im M8 über das COM-Interface zum ASURO übertragen und nicht bei einer gab es, wie bei eurem Boot Loader, einen Übertragungsfehler! Stell doch mal euren Boot Loader dem Forum zur Verfügung, dann wird sich, denke ich, schnell herausstellen warum bei der Datenübertragung mit COM-Interface und eurem Boot Loader so viele Probleme bei den Anwendern auftreten!
    Gruß, Peter

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.138
    Blog-Einträge
    3
    ich weiss zwar nicht welche Probleme ihr damals mit dem internen RC-Oszillator hattet, aber ich halte diesen Hinweis einfach für falsch
    Vielleicht hängt die Frequenz des RC-Oszillator ja auch von der Batteriespannung ab. Die ist beim ASURO abhängig vom Ladezustand. Hat jemand Erfahrung ?

    Gruss,
    stochri

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

LiTime Speicher und Akkus