Forum: Compiler & IDEs [STM32] Code finden der soft float Funktionen nutzt.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Alex B. (tecnologic) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin Zusammen,

ich habe hier einen STM32F730 mit "nur" 64kB Flash und der wird 
natürlich kapp. Da der F730 eine FPU hat nutz ich natürlich float 
Operationen aber eben nur single precision also float nicht double. Nur 
zieht der Compiler laut map file die Soft-Float Funktionen für double 
mit in den Code.
 
0x0000000000200378                __aeabi_drsub
0x0000000000200380                __aeabi_dsub
0x0000000000200380                __subdf3
0x0000000000200384                __aeabi_dadd
Ich nutze aber bereits die Compiler Flags:
-fsingle-precision-constant -Wdouble-promotion

Und wenn ich im gesamten Code nach double suche finde ich es nur in 
Kommentaren.

Hat jemand eine Idee wie ich die stellen im Code finde wegen denen der 
Compiler meint die double soft float Funktionen zu brauchen?

Ich hab mal elf und Listing angehängt.

Den gesamten Code kann man hier finden:
https://github.com/UNIMOC-Universal-Motor-Control/software/tree/develop


Danke euch.

von Μαtthias W. (matthias) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hi

LTO abschalten und die einzelnen .o auf die undefinierten Symbole (nm 
bzw. objdump + grep sind deine Freunde) absuchen. Wenn die einzelne 
Datei identifiziert ist -> divide et impera

Matthias

von Peter S. (psavr)


Bewertung
0 lesenswert
nicht lesenswert
Welcher Compiler, welche Version? Etwa der arm-none-eabi V-7.x.x?

Da hatte ich kürzlich das selbe Problem, könnte ein Fehler beim Linker 
sein, dass dieser nicht die richtigen Module reinsaugt.

Ich hatte dann leider keine Zeit dem Problem weiter nachzugehen, wäre 
z.B. interressant, ob das mit der Version 9.x.x auch noch passiert.

Meine Posts zu diesem Thema: 
http://www.chibios.com/forum/viewtopic.php?f=3&t=5333

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.