Bootloader für AT90S2313

Hi NG,

ich suche seit einer Weile nach eienr Antwort auf die Frage, ob es möglich ist, einen AT90S 2313 mit einem Bootloader zu versehen. Ich finde Quelltexte dafür immer nur für die Megas, so dass ich zu der Befürchtung komme, dass der 2313 das gar nicht kann... Ebenso ist es doch so, dass ein Mega mit einem Bootloader das Programm in seinen Flash schreibt, oder?

Daher meine Frage: Ist es möglich, mit einem AT90S2313 Programmcode im RAM auszuführen?

Viele Grüße, Michael

Reply to
Michael
Loading thread data ...

Was verstehst Du unter einem Bootloader?

Nicht dass ich wüsste, die Megas die ich hier liegen habe programmiere ich entweder per PPI oder ISPSPI und da muss ich keinen Bootloader vorneanstellen. Was die AVRs haben ist ein kleines ROM Programm, das für die Kommunikation per ISPSPI zuständig ist, aber als Bootloader würde ich das das wirklich nicht bezeichnen.

Könnte es sein, dass Du die AVRs mit den Infinion C16x verwechselst? Die haben brauchen einen Bootloader mit dem man das Zeug in's Flash schreibt.

Wolfgang

Reply to
Wolfgang Draxinger

Wolfgang Draxinger schrieb:

Die AVR-Megas haben eine "Self-Programming"-Möglichkeit, das heisst das FLASH kann zum Beispiel mittels eines geeigneten Bootloaders via Serielle Schnittstelle, CF-Karte, USB etc. geupdatet werden. Ziemlich praktisch. Leider nur für die MEGA's verfügbar...

Ausführen von Programmcode aus dem RAM: NIET!

Gruss, Edi

Reply to
Eduard Iten

Genau das habe ich gemeint!

Jawohl!

Nicht wirklich, oder?

Ach Mist.

Danke für die traurige Antwort, Michael

Reply to
Michael

Ah ja, habe grad noch mal die Doku gewälzt, da steht tatsächlich boot loader. Der Begriff ist IMHO etwas ungünstig gewählt, da ein boot loader eigentlich ein Programm ist, dass den Programmcode der zum Start des Systems notwendig ist erst in den Speicher lädt. Das was die AVRs dagegen haben ist darauf angewiesen dass ein schon im Flash vorhandenes Programm während seiner Ausführung in diesen speziellen Speicherbereich springt, in dem dann wieder ein Programm residiert, dass den vorherigen Inhalt des Flash aktualisieren kann, also soz. ein "Update Loader".

Das hätte ich unter einem Bootloader verstanden...

Wolfgang

Reply to
Wolfgang Draxinger

Davon bin ich ja leider auch ausgegangen, also hast Du vollkommen recht!

Stimmt leider.

s.o.

Michael

Reply to
Michael

So traurig wäre ich da an deiner Stelle nicht: Einen uC setzt man üblicherweise für Dinge ein, die Laufzeitkritisch o.ä. sind. Da man zudem mit wenig Speicher auskommen muss und Speicher fast nur auf dem Stack alloziiert, handelt man sich leicht buffer overflows ein. Die die sind aber zum Glück bei einem AVR eher unkritisch, da Code und Daten in getrennten Speichern liegen, also kann ein fehlerhafter Dateninput (oder ein gewiefter Hacker mit einem AVR-Exploit) keine Code-Payload hinzufügen. Er bringt höchstens den AVR zu stehen und da steht schon der Watchdog bereit. Bei anderen Architekturen soll es schon vorgekommen sein, dass Leute von ihren Freunden erfahren haben sollen, dass Bekannte jemanden gekannt haben, dem es passiert ist, dass ein unvorhergesehener Dateninput Programmcode im RAM abgelegt hat und dieser dann abgelaufen ist ;-)

Und wenn Du wirklich selbstmodifizierenden Code in einem uC haben willst, empfehle ich dringenst, einen kleinen Interpreter zu basteln, der dann die Code-Tokens im RAM ausführt.

Wolfgang

Reply to
Wolfgang Draxinger

Am Mon, 26 Jul 2004 12:29:33 +0200 schrieb Michael:

Klar kannst du einen Bootloader reinschreiben. Er wird aber nicht funktionieren, weil diesem Chip die Moeglichkeit fehlt, sein eigenes Flash-ROM zu beschreiben.

Richtig. Die Megas kennen die entsprechenden Kommandos.

Das ist das Prinzip eines Bootloaders (in diesem Zusammenhang).

Nein. Weder kann er Kommandos aus den paar Byte internen RAMs ausfuehren, noch kann man externen Programmspeicher anschliessen.

Gruss Michael

Reply to
Michael Linnemann

Daran habe ich auch schon gedacht, nur widerspricht das dem Prinzip der AVRs in 1 MHz Taktfrequenz auch 1 MIPS durchzuführen...

Danke nochmal, Michael

Reply to
Michael

Na' dann mach doch einen 10:1 Interpreter, das kann man schaffen.

Wolfgang

Reply to
Wolfgang Draxinger

Na gut, ich versuchs mal. Danke für den Tipp.

Bye und viele Grüße, Michael

Reply to
Michael

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.