A. B. schrieb:
> Bobby schrieb:
>> moeglich einen separaten NSC fuer den QSPI zu definieren und auf dem
>> gleichen Bus ein zweiten QSPI Flash zu legen und diesen auch mit einem
>> zweiten separaten NSC anzusteuern?
>> Wenn ich in der IDE STM32CubeIDE den NCS manuell als GPIO_Output
>> definiere kann der QUADSPI1 nicht initialisiert werden.
>> Vielleicht kenn hier ja jemand eine Moeglichkeit den QUADSPI1 mit
>> externen/separaten NCS zum laufen zu bekommen.
Ach, noch dazu: Als NCS einfach einen als GPIO konfigurierten Pin zu
nehmen ist keine gute Idee. Bei indirect read/write geht das prinzipiell
schon, man muss halt vor dem Start des Transfers NCS aktivieren und
hinterher deaktivieren - soweit problemlos - in der Theorie. Leider gibt
es wohl auch Fälle, wo das QSPI fälschlicherweise einen extra Takt vor
dem Aktivieren von NCS spendiert. Normalerweise ist so ein Bug ja
irrelevant, aber mit softwaremäßigem NCS ist das tödlich.
Bei memory mapped read geht das aber gründlich in die Hose, da das QSPI
einen Prefetch macht, und erst bei nicht-sequenziellem Zugriff oder
längerer Inaktivität NCS deaktiviert und eine neue Leseoperation (mit
anderer Adresse halt) startet. Leider ist dieser Prefetch-Mechanismus
nicht klar dokumentiert, also kaum vorhersagbar.
Es gibt also sinnvollerweise nur die Möglichkeit, mehrere Pins mit AF zu
nutzen, oder auch einfach über einen Demultiplexer. Über dessen
Adresseingange halt den gewüschten Flash auswählen.