EEPROM in µC. Warum?

OP #2299212
Hallo,

ich bin auf der Suche nach einem geeigneten Microcontroller bei NXP auf 
die LPC17xx Serie gestossen. Die neu angekündigten Controller haben alle 
nen kleinen EEPROM integriert. Ich kann mir leider keinen Reim darauf 
machen, wozu der EEPROM gut ist und warum man den nutzen sollte. Deshalb 
frage ich mal hier.

Hat jemand ne Idee wofür der gedacht ist, oder was man reinschreibt, das 
nicht auch in den Flash könnte?

Ich frage nur aus purer Neugier und um etwas dazuzulernen. Vieleicht 
gibts ja ne völlig offensichtliche Anwendung, von der ich halt noch 
nichts gehört habe.

Gruß,

Stephan
Gast
Ins Flash kommt das Programm, ins EEPROM Werte für das Programm die auch 
geändert werden.
Beispielsweise könnte man über eine Schnittstelle Werte austauschen.
Einschaltdauer, Verzögerung, Menütexte, ...

Wenn im Programm Variablen dauerhaft gespeichert werden sollen ist es 
sonst nicht möglich.
Gast
S. Janssen schrieb:

> Hat jemand ne Idee wofür der gedacht ist, oder was man reinschreibt, das
> nicht auch in den Flash könnte?

Ein integriertes EEPROM erspart ein separates externes EEPROM auf der 
Platine. Es erspart damit Platz, Layout, und Geld. Ist doch gut, oder?

Ich kenne industrielle Steuergeräte, die im EEPROM Betriebsparameter 
gespeichert haben, die durch das Programm auch geändert werden können.

Du hast doch sicher ein Handy. Solche Geräte haben gelegentlich im 
Bedienmenü schon mal einen Punkt "auf Werkseinstellung zurück setzen". 
Damit werden deine eigenen Einstellungen im EEPROM dort gelöscht, und 
ein Grundparametersatz aus dem Codespeicher ins EEPROM geladen. Bis 
dieser wieder geändert wird. Denn du möchtest bei einem Akkuwechsel 
sicher nicht jedes mal alle Einstellungen wieder vornehmen.

Das Handy ist mal nur ein Beispiel. Es kann natürlich sein, daß dort 
anstatt EEPROM auch ein SRAM mit Goldcap-Pufferung drin ist. Aber 
gleiches Prinzip.
Gast
Flash kann man nur Seitenweise loeschen, also z.B. nur 1024 Byte auf 
einmal.
Will man also ein Byte ändern muss man 1024 löschen und neu schreiben. 
Außerdem: Während das Flash gelöscht und geschrieben wird kann der uC 
das Programm meist nicht mehr ausführen.
OP
Danke für die schnellen Antworten.
Das ist wohl die offensichtliche Anwendung auf die ich nicht gekommen 
bin. Mir war nicht bewusst, das man ein EEPROM byteweise löschen und 
beschreiben kann. Aber so machts Sinn.

Gruß,
Stephan
Gast
Peter II schrieb:
> Bootloader machen aber genau das.

Bist ja ein ganz schlauer. Darum wird der Bootloader auch meistens aus 
dem RAM ausgefuehrt oder zumindest stört es niemanden, wenn während des 
Flash-Schreibens keine adneren Befehle abgearbeitet werden können und 
auf keine Interrupts reagiert werden kann.
Gast
Brutus schrieb:
> Bist ja ein ganz schlauer. Darum wird der Bootloader auch meistens aus
> dem RAM ausgefuehrt oder zumindest stört es niemanden, wenn während des
> Flash-Schreibens keine adneren Befehle abgearbeitet werden können und
> auf keine Interrupts reagiert werden kann

- Amtels können keine Pogramme aus dem Ram ausführen.
- es werden Befehle während das Flash-Schreibens ausgeführt, und wenn es 
nur die warteschleife auf das ende des schreibens ist.
Gast
Ein Bootloader dient ja nun auch dazu, dass das Hauptprogramm upgedatet 
werden kann. In den meisten Anwendungen ist ein Update des Bootloaders 
nicht möglich.
Peter II schrieb:
> - Amtels können keine Pogramme aus dem Ram ausführen.
> - es werden Befehle während das Flash-Schreibens ausgeführt, und wenn es
> nur die warteschleife auf das ende des schreibens ist.

Wenn Du mit "Amtels" den AVR meinst, da nur bei bestimmten Typen und 
nicht in allen Sektionen.

Bei den ATtiny bzw. in der NRWW-Sektion stoppt die CPU. Dann sind auch 
keine Interrupts möglich. Ein Bootloaderprotokoll muß solange still 
sein, bis das Schreiben der Page abgeschlossen ist.


Peter
Gast
Andreas schrieb:
> Brutus schrieb:
>> Peter II schrieb:
>>> Bootloader machen aber genau das.
>>
>> Bist ja ein ganz schlauer.
>
> Du offenbar nicht. Warum, haben die anderen schon erläutert bzw. steht
> in den Datenblättern diverser Cortex M3 oder Atmel AVR.

