STM32f429NIH6U FPU deaktivieren

OP #6799067
Lesenswert?
• ▲
▼
Hallo,

ich arbeite zurzeit mit einem STM32f429NIH6U, also einem Cortex M4 mit 
FPU. Allerdings möchte ich die FPU gerne deaktivieren.

Ich arbeite mit der STM32Cube IDE und habe in den Project Propertiers 
auch die Möglichkeit gefunden um die FPU auf "None" zu stellen. 
Betrachte ich allerdings den generierten Assembler Code beim rechnen mit 
floats, so werden weiterhin die vmul Befehle, zum Arbeiten mit der FPU 
verwendet.

Leider habe ich es nicht geschafft mit C-Code oder inline Assembler die 
Coprozessoren der FPU zu deaktivieren.

Hat vielleicht jemand eine Idee, wie man die FPU deaktivieren kann? Egal 
ob über Code oder die IDE.

Das ist mein aktueller Code zum Testen:
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include "stm32f4xx.h"
4

5
int main(void){
6
  //Deaktivieren der Coprozessoren in C
7
  //FPU_CPACR->CPACR &= ~(1 << 22);
8
  //FPU_CPACR->CPACR &= ~(1 << 23);
9

10
  //Deaktivieren der Coprozessoren in Assembler
11
  /*__asm__("LDR R0, 0xE000ED88;"
12
      "LDR R1, [R0];"
13
      "AND R1, R1, #0x0 << 20;"
14
      "STR R1, [R0];");*/
15

16

17
  float pi = -3.141759487516545612;
18
  int b = 4;
19
  int ergebnis;
20

21
  ergebnis = pi + b;
22

23
  __asm__("nop;");
24
}

Ich würde mich sehr über Vorschläge freuen
Viele Grüße
Nils

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.