For et prosjekt trenger jeg å ha noe eksternt minne. Jeg gikk for 1 MB SRAM.

Jeg bruker en STM32 og oppdaget FSMC. Jeg hadde vanskelig for å forstå formålet med dette.

Det jeg leste om det, førte meg til at det ved å bruke det gir deg et direkte minneplassering. Så du kan skrive til minnet uten å måtte styre de spesifikke pinnene (som CE, OE, WE …). Det lar deg også skrive / lese til SRAM uten å måtte bruke GPIO skrive registre, så du er langt raskere. (selvfølgelig er det mange flere fordeler). Hvis jeg har rett, antar jeg at det er en veldig god ide å bruke den.

Har jeg rett i å tenke slik? Fikk jeg det helt feil?

Kommentarer

  • Hva leste du? Har du lest det dedikerte dokumentet ?
  • Raskere? Nei ..
  • Hvorvidt FSMC gir noen fordeler, avhenger av STM32 du bruker. For eksempel vil det ikke brukes på noe av verdilinjeproduktet (M2-basert), men det vil gi verdi på det høye ytelseslinje med AHB-bussen. Du gir ingen detaljer om konfigurasjonen din, så det er ' umulig å hjelpe deg.
  • @JackCreasy " M2-basert "? Jeg ' er ikke sikker på hva du ' refererer til her; det er ikke noe slikt som Cortex-M2. Alle STM32 mikrokontrollere har en AHB, men ikke alle støtter FSMC.
  • @duskwuff Beklager ..typo … mente M3-basert.

Svar

Har jeg rett i å tenke slik? Fikk jeg det helt feil?

FSMC kan brukes til å lagre data i en ustabil konfigurasjon. Noen (ikke alle) STM32-er har FSMC kartlagt til et adresseplass (ved 0x60000000). Det er best å bruke en seriell SRAM for å lagre data som du ikke trenger rask tilgang til. Hvis du bruker det til verdier som er vanlige i utførelse, kan det redusere programmet betydelig.

Du må fortsatt konfigurere pinnene for bruk med FSMC og pakke hodet rundt grensesnittet, og teste det.

Kommentarer

  • Hei @ laptop2d Visst, jeg vil bare bruke til å lagre data fra et kamera slik at jeg kan behandle det senere, og for noen bilder for en TFT-skjerm. Jeg forsto at FSMC gir en minneplassering, slik at den oppfører seg som å skrive til det interne MCU RAM på programmeringssiden. Hvis jeg får det riktig, er det raskere for MCU å la FSMC kontrollere alle pinnene i maskinvaren enn å prøve å styre alle kommandopinn manuelt, ikke sant? Btw jeg ' m ved hjelp av en STM32L496ZG MCU og denne SRAM: cypress.com/file/43811/download
  • Du kan bruke den som en rom og regne med at den er treg, men den vil være i adresserommet og ustabil. Det betyr at hvis du skulle bruke den til en TFT-skjerm og du trengte å hente bildet ofte, ville du ha en forsinkelse hver gang du hentet bildet. FMSC kan være litt raskere, men fortsatt mye tregere enn RAM når dataene sendes serielt. meta.stackexchange.com/questions/126180/…

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *