Einsatz der Emulated EEPROM Component

Anleitungen zum Nachbauen
Antworten
Reiner W.
Beiträge: 112
Registriert: Di 7. Apr 2015, 11:43

Einsatz der Emulated EEPROM Component

Beitrag von Reiner W. » Sa 2. Mai 2015, 01:56

Die Emulated EEProm Komponente ist ideal geeignet um z.B. Programm Einstellungen so zu speichern,
die einen Reset/Neustart überdauern. Auf den Einsatz externer Speicher für diesen Zweck kann dann meist
verzichtet werden.
Die Handhabung ist eigentlich ganz einfach (wenn man einmal weis wie es geht).
Der Teufel liegt da (wie immer) im Detail.
Speziell, wenn man die Komponente auf einem CY8CKIT-049 mit Bootloader verwenden will geht da erst mal gar nichts.
Ich hatte mich vor einiger Zeit für mein aktuelles Projekt mal etwas ausführlicher damit beschäftigt
und die Erfahrungen damit zu Papier gebracht.
CY8CKIT-049-4xxx PSoC 4 Emulated EEProm.pdf
(1.9 MiB) 550-mal heruntergeladen
CY8CKIT-049-4xxx PSoC 4 Emulated EEProm_Examples.zip
(1.19 MiB) 505-mal heruntergeladen
Reiner W.

Thomas Barth
Administrator
Beiträge: 91
Registriert: So 5. Apr 2015, 21:46
Wohnort: Frankfurt/M
Kontaktdaten:

Re: Einsatz der Emulated EEPROM Component

Beitrag von Thomas Barth » Di 5. Mai 2015, 00:39

Wieder einmal eine 1A Beschreibung Reiner!!
Hut ab!!

Habe damals auf dem PSoC1 auch mal etwas mit dem E-EEPROM gespielt, da gab es noch große Tabellen in denen der Schreibschutz definiert wurde. Sowas habe ich in deiner Anleitung nicht gesehen, haben sie wohl gekickt :)

Auch interessant das mit der Prüfsumme bei Bootloadable Projekten, der versierte Hacker könnte die Prüfsumme auch nach dem Schreiben der Werte neu berechnen und ebenfalls speichern, lassen wir die Kirche aber mal im Dorf :lol:

Jedenfalls super das automatisch die Zeile zwischengespeichert wird und so auch kleinere Daten einfach zu schreiben sind.

Nochmal vielen Dank für die Anleitung und die Daten!

PS: Auf dem neuen BLE Kit ist ein FRAM Speicher, den gucke ich mir irgendwann dann auch mal näher an.

Code: Alles auswählen

P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S
                                   ((1.0/C_M_LSB_BH) *
                                   G_M_INFO_DERIVE(T_ALG.E_BH)))

Reiner W.
Beiträge: 112
Registriert: Di 7. Apr 2015, 11:43

Re: Einsatz der Emulated EEPROM Component

Beitrag von Reiner W. » Di 5. Mai 2015, 10:03

da gab es noch große Tabellen in denen der Schreibschutz definiert wurde
Kannst du immer noch machen .cywdr->Flash Securitry. Für die EM_EEPROM Komponente aber nicht nötig. Hab aber nicht getestet, was passiert, wenn der komplette Flash als Full Protection gesetzt wird.
der versierte Hacker könnte die Prüfsumme auch nach dem Schreiben der Werte neu berechnen und ebenfalls speichern,
Das ist in der Tat interessant und vlt. machbar. Überhaupt wäre es interessant, ob sich mit der EM_EEPROM Component vlt. sogar der Bootloader poken ließe. Aber soweit wollte ich es denn doch nicht treiben :D Brauchte das Teil nur als Default-Speicher für mein Projekt und bin natürlich als erstes prompt über die Bootloader-Problematik gestolpert :cry:
Reiner W.

Thomas Barth
Administrator
Beiträge: 91
Registriert: So 5. Apr 2015, 21:46
Wohnort: Frankfurt/M
Kontaktdaten:

Re: Einsatz der Emulated EEPROM Component

Beitrag von Thomas Barth » Di 5. Mai 2015, 17:55

Jaja. Das liest sich immer so toll und wenn man es dann testen will fällt man erstmal auf die Nase. Ist doch fast immer so wenn man hardwarenah unterwegs ist ;)

Code: Alles auswählen

P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S
                                   ((1.0/C_M_LSB_BH) *
                                   G_M_INFO_DERIVE(T_ALG.E_BH)))

Antworten