PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zum Megaload Bootloader



boeseTURBO-CT
01.12.2004, 10:14
Mahlzeit

Habe mal eine Frage zu Megaload. Wird der Bootloader auch beim starten des IC´s durchlaufen? Oder
nur wenn man einen Reset macht?

Habe nämlich gelesen, dass der Loader 8 Sekunden wartet bis das normale Programm ausgeführt wird,
das ist mir nämich ein wenig lang, wenn der ATMEGA128 normal gestartet wird... Da sollte
das Programm dann doch recht zügig anlaufen...

Weiß da jemand was?

Gruss

Marco78
31.05.2005, 21:55
Wie wird der IC denn "normal" gestartet? Es wird jedesmal ein reset ausgelöst, wenn Spannung angelegt wird.
Zumindest mein Mega16 durchläuft jedesmal die Bootloaderroutine. Und die dauert bei mir um einiges mehr als nur 8 sek.!

chr-mt
31.05.2005, 22:34
Hi,
das thema hatten wir vor einiger Zeit schon mal.
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=8702
Leider gab's damals keine Lösung.

Gruß
Christopher

DarkNet
20.12.2005, 16:56
Um das Thema nochmal aufzuwärmen:

Es gibt eine kleine, aber feine Alternative:
http://www.mikrocontroller.net/forum/read-4-53146.html#82861

er wartet 0,2s(!), wenn sich dann der Programmer nicht gemeldet hat wird das Hauptprogramm gestartet.

Unter Bascom kann er als External programmer eingebunden werden...

Gruß,
David

chr-mt
20.12.2005, 17:48
Ist ja schon lange her ;)
Ich verwende jetzt den BASCOM Bootloader.
Den kann man auch so umschreiben, daß er auf einen Pin "hört", was mir lieber ist.
Wenn man den Controller zum Datenempfang benutzt, kann es eventuell sein, daß er durch Zufall die "richtigen" Startbytes bekommt uind sich dann das eigene Programm zerschießt.
Schreibt man den Bootloader entsprechend um, kann man prima mit einem Terminalprogramm (zB. Hyperterminal) und X-Modem Protokoll flashen, braucht also keine extra Anwendung, was auch für verschiedene Betriebssysteme nützlich ist, da ja nicht jedes Bootloaderprgramm für jedes Betriebssystem geht.
Theoretisch kann ich die AVRs jetzt auch mit dem Atari Falcon oder dem Atari Portfolio etc. flashen ;) (Muß ich mal probieren)

Gruß
Christopher

linux_80
20.12.2005, 20:14
Hallo,
was man allerdings auch machen kann, das Fusebit BootReset im Originalzustand lassen, also so das der Bootloader nach dem Reset nicht aufgerufen wird, dann kann man vom Hauptprogramm aus den Bootloader aufrufen. Dann kann man sich über UART selber was überlegen wie der Bootloader aufzurufen ist.
Das Prinzip gibts auch auf diversen Geräten mit Ethernet.

chr-mt
20.12.2005, 20:17
Das geht ?
Wenn ich Zeit hab' probiere ich das mal.
Wäre eine Alternative.

Gruß
Christopher

linux_80
20.12.2005, 20:35
Die Startadresse des Bootloaders ist ja immer gleich, diese Adresse muss man anspringen, per Assembler direkt einbauen, ist nur ein Befehl (JMP oder RJMP je nach AVR).