-
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
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
Najnowsze wątki
- 2026-01-06 I kolejny
- 2026-01-06 Retro organizer ale współcześnie
- 2026-01-06 Bowling
- 2026-01-06 Cyganie
- 2026-01-06 Rozwód w Santanderze z prostokątną kobietą...
- 2026-01-06 Skąd diody LED 1,5V?
- 2026-01-06 Nowum!!! -- Moje ID
- 2026-01-06 Metoda na fotoradar
- 2026-01-05 I jeszcze jeden
- 2026-01-05 Jaworek;)
- 2026-01-05 Warszawa => Project Manager (AI and innovation) <=
- 2026-01-05 Gdańsk => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2026-01-05 Jeśli nie było "aktu wojny" to była "zorganizowana grupa przestępcza" (terroryści) dokonująca zabójstw?
- 2026-01-05 Walka Lewicy o B2B na etat
- 2026-01-05 zamiana B2B na etat




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]