mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootloader für ATmega Reihe


Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich weiß es existieren hier schon einige Beiträge zu diesem Thema...aber 
mit denen komme ich irgendwie nicht zurecht...

ich suche einen einfachen bootloader für einen atmega8/16/32/64/128...
er sollte wirklich sehr einfach sein, ein CRC check oder sowas halte ich 
nicht wirklich für notwendig, wenn man eine baudrate mit ner fehlerquote 
von 0 % einstellt dürfte doch alles glatt gehn oder?

Ja also der µC sollte durch ein serielles Kabel beschrieben werden 
(halbdublex wäre auch sehr nett)

Gibt es sowas schon in irgendeinem Projekt?



Danke

Autor: Seb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort...
aber den Beitrag kannte ich schon, zu kompliziert finde ich...
ausserdem kein atmega64/128 support...

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der ist keineswegs kompliziert... im Gegenteil, sehr einfach sogar.
Nur Quarzfrequenz einstellen, evtl die Pins, assembliern und fertig.

Kann es noch einfacher gehen ?

Frank

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>aber den Beitrag kannte ich schon, zu kompliziert finde ich...
>>ausserdem kein atmega64/128 support...

Aha du kennst den Beitrag ? Auch den Titel ?

Gruß Hagen

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das meint ich nicht mit "kompliziert"...
ich möchte das auch gerne verstehen und das sehr schnell :)

Autor: clio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hirbel Ha wrote:

> aber den Beitrag kannte ich schon, zu kompliziert finde ich...
> ausserdem kein atmega64/128 support...

Wenn es Dir zu kompliziert ist, die Zeilen:

.include "m64def.inc"

bzw.

.include "m128def.inc"

hinzuschreiben, glaube ich kaum, daß Du nen anderen Bootloader besser 
verstehst.

Du kannst einfach mal Fragen stellen.


Peter

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso begegnet man mir denn eigentlich hier mit solch einer 
Agressivität??

Ich habe doch nix gegen dieses BOOT Projekt gesagt..natürlich ist es 
kein Problem is zu kompilieren (ja auch für ein mega128, nach genauerem 
hinschaun), aber darum gehts mir doch nicht...

ich will nicht einfach ein fremden code nehmen...wenn doch, möchte ich 
ihn bis ins detail verstehen....

Sorry das ich in diesem nach Hilfe gesucht habe...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hirbel Ha wrote:
> Wieso begegnet man mir denn eigentlich hier mit solch einer
> Agressivität??
>
> Ich habe doch nix gegen dieses BOOT Projekt gesagt..natürlich ist es
> kein Problem is zu kompilieren (ja auch für ein mega128, nach genauerem
> hinschaun), aber darum gehts mir doch nicht...
>
> ich will nicht einfach ein fremden code nehmen...wenn doch, möchte ich
> ihn bis ins detail verstehen....

na ja.
Was hindert dich? Du hast den Quellcode! Analysiere ihn!

Tatsächlich ist die Analyse von fremden Quellcode eine ausgezeichnete
Möglichkeit Dinge zu lernen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hirbel Ha wrote:
> Wieso begegnet man mir denn eigentlich hier mit solch einer
> Agressivität??

Wo siehst Du Agressivität?

Du hast etwas behauptet, was nicht stimmt und ich habe es richtig 
gestellt.

Und dann habe ich Dich eingeladen, Fragen zu stellen.

Mir ist es egal, ob Du ihn benutzt oder nicht.


Peter

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja ok, war wohl gestern ein wenig spät...

ich hab eine frage zum FBoot17 Prog.
Wie bekomme ich das denn compiliert...ich benutze visual c++ 2005 
express und bestimmte include dateien existieren garnicht bzw. manche 
Typen oder Befehle existieren nicht...
wurde das Prog unter linux kompiliert/geschrieben?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs mit nem alten Borland C++ 3.0 als DOS-Programm übersetzt.


Peter

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso...

die pins sind frei wählbar??

wenn ich die uart pins wähle, weil ich eine serielle leitung später zur 
datenübertragung und zum firmware update nutzen will, gibt es dann ein 
konflikt?

wie funktioniert die 1-wire variante? Laut Schaultbild wird da ja nur 
ein pin benutzt, aber im bootloader asm file werden zwei pins definiert 
(TX, RX)..

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hirbel Ha wrote:

> die pins sind frei wählbar??

Ja, damit auch die AVRs ohne UART funktionieren.


> wenn ich die uart pins wähle, weil ich eine serielle leitung später zur
> datenübertragung und zum firmware update nutzen will, gibt es dann ein
> konflikt?

Im Prinzip nicht.
Wenn Du allerdings den Bootloader auch von der Applikation aufrufen 
willst, mußt Du vorher die UART wieder disablen.


> wie funktioniert die 1-wire variante? Laut Schaultbild wird da ja nur
> ein pin benutzt, aber im bootloader asm file werden zwei pins definiert
> (TX, RX)..

Muß dann eben der gleiche Pin sein.

Der AVR sendet als wired OR, d.h. sein High überschreibt das Low über 
den Widerstand vom PC.
Der AVR übernimmt dann auch die Negation des Treiber-IC, d.h. High auf 
dem RS232 entspricht Low als Datenbit.


Peter

Autor: clio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm den Megaload und gut ist.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
clio wrote:
> Nimm den Megaload und gut ist.

Wußte garnicht, daß der auch mit einem Pin auskommt.

Und ATmega48 oder ATtiny861 usw. kann der schonmal garnicht.

Für kleine Sachen nen völlig überdimensionierten Flatschen zu nehmen, 
nur wegen dem Bootloader ist ja nicht gerade sinnvoll.


Peter

Autor: Hirbel Ha (leo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab mir den megaload angeschaut....naja nö, der gefällt mir garnich...

ich hab mich jetzt durch pedas code gehangelt und an alle meine CPU'S 
angepasst....ich hoffe es funzt dann auch alles.

Das mit der 1-wire geschichte...da hab ich mir überlegt, das ich die ja 
garnicht benötige wenn ich sowieso den UART anschluss verwende...kann 
ich auch gleich den nehmen..

wie meinst du das, das wenn ich den Bootloader aus der Applikation 
aufrufe..usw.?
Wozu sollte das denn gut sein?
oder meinst du im Programm z.b. ein menü einbauen "Update starten" und 
dann legt er von selber los ohne Reset?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hirbel Ha wrote:

> oder meinst du im Programm z.b. ein menü einbauen "Update starten" und
> dann legt er von selber los ohne Reset?

Ja.
Bei AVRFreaks hat das einer so gemacht.


Peter

Autor: clio (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wußte garnicht, daß der auch mit einem Pin auskommt.

Siehstemalmanlerntnieaus...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.