Hallo Schwarmintelligenz! Für ein neues Projekt benötige ich sowohl externen RAM als auch externen FLASH Speicher (von dem auch Code ausgeführt werden soll) an einem STM32F767BG. Jetzt stehe ich vor der Frage was sinnvoller ist: • SRAM am FMC und Flash am QPSI • Oder SRAM und Flash beide am gleichen FMC Kann man pauschal sagen, was effizienter und performanter ist bezüglich Warte- und Zugriffszeiten? Kann man pauschal auch sagen ob NOR oder NAND Flash zu bevorzugen ist? Cheers
Wenn auch Code aus dem Flash ausgeführt werden soll, geht's nur mit NOR-Flash vernünftig, da NAND-Flash i. d. R. nicht direkt adressiert werden kann (erst muss eine Page in den Puffer, und erst daraus kann gelesen werden) und auch defekte Blöcke behandelt werden müssen. Ansonsten: Hängen beide am FMC, müssen die sich die Bandbreite des externen Busses teilen. Hängt das Flash am QSPI, geht's gleichzeitig. Seriell ist zunächst langsamer, andererseits kann man mit genügend hohem Takt und Dual-Quad ... Außerdem macht das QSPI noch einen Prefetch, solange der Code weitgehend linear ist, hilft das auch noch mal. Wichtig ist beim Vergleich aber auch, wie das externe RAM genutzt wird. Stack dahin wäre z. B. eine ganz schlechte Idee. Aber ohne Detailkonzept ist das Kaffeesatzleserei. Mit "pauschal" ist da nix.
>Kann man pauschal sagen, was effizienter und performanter ist >bezüglich Warte- und Zugriffszeiten? JA ! Der Cortex-M7 hat einen I-und D-Cache. Sorge dafür das dein Programm in die Caches passt und der Code Speicherort ist egal. Und ja, mehrere MB Binaries können in wenige kB Cache passen.
Ich benutze einen NOR Flash am QSPI, wegen der wenigen Leitungen, die benötigt werden. Dort liegen statische Sachen wie Bilder, Fonts, Töne und auch ein Satz Default-Einstellungen. Programmkode belasse ich im Controller - da ist genug Platz.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.