Du offenbar auch nicht. Beim Cortex M3 stoppt die CPU definitiv, wie 
auch bei massig anderen uC Familien die ich kenne. Wenn es geht dann 
liegt das daran, dass die uC mehrere unabhängige Flashbänke haben, das 
haben aber die wenigsten.

Mit den Bastelwastel-AVR kenne ich mich nicht aus.
Brutus schrieb:
> Mit den Bastelwastel-AVR kenne ich mich nicht aus.

Und was suchst du dann in diesem Forum? Mal ordentlich auf die Kacke 
hauen?

Nahezu jeder (moderne) Controller kann sein Flash selbst beschreiben.
Und AVR-Controller können Code nur im Flash ausführen. Wie viele andere 
auch.

Also halte dich mit deinem Halbwissen zurück. Trägt ohnehin nichts zur 
Klärung der eingangs gestellten Frage bei.

mfg.
Gast
Thomas Eckmann schrieb:
> Brutus schrieb:
>> Mit den Bastelwastel-AVR kenne ich mich nicht aus.
>
> Und was suchst du dann in diesem Forum? Mal ordentlich auf die Kacke
> hauen?
>
> Nahezu jeder (moderne) Controller kann sein Flash selbst beschreiben.
> Und AVR-Controller können Code nur im Flash ausführen. Wie viele andere
> auch.

Du raffst es nich, oder? Natürlich kann er das. Aber er kann 
währenddessen nichts anderes.

Das AVRs nur Code im Flash ausführen können zeigt doch schon wie 
primitiv die sind. Warum sollte ich mich nicht hier rumtreiben, heißt 
doch mikrocontroller.net und nicht AVRhobbybastler.net?
Gast
aktueller Song über Brutus:

er ist so schön,
er ist so toll,
in Wirklichkeit ist er ein Proll;

sein so sagenhaftes Wissen,
ist noch schlechter als beschi**en,
die geistige Natur,
ein Armutshaufen nur,

er ist so schön,
er ist so toll
...
Gast
Leute, leute, was geht denn hier ab?
Ok, Brutus ist ein bisschen Arrogant, aber er hat eigentlich mit jeder 
Aussage recht.

Mein Darwin-Award des Tages geht an Thomas Eckmann (Firma: Thomas 
Eckmann Informationst.), der sich hier unter seinem echten Namen auf 
unterstes Niveau herablässt. Das kann dann jeder potentielle Kunde 
Jahrelang im Internet nachlesen, sehr Clever!


Wird Zeit dass die Schulferien vorbeigehen!
Brutus schrieb:
> Basti schrieb:
>> Sind AVR nicht auch im professionellen
>> Einsatz?
>
> Vielleicht in Kaffeemaschinen oder China-Spielzeugautos.
>
> Aber nicht im Automitive oder Medical-Bereich oder auch nur bei
> Industrielösungen.

Das ist so nicht richtg, ich habe schon einige Geräte auseinander 
genommen in denen AVRs drinne sind und die waren alle aus den 
unterschiedlichsten Industrie Bereichen.
Sven Fabricius schrieb:
> Das ist so nicht richtg, ich habe schon einige Geräte auseinander
> genommen in denen AVRs drinne sind und die waren alle aus den
> unterschiedlichsten Industrie Bereichen.
Kann ich so unterschreiben.
Habe letzte Woche meine LG-Funkmaus auseinander genommen (Bild 1) => 
Atmega48
Und vor etwas längerer Zeit mein Blitzgerät Nissin DI622 (Bild 2) => 
AtMega8535

Und die LG Maus ist wirklich klasse, die Batterie hält ohne sie 
Abzuschalten schon seit über 2 Jahren!
Angehängte Dateien:
Gast
Hatt eigentlich gerade einen Thread zu dem Thema eröffnet, ist die 
Zensur dazu schon so weit, dass sowas sofort gelöscht wird???

@Timmo H.

Das sind doch nur Consumer-Geräte, ich will Berichte von ernsthalten 
Anwendungen aus dem Breich Automotive, Medical oder Industrial.
Gast
Scrub schrieb:
> Das sind doch nur Consumer-Geräte, ich will Berichte von ernsthalten
> Anwendungen aus dem Breich Automotive, Medical oder Industrial.

Du wirst wohl keine bekommen, da solche Details in kommerziellen 
Produkten praktisch immer der Geheimhaltung unterliegen.
Ich kann Dir aber versichern, dass es solche Anwendungen gibt. ;)
Gast
Scrub schrieb:
> Das sind doch nur Consumer-Geräte, ich will Berichte von ernsthalten
> Anwendungen aus dem Breich Automotive, Medical oder Industrial.

Ja, erwischt, Atmel baut Controller mit CAN ausschließlich für die paar 
Tausend bastler die die jedes Jahr kaufen. Warte, wie viel kostet die 
Entwicklung eines neuen µC so ungefähr?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.