Hi. Bei den ATmegas kann man ja einen Bootloader einrichten. Geht das auch bei den "alten normalen" AVR's und bei den neuen Tinys? Kann man den Bootloader zwecks update sich selbst überschreiben lassen? Kann man den gesamten Prozessorspeicher überschreiben? Oder kann man nur außerhalb des Bootloaderbereiches schreiben?
Sam schrieb: > Geht das auch bei den "alten normalen" AVR's und bei den neuen Tinys? Geht prinzipiell bei allen AVR, welche die "SPM"-Instruktion unterstüzen. Wenn die AVR einen Bootloader-Bereich vorgesehen haben, dann ist es recht einfach nen Bootloader zu implementieren. Haben sie keinen, dann muss man am Resetvektor drehen, um den Bootloader als erstes zu starten [1]. Um zu schauen, welche AVR die "Self-Program-Memory"-Instruktion haben, muss man mal bei Atmel vorbeischauen [2]. > Kann man den Bootloader zwecks update sich selbst überschreiben lassen? Nich so einfach möglich. Der Bootloader nimm ja schließlich das Programmieren vor, und wenn du ihn löscht, kann das Programmieren nicht mehr von statten gehen - logisch. Halte es aber für Prinzipiell möglich einen neuen Bootloader via Bootloader zu flashen. Stelle es mir aber nicht so einfach vor. Dazu müsste man vorher ne Art Booloader an eine andere Stelle im Flash schreiben, dessen erste Instruktion anspringen und dann das eigentliche Update in der Bootloader-Sektion vorzunehmen. Dann wieder in den frisch geflashten Bootloader hupsen, um das eigentliche Programm zu flashen und den temporären Bootloader zu überschreiben. Ist aber nur Theorie; hab ich noch nie gemacht. > Kann man den gesamten Prozessorspeicher überschreiben? Du meinst sicherlich den Flash. Und hier gilt das selbe Problem wie eben: Wenn der Bootloader weg ist, dann kann er nicht programmieren. Leider kann man beim AVR keine Instruktionen aus dem RAM ausführen. Das würde einem das Leben hier deutlich erleichtern. >Oder kann man nur außerhalb des Bootloaderbereiches schreiben? Du kannst da reinschreiben, wenn es deine Fuse-Einstellung zulässt. Aber auch hier gilt: Das zerstört den Bootloader. [1] Beitrag "Bootolader für ATMega48" [2] http://atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.