Sida 2 av 2

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 1 juni 2020, 16:55:31
av ToPNoTCH
STM32 har inbyggt stöd för emulering av EEPROM (om jag minns rätt gäller det för hela F1 - F4 serien) de filer du postade tidigare tror jag är tagna som exempel från ST själva.

Det finns även tillägg till X-CUBE för stödet (https://www.st.com/en/embedded-software ... t-software).

Vill du dessutom förstå så kan du läsa AN4894

Du har ju redan svarat på dina 3 egna frågor i och med att du postade koden (har du ens tittat i den ?)

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 09:03:57
av DanielM
Men jag har fått höra att STM32 F4 serie har inte EEPROM.

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 09:06:22
av sodjan
Ja, det är ju det som ToPNoTCH säger.
Den har emulering av EEPROM.

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 09:10:18
av DanielM
Så är det någon skillnad mellan emulering av EEPROM och eeprom?

https://electronics.stackexchange.com/q ... m32f4-mcus

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 09:43:24
av hummel
Om vi börjar med frågan, vet du Daniel vad EEPROM är?

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 09:45:33
av mrfrenzy
Ett emulerat eeprom är ju bara en minnesarea i flash, för att ändra en bit måste ett helt block raderas, checksumma beräknas och ny data skrivas in.
Det fungerar utmärkt för inställningar, kalibreringsvärden och liknande som ändras sällan.

Det är inte bra för räkneverk, positionsminne och liknande som ändras varje sekund/minut.

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 10:21:11
av sodjan
Och ST's egen beskrivning (app note):
https://www.st.com/resource/en/applicat ... ronics.pdf

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 14:36:19
av Shimonu
hummel skrev:Om vi börjar med frågan, vet du Daniel vad EEPROM är?
:D

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 15:21:23
av DanielM
mrfrenzy skrev:Ett emulerat eeprom är ju bara en minnesarea i flash, för att ändra en bit måste ett helt block raderas, checksumma beräknas och ny data skrivas in.
Det fungerar utmärkt för inställningar, kalibreringsvärden och liknande som ändras sällan.

Det är inte bra för räkneverk, positionsminne och liknande som ändras varje sekund/minut.
Tackar. Helt klockrent inlägg utan motfrågor :)
Nu förstår jag att emulerat eeprom är alltså vanligt flashminne för att hålla ned kostnaden.

Jag ska bara ha för kalibreringar. Inte spara hela tiden.

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 15:31:09
av sodjan
Då ska det fungera bra, det är det som det är tänkt för, ungefär...

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 16:52:38
av AndLi
mrfrenzy skrev:Ett emulerat eeprom är ju bara en minnesarea i flash, för att ändra en bit måste ett helt block raderas, checksumma beräknas och ny data skrivas in.
Det fungerar utmärkt för inställningar, kalibreringsvärden och liknande som ändras sällan.

Det är inte bra för räkneverk, positionsminne och liknande som ändras varje sekund/minut.
Raderas behöver det ju bara göras när en bit ska gå från 0->1.
Man kan ju skriva ganska enkel kod för hantering av variabler i flash som minskar ner antalet raderingar 1000 falt...

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 2 juni 2020, 19:19:55
av mrfrenzy
På EPROM var det så AndLi. Många tillverkare av flash säger i databladet att man inte får modifiera enskilda bitar utan att radera hela blocket. Det fungerar att gå från 1->0 men efter många upprepningar får man problem.

Re: Hur använder man "EEPROM" i STM32 F401RE

Postat: 3 juni 2020, 10:29:53
av Icecap
Inte sällan är det så att den emulerade EEPROM förvisso är flash - men en typ med högre antal cykler innan den är skrivit sönder.

Jag har såklart också sett typer utan denna extra tålighet men mest har jag sett de "förstärkte".