Der NUCLEO F411RE arbeitet mit Fließkomma?

Ich brauche eine MCU, um mit WLAN und Gleitkomma für die PID-Anwendung zu arbeiten. Später besorge ich mir eine Wifi-Erweiterungskarte, aber ich möchte wissen, ob der STM32 NUCLEO FR11RE mit einem Floating Point funktioniert. Ich finde diese Informationen nicht im Web. http://www.st.com/en/evaluation-tools/nucleo-f411re.html

Ja, es tut Doubles und Floats, abhängig von Ihrem Compiler
Ich weiß nicht, wofür die PID gilt, aber in den meisten Fällen empfangen Sie Daten von einem ADC und senden Daten an einen DAC. Keines davon verwendet Gleitkommazahlen. Dazwischen ist kein Fließkomma erforderlich. Wenn Sie Ihre Algorithmen gut organisieren, können Sie ihre Verwendung vollständig vermeiden. Und sollte. Fixpunkt ist auch oft nicht richtig. Stattdessen untersuchen Sie Ihre Anforderungen und ordnen die Vorgänge entsprechend an, um ein monotones Verhalten aufrechtzuerhalten und die erforderliche Präzision durchgehend beizubehalten. FP ist nützlich, wenn der Dynamikbereich verrückt (wie Galaxien und Sterne und Atome) oder unbekannt ist. Oder Ihre Fähigkeiten fehlen.
Anstatt WLAN zu einer MCU hinzuzufügen, sollten Sie überlegen, ob Sie Ihren gesamten Algorithmus in etwas wie einem ESP8266 ausführen können. Aber wenn Sie wirklich einen Cortex M4 + WiFi wollen, sind viele der WICED-Plattformen das.

Antworten (3)

Im NUCLEO-F411RE-Datenblatt gibt Tabelle 2 an, dass dieses spezielle Modell über STM32F411RET6 verfügt. Das Datenblatt von STM32F411RET6 sagt eindeutig:

Die STM32F411XC/XE-Bausteine ​​basieren auf dem leistungsstarken ARM® Cortex® -M4 32-Bit-RISC-Kern, der mit einer Frequenz von bis zu 100 MHz arbeitet. Der Cortex®-M4-Kern verfügt über eine Fließkommaeinheit (FPU) mit einfacher Genauigkeit, die alle ARM-Datenverarbeitungsanweisungen und Datentypen mit einfacher Genauigkeit unterstützt.

Es ist ein gewöhnlicher Cortex-M4F. Es unterstützt nur Gleitkommazahlen mit einfacher Genauigkeit (dh floatin C, nicht double). Einige Hinweise.

Ich habe die schrecklichen PDFs durchgesehen, um zu sehen, ob es einige Gleitkomma-Arithmetikanweisungen gibt, aber dann wurde mir klar, dass es nicht wirklich wichtig ist.

Denn... ist dir Geschwindigkeit so wichtig? Es gibt Bibliotheken, die den Gleitkommadatentyp implementieren und die Gleitkommaarithmetik über Software handhaben. Es wird auf jedem Arduino-Board gemacht. Auf Mikrocontrollern, die nicht einmal Gleitkomma-Arithmetik-Hardware haben.

Aber ... wenn Ihnen Geschwindigkeit wichtig ist, würden Sie keine Gleitkommazahlen verwenden, sondern Festkommaarithmetik.


Das nennt man ein XY-Problem .

Lächerliche Antwort. Ein Haufen eurer Meinungen. Nicht die Antwort, nur der Kommentar. Was Sie festgestellt haben, ist ein absoluter Müll. Welchen Sinn hat es, sich an der Diskussion zu dem Thema zu beteiligen, von dem Sie keine Ahnung haben? Zu Ihrer Information, es war genug, um die STM-Website zu öffnen. Kein PDF erforderlich, keine Anleitungssuche erforderlich. Alle F3 & F3 haben die Float-FPU + Vektor-DSP. Alle F7 haben die Double Precision FPU
@PeterJ - Hüten Sie sich vor angreifenden Antworten, die möglicherweise praktischere Ratschläge geben als Ihre eigenen.
@Chris Stratton Dies ist nicht die Antwort, dies ist der Kommentar. Über etwas anderes. Vergleich schneller FPU auf schnellem 32-Bit-uC mit langsamer Software-Implementierung auf dem prähistorischen 8-Bit-Mikrocontroller.
@PeterJ - nein, Sie haben keine Grundlage zu wissen, dass die Geschwindigkeit in diesem Maße von Bedeutung ist . Diese Antwort schlägt zwei Lösungen vor, die beide für den tatsächlichen Bedarf möglicherweise besser geeignet sind . Zum Beispiel habe ich gesehen, wie Quadcopter mit Cortex M0 fliegen, auf denen mehrere Soft-Float-PIDs laufen, die winzige Flugzeugzellen steuern, die sofort effektiv reagieren. Wenn ich es schreiben würde, würde ich wahrscheinlich die Integer-Option verwenden, aber Soft Float hat gut funktioniert.
@Chris Stratton und........ Ich habe im Computermuseum den Apollo-Missionscomputer gesehen und er hat eine Rechenleistung von wahrscheinlich weniger als 8051. Heutzutage haben wir eine riesige Auswahl an uC und können den richtigen auswählen. Stm32f303 mit FPU kostet jetzt weniger als 3 US-Dollar. Es hat keinen Sinn, uns einzuschränken.

Alle STM32F3-, F4- und F7-Mikros haben eine FPU. F3 & F4 einfache Genauigkeit, F7 doppelte Genauigkeit. Sie können also auswählen, welche Sie benötigen. Es ist ein bisschen schwierig, Compiler und Linker zu konfigurieren, um die Verwendung von FPU-Anweisungen anstelle von mathematischen Funktionen zu erzwingen. Überprüfen Sie immer, was vom Compiler generiert wurde :)

Obwohl dies sachlich korrekt ist, ist derzeit nicht klar, ob diese Funktion für das Poster tatsächlich von Nutzen sein wird.
@Chris Stratton - OP hat nach Gleitkomma gefragt, er weiß am besten, was er braucht. Daher kann ich Ihren Kommentar nur schwer nachvollziehen
Nein, Peter, Poster, die so formulierte Fragen schreiben, wissen im Allgemeinen nicht, was sie brauchen – die Frage ist von einer unerfahrenen Person, die eine Idee im Kopf hat – es ist fast eine Selbstverständlichkeit, dass jemand, der tatsächlich weiß, was sie brauchen, es nicht tun würde musste diese Frage überhaupt stellen. Es ist weder festgelegt, dass Fließkomma die einzige Lösung ist, noch dass Hardfloat erforderlich ist. Man könnte sogar argumentieren, dass es nicht klar ist, ob ein Float mit einfacher Genauigkeit ausreichen würde, obwohl es wahrscheinlich wäre.
(Geschwindigkeit) Bei der vom OP gewählten Architektur spielt es eigentlich keine Rolle, ob er Integer- oder Float-Arithmetik verwendet. Die Geschwindigkeit wird gleich sein. Ich werde das OP-Wissen nicht beurteilen, wenn er FP will, ist das seine Wahl.