Do projektu potrzebuję trochę pamięci zewnętrznej. Wybrałem 1 MB pamięci SRAM.

Używam STM32 i odkryłem FSMC. Trudno mi było zrozumieć cel tego.

To, co o tym przeczytałem, doprowadziło mnie do tego, że używając go, daje ci bezpośrednie miejsce w pamięci. Możesz więc zapisywać do pamięci bez konieczności pilotowania określonych pinów (takich jak CE, OE, WE …). Pozwala także na zapis / odczyt do SRAM bez konieczności używania rejestrów zapisu GPIO, dzięki czemu jesteś znacznie szybszy. (oczywiście zalet jest znacznie więcej). Jeśli mam rację, myślę, że to bardzo dobry pomysł.

Czy mam rację, myśląc w ten sposób? Czy całkowicie się mylę?

Komentarze

  • Co przeczytałeś? Czy przeczytałeś dedykowany dokument ?
  • Szybciej? Nie ..
  • To, czy FSMC dostarcza jakąkolwiek korzyść, zależy od używanego STM32. Na przykład nie będzie on używany w żadnym z produktów linii wartości (oparty na M2), ale zapewni wartość na wysokim wydajności z magistralą AHB. Nie podajesz żadnych szczegółów konfiguracji, więc ' nie można Ci pomóc.
  • @JackCreasey " oparty na M2 "? I ' Nie wiem, co masz ' odnoszę się do tego tutaj; nie ma czegoś takiego jak Cortex-M2. Wszystkie mikrokontrolery STM32 mają AHB, ale nie wszystkie obsługują FSMC.
  • @duskwuff Przepraszamy … typo … oznaczało oparte na M3.

Odpowiedź

Czy mam rację, myśląc w ten sposób? Czy kompletnie się pomyliłem?

FSMC może służyć do przechowywania danych w konfiguracji ulotnej. Niektóre (nie wszystkie) STM32 mają FSMC zmapowane do przestrzeni adresowej (przy 0x60000000). Użycie szeregowej pamięci SRAM jest najlepsze do przechowywania danych, do których nie potrzebujesz szybkiego dostępu. Jeśli użyjesz go dla wartości, które są wspólne podczas wykonywania, może to znacznie spowolnić twój program.

Nadal musisz skonfigurować szpilki do użycia z FSMC, owinąć głowę wokół interfejsu i przetestować go.

Komentarze

  • Cześć @ laptop2d Jasne, chcę tylko przechowywać dane z aparatu, aby móc je później przetworzyć, a także w przypadku niektórych zdjęć dla wyświetlacza TFT. Zrozumiałem, że FSMC zapewnia lokalizację pamięci, więc zachowuje się jak zapis do wewnętrznej pamięci RAM MCU po stronie programowania. Jeśli otrzymam to poprawnie, pozwolenie FSMC na automatyczne sterowanie wszystkimi pinami w sprzęcie jest znacznie szybsze dla MCU niż próba ręcznego pilotowania wszystkich pinów poleceń, prawda? Btw i ' m używając MCU STM32L496ZG i tej pamięci SRAM: cypress.com/file/43811/download
  • Mógłbyś go używać jak romu i liczyć na to, że będzie wolny, ale będzie w przestrzeni adresowej i ulotny. Oznacza to, że gdybyś używał go do wyświetlacza TFT i musiałbyś często pobierać obraz, miałbyś opóźnienie za każdym razem, gdy pobierałeś obraz. FMSC może być trochę szybszy, ale nadal znacznie wolniejszy niż pamięć RAM, ponieważ dane są przesyłane szeregowo. meta.stackexchange.com/questions/126180/…

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *