För ett projekt måste jag ha lite externt minne. Jag gick på 1 MB SRAM.
Jag använder en STM32 och jag upptäckte FSMC. Jag hade svårt att förstå syftet med detta.
Vad jag läste om det ledde mig till att det genom att använda det ger dig en direkt minnesplats. Så du kan skriva till minnet utan att behöva testa de specifika stiften (som CE, OE, WE …). Det låter dig också skriva / läsa till SRAM utan att behöva använda GPIO-skrivregister, så du är mycket snabbare. (naturligtvis finns det många fler fördelar). Om jag har rätt antar jag att det är en bra idé att använda den.
Har jag rätt att tänka så? Fick jag det helt fel?
Kommentarer
- Vad läste du? Läste du det dedikerade dokumentet ?
- Snabbare? Nej ..
- Huruvida FSMC ger någon fördel beror på den STM32 du använder. Till exempel skulle den inte användas på någon av värdelinjeprodukten (M2-baserad) men den skulle ge värde på hög prestanda med AHB-bussen. Du ger inga detaljer om din konfiguration så det är ' omöjligt att hjälpa dig.
- @JackCreasy " M2-baserad "? Jag ' är inte säker på vad du ' hänvisar till här; det finns inget sådant som Cortex-M2. Alla STM32-mikrokontroller har en AHB, men inte alla stöder FSMC.
- @duskwuff Tyvärr .. typ … menade M3-baserad.
Svar
Har jag rätt att tänka så? Fick jag det helt fel?
FSMC kan användas för att lagra data i en flyktig konfiguration. Vissa (inte alla) STM32 har FSMC mappat till ett adressutrymme (vid 0x60000000). Att använda en seriell SRAM är bäst för att lagra data som du inte behöver snabb åtkomst till. Om du använder den för värden som är vanliga vid körning kan det sakta ner ditt program avsevärt.
Du måste fortfarande konfigurera stiften för användning med FSMC och linda huvudet runt gränssnittet och testa det.
Kommentarer
- Hej @ laptop2d Visst, jag vill bara använda för att lagra data från en kamera så att jag kan bearbeta det senare och för vissa bilder för en TFT-skärm. Jag förstod att FSMC tillhandahåller en minnesplats så att den beter sig som att skriva till det interna MCU RAM på programmeringssidan. Om jag förstår det rätt är det snabbare för MCU att låta FSMC kontrollera alla stift i hårdvaran än att försöka styra alla kommandostift manuellt, eller hur? Btw i ' m med en STM32L496ZG MCU och denna SRAM: cypress.com/file/43811/download
- Du kan använda den som en rom och räkna med att den är långsam, men den skulle vara i adressutrymmet och flyktig. Det betyder att om du skulle använda den för en TFT-skärm och du behövde hämta bilden ofta, skulle du ha en fördröjning varje gång du hämtade bilden. FMSC kan vara lite snabbare, men fortfarande mycket långsammare än RAM när data skickas seriellt. meta.stackexchange.com/questions/126180/…