Guten Tag, ich habe ein Projekt in dem ich ein Arduino benutze. Ich möchte nun Daten von einem externen EEPROM (oder ähnlichen ICs) in den flach speicher des Arduinos kopieren (Ohne einen weiteren Mikrocontroller). Gibt es irgend einen IC der diese Funktionalität hat oder gibt es eine andre Möglichkeit wie ich das umsetzen kann. Mit freundlichen Grüßen
Gast
#6691599
Sicher nicht, das musst du dir selbst programmieren. Eventuell magst du so ein Produkt verwenden: https://www.kanda.com/products/Kanda/HH0120.html
Gast
#6691639
Vielleicht verstehe ich die Frage falsch, aber mit einem SPI-Flash à la Winbond W25 sollte das doch gehen. Auf manchen SPI-TFT-Shields ist ein entsprechender Platz vorgesehen. Gruß Stefan
Gast
#6691757
Fabian S. schrieb: > oder gibt es eine > andre Möglichkeit wie ich das umsetzen kann. Jawoll! Ein (eigener?) Bootloader, welcher dein EEPROM (oder was auch immer) lesen kann. z.B. https://github.com/mihaigalos/miniboot ungetestet
Gast
#6691773
Der Arduino hat einen eigenen kleinen Eprom. Beschreiben mit passender Libs. Da du nicht an gibts welchen Arduino kann hier keiner eine Aussage zu Größe des machen. Ich benutzte den mini-Speicher um Einstellungen (die der User via Menü macht) in den Speicher zu legen. Warnung : Der Speicher soll max. 1000 x beschreibbar sein, lt vielen Seiten im Netz. Also benutzte ihn NICHT als Ersatz-Ram.
Gast
#6691941
Schlaumaier schrieb: > Warnung : Der Speicher soll max. 1000 x beschreibbar sein, lt vielen > Seiten im Netz. Also benutzte ihn NICHT als Ersatz-Ram. Also im Datenblatt für das EEPROM des Mega8 oder des 328 steht da etwas andres als 1000. Dort steht auch wie man jederzeit ein byte aus einem Register (z.B.r16) im EEPROM speichern kann und auch wieder herauslesen kann. Wo die Daten herkamen spielt da keine Rolle ob aus dem RAM oder aus einer Schnittstelle. Nur, das Schreiben dauert für Kontrollerverhältnisse recht lange. Es passiert nicht in µsekunden sondern in einigen msekunden je byte. Um vor dem Ausschalten ein backup der Einstellungen oder eine Kalibrierung drin unterzubringen ist das EEPROM vorgesehen, nicht aber zum schnellen Zugriff bzw. schnellen Arbeiten innerhalb eines Programms.
Gast
#6691954
Peter R. schrieb: > Schlaumaier schrieb: >> Warnung : Der Speicher soll max. 1000 x beschreibbar sein, lt vielen >> Seiten im Netz. Also benutzte ihn NICHT als Ersatz-Ram. > > Also im Datenblatt für das EEPROM des Mega8 oder des 328 steht da etwas > andres als 1000. Sorry war eine 0 zu wenig. Ab 10-Tausend wird es kritisch. Mein Fehler. Und damit das ganz klar ist, wir reden hier von den Speicher wo man Werte ablegen kann die nach den Stromlos + Neustart dann gelesen werden können. https://www.arduino.cc/en/Tutorial/LibraryExamples/EEPROMWrite <- eine Liste der Größe. Ich habe mal 25 Speicherstellen gebraucht also Höchstwert. Deshalb war mir die Größe relativ egal. Hauptsache etwas Platz. Der normale Programmierspeicher soll ca. 1-2 mio mal schaffen. Naja ich habe es nicht ausprobiert. Und da Hersteller gerne übertreiben, gehe ich dabei IMMER vom untersten Ende der Skala aus.
Schlaumaier schrieb: > Der normale Programmierspeicher soll ca. 1-2 mio mal schaffen. Welcher "normale Programmierspeicher" schafft 2 Millionen Löschzyklen? Und wo steht das? Schlaumaier schrieb: > Warnung : Der Speicher soll max. 1000 x beschreibbar sein, lt vielen > Seiten im Netz "Viele Seiten im Netz" sind eine schlechtere Quelle als das Datenblatt. Warum muss man für solch simple Fragen, die mit einem kurzen Blick ins Datenblatt beantwortet werden können, irgendwelchen Fricklern im Netz was glauben?
Schlaumaier schrieb: > Sorry war eine 0 zu wenig. Ab 10-Tausend wird es kritisch. Mein Fehler. Ich zitiere nun das Datenblatt des 328P, erste Seite, Vers Drei, Zeile vier: Write/erase cycles: 10,000 flash/100,000 EEPROM → nicht tausend, nicht zehntausend – nein, hunderttausend ist die Zahl.
Gast
#6691976
Hi >Sorry war eine 0 zu wenig. Ab 10-Tausend wird es kritisch. Mein Fehler. Für den EEPROM werden 100000 Schreibzyklen angegeben. >Der normale Programmierspeicher soll ca. 1-2 mio mal schaffen. Für den Flash werden 10000 Schreibzyklen garantiert. >Naja ich habe es nicht ausprobiert. Aber Unsinn schreiben. Scheint bei deinem Nickname schon Programm zu sein. MfG Spess
Arduino Fanboy D. schrieb: > Fabian S. schrieb: >> oder gibt es eine >> andre Möglichkeit wie ich das umsetzen kann. > > Jawoll! > Ein (eigener?) Bootloader, welcher dein EEPROM (oder was auch immer) > lesen kann. > z.B. https://github.com/mihaigalos/miniboot > *ungetestet* Habe https://github.com/Optiboot/optiboot mit Atmega 328p verwendet. Im Arduino Sketch wird der Flash-Bereich reserviert, bestehend aus n pages zu 128 bytes
1 | |
Jede Page kann dann aus dem Arduino-Programm geschrieben werden indem man eine Funktion im bootloader aufruft, lesen geht ja sowieso:
1 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.