Hur använder man "EEPROM" i STM32 F401RE
Re: Hur använder man "EEPROM" i STM32 F401RE
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 ?)
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
Men jag har fått höra att STM32 F4 serie har inte EEPROM.
Re: Hur använder man "EEPROM" i STM32 F401RE
Ja, det är ju det som ToPNoTCH säger.
Den har emulering av EEPROM.
Den har emulering av EEPROM.
Re: Hur använder man "EEPROM" i STM32 F401RE
Så är det någon skillnad mellan emulering av EEPROM och eeprom?
https://electronics.stackexchange.com/q ... m32f4-mcus
https://electronics.stackexchange.com/q ... m32f4-mcus
Re: Hur använder man "EEPROM" i STM32 F401RE
Om vi börjar med frågan, vet du Daniel vad EEPROM är?
Re: Hur använder man "EEPROM" i STM32 F401RE
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.
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
Och ST's egen beskrivning (app note):
https://www.st.com/resource/en/applicat ... ronics.pdf
https://www.st.com/resource/en/applicat ... ronics.pdf
Re: Hur använder man "EEPROM" i STM32 F401RE
hummel skrev:Om vi börjar med frågan, vet du Daniel vad EEPROM är?
Re: Hur använder man "EEPROM" i STM32 F401RE
Tackar. Helt klockrent inlägg utan motfrågormrfrenzy 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.
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
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
Raderas behöver det ju bara göras när en bit ska gå från 0->1.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.
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
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
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".
Jag har såklart också sett typer utan denna extra tålighet men mest har jag sett de "förstärkte".