To masz podobny problem co mój. Też próbuję sensownie ogarnąć pamięć M25P16, do której zapisywane będą trzy różne rzeczy.
Wszystko jest podobnie jeśli chodzi o samą komunikację z pamięcią. Aby ograniczyć ilość kasowań bloków muszę wymyślić mechanizm buforowania bloków w pamięci RAM uC i ich przepisywania do pamięci tylko, gdy coś w nich zostanie zmienione i pojawi się potrzeba odczytania innego bloku. Do tego może zachodzić problem zapisywania bloku przy zaniku zasilania.
Zwykle dostępne kody zawierają podstawowe procedury niskopoziomowe: czytaj status, wyślij polecenie, kasuj blok/całość, odczytaj/zapisz dane. Resztę już trzeba napisać pod daną aplikację...
Pamięć FLASH AT45DB321
- ZbeeGin
- User
- Posty: 492
- Rejestracja: sobota 08 lip 2017, 17:16
- Lokalizacja: Śląsko-Zagłębiowska Metropolia
- Kontaktowanie:
Re: Pamięć FLASH AT45DB321
Ostatnio zmieniony piątek 27 paź 2017, 10:27 przez ZbeeGin, łącznie zmieniany 1 raz.
- ZbeeGin
- User
- Posty: 492
- Rejestracja: sobota 08 lip 2017, 17:16
- Lokalizacja: Śląsko-Zagłębiowska Metropolia
- Kontaktowanie:
Re: Pamięć FLASH AT45DB321
Od strony sprzętowej to zwykły interfejs SPI z programową obsługą pinu SS podciągniętego do Vdd, gdyż widzę, że tu też czasem trzeba go "przytrzymać" na całą wymianę danych.
Dodatkowo możesz wykorzystać jeszcze jeden pin do sterowania zabezpieczeniem przed zapisem - po skonfigurowaniu bitów obszaru protekcji.
Dodatkowo możesz wykorzystać jeszcze jeden pin do sterowania zabezpieczeniem przed zapisem - po skonfigurowaniu bitów obszaru protekcji.
Wróć do „Programowanie STM w C/C++”
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości