Forum: Mikrocontroller und Digitale Elektronik AT mega "self programming" Funktion


von Weide (Gast)


Lesenswert?

Hallo,

kann mir eventuell jemand anschaulich erklären, wozu diese "self 
programming" Funktion einiger AT megas gut sein soll. Irgendwie sehe ich 
denn Sinn nicht. Wozu sollte der Kontroller selbstständig seinen 
Programmcode überschreiben?

Gruß Weide

von Matthias (Gast)


Lesenswert?

Hallo Weide,

Eine mögliche Anwendung des "Self-Programming":

Wenn man einen Target-Monitor/Debugger verwenden möchte, muß dieser den 
Programmcode ständig ändern (wenn Haltepukte usw. eingefügt werden).


Gruß Matthias

von MdeWendt (Gast)


Lesenswert?

Hallo,

hat jemand schon Erfahungen mit der self-programming Funktion der 
ATMegas unter AVRGCC gesammelt und kann hier näheres dazu schreiben?

Martin

von Markus (Gast)


Lesenswert?

Hi Weide,
die "self programming" Funktion, wie Du sie nennst ermöglicht es dem AVR 
Programme ohne Programmiergerät einzuspielen. Dazu wird der 
Programmspeicher in zwei Bereiche aufgeteilt, den Boot Sector Flash und 
den Application Sector Flash. Man muß dann einmalig mit dem 
Programmiergerät einen Boot Loader in den Boot Sector programmieren. 
Dieser Bootloader kann dann von jeder beliebigen Schnittstelle ein 
Programm laden und in das Application Flash schreiben.
Viel weiter bin ich mit dem Thema leider auch noch nicht. Ich habe auf 
www.avrfreaks.net mal irgendwas zu dem Thema gesehen.

Hoffe das reicht erst mal.

Gruß
Markus

von Weide (Gast)


Lesenswert?

Hallo,

vielen Dank erstmal für Eure Antworten.

Markus,
um über eine beliebige Schnittstelle ein Programm zu laden, muß ich das 
entsprechende Programm logischerweise an dieser Schnittstelle bereit 
halten. Nun, dies muß ich allerdings auch auf dem "normalen" 
Programmierweg (ISP), deshalb geht mir der Sinn nach wie vor etwas 
abhanden, aber ich erkenne (hoffentlich) schon mal die Richtung: 
Vielleicht ist es so möglich, dass man sich Programmupdates 
beispielsweise über's Internet oder gar über's Handy holen könnte - sehe 
ich das richtig?

Gruß Weide

von Markus (Gast)


Lesenswert?

Hi Weide,
es stimmt schon, den Bootloader muß man einmal mit ISP programmieren. 
Aber danach ist die Programmquelle egal. Theoretisch könnte man einen 
Programmdownload auch über's Internet oder Handy erfolgen wenn der 
Bootloader die entsprechenden Routinen hat und wenn die notwendige 
Schnittstelle vorhanden ist. Die Größe des Boot Sektors ist zwar 
begrenzt, sollte aber für die meisten Anwendungen reichen.

Gruß
Markus

von Jonas (Gast)


Lesenswert?

naja, ich denk mal das is auch dazu gut, wenn man "mobile programme" 
haben möchte. könnte mir z.B. vorstellen, dass programme z.B. auf 
eeproms hat, und dann einfach das eeprom austauscht. z.B. wenn man ne 
spielekonsole mit dem avr machen will...

von Weide (Gast)


Lesenswert?

Hallo Jonas,

mittlerweile glaube ich, den Sinn einigermaßen verstanden zu haben. 
Natürlich kann man einfach ein EEPROM tauschen, falls vorhanden und 
natürlich kann man via ISP ein neues Programm einspielen, aber ich 
denke, das Ganze soll wohl in Richtung Anwenderfreundlichkeit für den 
Enduser ausgerichtet sein. Bei einem normalen Prozessor ist jegliche 
Eigenintelligenz außer Betrieb gesetzt, wenn er sich im Uploadmodus 
befindet. Ergo benötigt man für einen komfortablen, Enduser-geeigneten 
Upload eine weitere Intelligenz (z.B. einen weiteren Kontroller) auf der 
Schaltung, die den Bootvorgang übernimmt. Dies entfällt bei einer "self 
programming" Funktion - jedenfalls wenn ich mich nicht gänzlich irre :-)

Gruß Weide

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
Noch kein Account? Hier anmelden.