Pamięć FLASH AT45DB321

Tu możesz pisać o swoich problemach z pisaniem programów w języku C/C++ dla STM.
Awatar użytkownika
ZbeeGin
User
User
Posty: 399
Rejestracja: sobota 08 lip 2017, 17:16
Lokalizacja: GOP
Kontaktowanie:

Re: Pamięć FLASH AT45DB321

Postautor: ZbeeGin » piątek 27 paź 2017, 06:39

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ę...
Ostatnio zmieniony piątek 27 paź 2017, 10:27 przez ZbeeGin, łącznie zmieniany 1 raz.

Awatar użytkownika
ZbeeGin
User
User
Posty: 399
Rejestracja: sobota 08 lip 2017, 17:16
Lokalizacja: GOP
Kontaktowanie:

Re: Pamięć FLASH AT45DB321

Postautor: ZbeeGin » piątek 27 paź 2017, 10:45

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.


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