-
Data: 2013-06-06 15:29:43
Temat: Re: Organizacja danych w EEPROM
Od: Zbych <a...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2013-06-06 10:49, Bool pisze:
> W pewnym urządzeniu muszę zapisywać do 512 zdarzeń do pamięci EEPROM. Z
> tym urządzeniem będzie się komunikować drugie, które kolejno będzie te
> dane odczytywać. Potrzebuję więc dodatkowo zapisywać dwa wskaźniki
> zapisu i odczytu danych. EEPROM ma 1mln cykli zapisu, więc przy
> standardowym zapisie (dane i wskaźniki zawsze pod tym samym adresem)
> zapiszę 1mln zdarzeń. Chciałbym zwiększyć tą liczbę. EEPROMy są bardzo
> tanie, więc wykombinowałem że dam np. taki 8kB = 256 stron * 32 bajty.
> Dane (zdarzenia) zapisywałbym powiedzmy na 254 stronach a wskaźniki na
> dwóch ostatnich stronach. No i pojawia się problem zapisu wskaźników.
> Najprostsze rozwiązanie jakie przychodzi mi do głowy to na początku
> wyzerować całą stronę przeznaczoną na wskaźnik, i w momencie
> zapisu/odczytu zapisywać wskaźnik po kolei w pamięci, a po dojściu do
> końca pamięci zerować całą stronę i zapisywać od początku. Żeby odczytać
> wskaźniki, trzeba by szukać "wartownika" w postaci 0x0000 (adres 16
> bitowy). Czas nie jest tu elementem krytycznych, ponieważ minimalny czas
> pomiędzy wystąpieniem zdarzeń to 400ms. Czy macie jakieś inne pomysły?
A zamiast używać wskaźników nie lepiej w danych trzymać informację, czy
dany wpis był już odczytany? EEPROM można chyba przeprogramowywać z 1 na
0 bez wywoływania wbudowanego mechanizmu kasowania, więc nie powinno to
dodatkowo obciążać komórek. Żeby przyśpieszyć wyszukiwanie
nieodczytanych wpisów wystarczy zbudować indeks/mapę (jednobitową) w
RAMie procka po każdym starcie i pilnować, żeby był zsynchronizowany z
danymi w trakcie pracy urządzenia.
Dodatkowo bloki danych możesz kolejno numerować, żeby wiedzieć który
blok jest najstarszy i w pierwszej kolejności użyć go do zapisu nowych
danych.
Następne wpisy z tego wątku
- 06.06.13 15:52 Bool
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Ceny mieszkań stabilne a zdolność kredytowa rośnie. O ile nie masz dzieci