Guten Tag Community, ich beschäftige mich aufgrund meiner Vorlesung mit Mikrocontrollern und dessen Aufbau. Nun stehe ich vor der Frage, was beim "Flashen" eines Mikrocontrollers geschieht und komme nicht weiter. Ich hoffe hierbei kann mir jemand behilflich sein. Danke und liebe Grüße
Ein Mikrocontroller hat in der Regel einen nichtflüchtigen Programmspeicher, den "Flash Speicher" (Google/Wikipedia). Flashen = Beschreiben dieses Speichers. Also das auszuführende Programm in den Speicher schreiben.
Beziehen wir uns mal auf den AVR8. Da gibt es den gesamten Flash-Speicher löschen, d.h. alle Speicherzellen (Word-Breite) werden auf 0xffff gesetzt. Bei beschreiben kann man dann nur den Zustand 1->0 ändern.
Okay ich verstehe. D.h kann ich auf die Frage, was beim "Flashen" eines Mikrocontrollers geschieht mit : Beim Flashen eines Mikrocontroller wird ein auszuführendes Programm in den Speicher des Mikrocontrollers geschrieben. Denn ein Mikrocontroller besitzt ein nichtflüchtigen Speicher, der in unserem Fall genutzt wird, um das Programm zu speichern. Nichtflüchtiger Speicher = Daten bleiben nach dem Ausschalten der Betriebsspannung erhalten. Es kann beliebig oft gelesen und beschrieben werden. antworten?
Tut mir leid Karl ich habe das nicht verstanden. Kannst du es vielleicht noch einmal erklären ? Danke im Vorraus
Malek schrieb: > Es kann beliebig oft gelesen und beschrieben werden. Nein, das nicht, es gibt immer eine Grenze! Schau mal in eine reales Datenblatt eines Atmega328p.
Malek schrieb: > Tut mir leid Karl ich habe das nicht verstanden. Kannst du es vielleicht > noch einmal erklären ? Nöö, was ist mit löschen == alles auf 1 Setzen unklar? Und beschreiben == 0 setzen kann man nur Bits, die auf 1 stehen, oder schon 0 sind!
Malek schrieb: > Ich habe es nicht verstanden. > Tut mir leid Karl. > Bitte sofort erklären. Pesch, es gibt auch noch Suchsysteme, die könnte man nutzen. Oder doch, Du hast ein leeres Papier ohne Löscher. Nun will man eine "0" kodieren und nimmt einen Locher und takert eine Loch an die passende Stelle (Bitposition, Adresse). Will man den gesamten Speicher "löschen", so muss man ein anderes Stückpapier nehmen, da die Löscher nicht wieder auffüllt werden können. Das ist sehr vereinfacht dargestellt.
Karl M. schrieb: > Malek schrieb: >> Tut mir leid Karl ich habe das nicht verstanden. Kannst du es vielleicht >> noch einmal erklären ? > > Nöö, was ist mit löschen == alles auf 1 Setzen unklar? Das ist ein vollkommen unwesentliches Detail, das den Fragesteller nur verwirrt, anstatt ihm zu helfen. Das einzige, was man in diesem Zusammenhang erwähnen könnte, ist daß man Flash vor dem Beschreiben erst löschen muß. Ausnahme ist das allererste Beschreiben des Flash (z.B. in einem fabrikneuen µC) - denn dann ist das Flash schon leer. Malek schrieb: > Beim Flashen eines Mikrocontroller wird ein auszuführendes Programm > in den Speicher des Mikrocontrollers geschrieben. Nicht notwendigerweise. Das Flash eines µC kann auch Daten enthalten. Ein Programm, das z.B. Texte auf ein Display ausgibt, muß diese Texte ja irgendwo gespeichert haben. Und zwar im Flash. > Denn ein Mikrocontroller besitzt ein nichtflüchtigen Speicher, > der in unserem Fall genutzt wird, um das Programm zu speichern. Nicht jeder µC enthält Flash bzw. allgemein nichtflüchtigen Speicher. Aber ein µC, bei dem man vom "flashen" spricht, natürlich schon. Sonst würde das Wort ja keinen Sinn ergeben. > Nichtflüchtiger Speicher = Daten bleiben nach dem Ausschalten der > Betriebsspannung erhalten. Das ist die allgemeine Definition des Begriffs. > Es kann beliebig oft gelesen und beschrieben werden. Beliebig oft gelesen - ja. Aber beim Schreiben gibt es eine Grenze.
HI
> das hab sogar ich verstanden und bin Bodybuilder.
Damit wäre dein negativer Intelligenzquotient ja geklärt.
MfG Spess
Beim Flashen passiert ungefähr das gleiche, als wenn du eine Datei auf einen USB Stick überträgst. Was ist daran schwer zu verstehen? Das Programm wird in den Flash Speicher des Mikrocontrollers übertragen. Fertig aus, mehr gibt's dazu nicht zu sagen. Es sei denn, die Frage gilt den physikalischen Vorgängen, die sich innerhalb des Flasch-Speichers abspielen. Dann müsste man aber nach einen ganz konkreten Modell fragen, denn es gibt unterschiedliche Varianten dieser Speicher.
Malek schrieb: > Okay ich verstehe. D.h kann ich auf die Frage, was beim "Flashen" eines > Mikrocontrollers geschieht mit : > > Beim Flashen eines Mikrocontroller wird ein auszuführendes Programm in ... > antworten? Hausaufgaben?
spess53 schrieb: > HI > > das hab sogar ich verstanden und bin Bodybuilder. > > Damit wäre dein negativer Intelligenzquotient ja geklärt. > > MfG Spess Hey hey jetzt mal nicht frech und obszön werden, kleiner. Ich weiss das dieses Thema hier auch nicht leicht für dich ist und dich übelst frustet.
Malek schrieb: > Nun stehe ich vor der Frage, was beim "Flashen" eines > Mikrocontrollers geschieht Zitat: Quelle: https://de.wikipedia.org/wiki/Flash-Speicher "...Bei einem Flash-EEPROM-Speicher werden Informationen (Bits) in einer Speichereinheit (Speicherzelle) in Form von elektrischen Ladungen auf einem Floating-Gate oder in einem Charge-Trapping-Speicherelement eines Metall-Isolator-Halbleiter-Feldeffekttransistors (englisch Metal Isolator Solid State Field Effect Transistor, MISFET) gespeichert..." /Zitat Hi, zunächst ist der Begriff "Flashen" seit ein paar Jahren gleichgesetzt zum "Programmieren" von EPROMs zum Beispiel, deswegen, weil diese Flash-Technologie bei Speicherbausteinen so extrem populär geworden ist. Aber das "Beschreiben" von Speichern geht allgemein so, dass Ladungen verschoben werden. Wie das im einzelnen vonstatten geht, kommt auch auf die Speicherbausteine an. Und was oft vergessen wird: Reine Mikroprozessoren (von damals) haben keinen Speicher. Sie müssen immer noch das "Betriebssystem" per EPROM extra mitgeliefert bekommen. Alles andere ist "fest". Dann kommt der Begriff Mikrocontroller ins Spiel. Die "Controller" haben dann schon Speicher eingebaut. Bei den ATMEL AVRs sogar drei verschiedene Arten mit jeweils zum Teil sogar unterschiedlichen Befehlen und Zugriffszeiten. Also: Codesegment -> cseg Datensegment -> dseg Epromsegment -> eseg Du fragtest jetzt nach dem "cseg". Hier steht etwas dazu: https://www.mikrocontroller.net/articles/AVR-Tutorial:_Speicher https://de.m.wikipedia.org/wiki/Erasable_Programmable_Read-Only_Memory ciao gustav P.S.: Beim Selbstbau-Eprombrenner konnte ich feststellen, dass bei der Organisation der 27xx-Eproms immer 8 Bit auf einer der Adressen gleichzeitig "gebrannt" werden. Und wie oben schon gesagt, steht beim Leerlauftest am Anfang alle Adressen-Daten auf FF. Die 0 wird also aktiv programmiert. Es gibt da auch noch den "Intelli"- Programmiermodus, der das Programmieren schneller macht, indem er nur die Adressen, die Nullen enthalten, tatsächlich anspringt. Also erst ab Adresse 40 im Beispiel wird dann aktiv geprogt.
:
Bearbeitet durch User
Karl B. schrieb: > zunächst ist der Begriff "Flashen" seit ein paar Jahren gleichgesetzt > zum "Programmieren" von EPROMs zum Beispiel Ähhm. Nein. Ein EPROM ist kein FLASH. Und es wird auch nicht "programmiert", sondern programmiert. Ja, ohne Anführungszeichen. EPROM != EEPROM != FLASH Die Unterschiede zumindest zwischen EEPROM und FLASH sind subtil. Aber nachdem die Wikipedia wieder online ist, kann man das dort in epischer Breite nachlesen. Bei EPROMs sagt(e) man statt programmieren früher auch brennen (und zum Programmiergerät umgangssprachlich (EPROM-) Brenner). Bei EEPROMs sagt man typischerweise nur schreiben. Und bei FLASH halt flashen. Aber das sind alles nur Worte. Was den TE nun wirklich interessiert, vermag ich nicht zu sagen. Geht es ihm darum, wie man den µC dazu bringt, das FLASH zu beschreiben? Oder was im FLASH passiert, wenn es geschrieben wird?
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.