STM32F767 QSPI vs FMC

Gast #7343749
Lesenswert?

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

Gast #7343846
Lesenswert?

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.

Gast #7344663
Lesenswert?

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.

Gast #7345436
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren