Forum: Mikrocontroller und Digitale Elektronik Frage an die STM32-Experten:


von Jens K. (jensky)


Lesenswert?

Guten Morgen,

ich schaue mir gerade nach STM32-Boards um, die Arduino-Kompatibel sind.
Dabei sehe ich einen STM32F405 von Adafruit 
(https://www.adafruit.com/product/4382).

Dort steht das er 1MB Flash hat. Soweit so gut.
Zusätzlich steht da 2 MB SPI Flash chip.

Frage:
Kann ich in dem 2MB SPI Flash auch Programmcode ablegen oder ist das wie 
eine kleine SD-Karte zu betrachten?

Wenn nein, welchen STM32 kann man extern mit Flash versehen um z.b. 
256MBit oder gar 512MBit (64MB) zu bekommen?

von Andreas B. (abm)


Lesenswert?

Jens K. schrieb:
> Dabei sehe ich einen STM32F405 von Adafruit
> Zusätzlich steht da 2 MB SPI Flash chip.

> Kann ich in dem 2MB SPI Flash auch Programmcode ablegen oder ist das wie
> eine kleine SD-Karte zu betrachten?

Direkt in den Addressraum einblenden geht nur mit FSMC Interface (das 
wäre z. B. für parallele Flash) oder QSPI/OctoSPI-Interface. Der F407 
hat nur FSMC, also für serielles Flash: Nein.

> Wenn nein, welchen STM32 kann man extern mit Flash versehen um z.b.
> 256MBit oder gar 512MBit (64MB) zu bekommen?

Wie oben gesagt: Für serielle Flash alle mit QSPI/OctoSPI, also "neuere" 
F4 (etwa F446), alle F7, H7, U5 und teilweise bei anderen Familien -> 
Datenblätter wälzen oder in CubeMX nachsehen. Je nach Pinzahl muss man 
aber aufpassen, ob auch wirklich alle benötigen Signale an Pins zur 
Verfügung stehen.

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Jens K. schrieb:
> Kann ich in dem 2MB SPI Flash auch Programmcode ablegen oder ist das wie
> eine kleine SD-Karte zu betrachten?

Beim F405 eher wie eine klein SD-Karte um Daten abzulegen.

> Wenn nein, welchen STM32 kann man extern mit Flash versehen um z.b.
> 256MBit oder gar 512MBit (64MB) zu bekommen?

Wenn du sowas willst schau dir mal AN4760 
(https://www.st.com/resource/en/application_note/an4760-quadspi-interface-on-stm32-microcontrollers-and-microprocessors--stmicroelectronics.pdf) 
an. Da sind die unterstützten STM32 drin inkl. einer Reihe von 
Erklärungen dazu.

von Andreas B. (abm)


Lesenswert?

Μαtthias W. schrieb:
> Wenn du sowas willst schau dir mal AN4760
> 
(https://www.st.com/resource/en/application_note/an4760-quadspi-interface-on-stm32-microcontrollers-and-microprocessors--stmicroelectronics.pdf)

Leider ist das nicht gerade Up-to-Date und listet nur QSPI auf, OctoSPI 
fehlt komplett, und das ist gerade standardmäßig bei allen neuere 
"Dickschiffen" (statt QSPI!) drin.

von 900ss (900ss)


Lesenswert?

Jens K. schrieb:
> Wenn nein, welchen STM32 kann man extern mit Flash versehen um z.b.
> 256MBit oder gar 512MBit (64MB) zu bekommen?

Ich frage mich gerade, was für eine Anwendung es geben könnte, 64MB 
Programmspeicher auf so einem uc zu haben. Was hast du vor?

: Bearbeitet durch User
von Andreas B. (abm)


Lesenswert?

900ss schrieb:
> Ich frage mich gerade, was für eine Anwendung es geben könnte, 64MB
> Programmspeicher auf so einem uc zu haben. Was hast du vor?

Programmsspeicher ist mehrdeutig. Was ausführbaren Code anbelangt, kommt 
man bei 64 MByte sicher etwas ins Grübeln. Aber ein GUI wird leicht 
gefräßig. Natürlich gibt es keinen zwingenden Grund, die ganzen Icons 
etc. im direkt zugänglichen Programmspeicher abzulegen statt auf einem 
Sekundärspeicher. Aber bequemer ist es irgendwie schon ... Man spart 
sich das ständige Umschaufeln übers RAM.

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
Noch kein Account? Hier anmelden.