- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: STM32 contra ARM Cortex M3 (Arduino Due, Teensy): Performance per Arduino vs. nativ C

  1. #1
    HaWe
    Gast

    STM32 contra ARM Cortex M3 (Arduino Due, Teensy): Performance per Arduino vs. nativ C

    Anzeige

    E-Bike
    hallo,
    welche Vorteile bieten STM32 MCUs (welche genau: STM32F401RE oder andere?) gegenüber ARM Cortex M3 (Arduino Due, Teensy), und wie ist die STM32 Performance per Arduino IDE/API vs. nativer C-Compiler?
    Gibt es wesentliche STM32-Features, die man per Arduino IDE überhaupt nicht nutzen kann?

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Hallo,

    ich glaube du hast da was nicht verstanden:

    STM32F3 sind Mikrocontroller mit einem ARM Cortex M3
    STM32F4 sind Mikrocontroller mit einem ARM Cortex M4(F)
    STM32F7 sind Mikrocontroller mit einem ARM Cortex M7

    STMF0 und STMF1 ist komplizierter, kann M0, M0+ oder M3 sein.

    Die Prozesserkerne lizensieren die Hersteller von ARM. Das Drumherum (IO, I2C, SPI, CAN, UART, Ethernet, ...) ist herstellerspezifisch.

    STM32 in der Arduino IDE habe ich noch nicht probiert. Alles was ich bisher gesehen habe war verglichen mit dem Teensy ziemlich primitiv gemacht.

  3. #3
    HaWe
    Gast
    Stimmt, ich kenne mich tatsächlich mit STM32 überhaupt nicht aus, noch ist es "terra incognita".

    Also könnte man zumindest zunächst den STM32F3 betrachten:
    Gibt es wesentliche STM32F3-Features, die man per Arduino IDE überhaupt nicht nutzen kann?

    Gibt es inzwischen einen Teensy mit M4?
    dann könnte man den M4 Teensy mit dem STM32F4 vergleichen:
    Gibt es hier wesentliche STM32F4-Features, die man per Arduino IDE überhaupt nicht nutzen kann?

    Wie schneiden die jew. Teensys im Vergleich zu den entsprechenden STM32s aus?
    Was können sie, was nicht?
    Was sind jeweils herausragende Eigenschaften (oder Mankos)?
    Was genau ist "primitiv"?

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Zitat Zitat von HaWe Beitrag anzeigen
    Gibt es wesentliche STM32F3-Features, die man per Arduino IDE überhaupt nicht nutzen kann?
    Die Frage muss ich an andere weiterreichen. Mir ist kein STM32F3 Board bekannt, das sich mit der Arduino IDE nutzen lässt.

    Zitat Zitat von HaWe Beitrag anzeigen
    Gibt es inzwischen einen Teensy mit M4?
    Alle Teensys mit einer 3.x Versionsnummer sind M4. Der 3.5 und 3.6 sind M4F (mit FPU für Single Precision.) Der Teensy LC ist ein Cortex M0+ (LC = low cost).

    Zitat Zitat von HaWe Beitrag anzeigen
    Gibt es hier wesentliche STM32F4-Features, die man per Arduino IDE überhaupt nicht nutzen kann?
    Die Frage muss ich an andere weiterreichen. Mir ist kein STM32F4 Board bekannt, das sich mit der Arduino IDE nutzen lässt.

    Zitat Zitat von HaWe Beitrag anzeigen
    Wie schneiden die jew. Teensys im Vergleich zu den entsprechenden STM32s aus?
    Was Arduino Kompatibiliät angeht, sind die Teensys besser als alle originalen 32 Bit Arduinos.

    Bei der Performance sind gleichgroße Kinetis Controller (= Teensy) praktisch gleichauf mit dem entsprechenden STM32. Es gibt aber eine größere Auswahl an STM32. Im Teensy Forum hat mal einer einen umfangreichen Vergleichstest zwischen Teensy 3.6 und ST Nucleo F446 (beide M4F 180 MHz) gemacht. Da lag der STM32F446 in der Summe hauchdünn (wenige Prozent) vorne.

    Zitat Zitat von HaWe Beitrag anzeigen
    Was genau ist "primitiv"?
    Die STM32 Sachen für Arduino, die ich bisher gesehen habe, machen irgendwelche Studenten an ihren Wochenenden. Der Teensy Core für Arduino wird von Pauls kleiner Firma geflegt, die vom Verkauf der Boards lebt. Nur die Bibliotheken machen Hobbyentwickler.

    Zusammengefasst für dich würde ich folgendes sagen:

    Teensy macht keinen Sinn, wenn man nicht mal ein paar Pins löten will. Auch findet man viele Dinge erst durch Studium von Quelltext und Prozessordatenblatt heraus. Für dich also ungeeignet.

    STM32 macht bei deinen Ansprüchen mit Arduino derzeit keinen Sinn.

  5. #5
    HaWe
    Gast
    Um STM32 mit Arduino IDE geht es hier z.B.:



    das wäre dann ja wohl eher ein M0 oder M3.

    Was Arduino Kompatibiliät angeht, sind die Teensys besser als alle originalen 32 Bit Arduinos.
    war das ein Vertipper oder meintest du tatsächlich, dass Teensys "Arduino-kompatibler" sind als Arduino Zero/M0 oder Arduino Due?

    PS, gibt es Teensy-Features, die sich nicht mit der Arduino-IDE nutzen lassen, im Gegensatz zu nativen ARM C++ Compilern?
    Geändert von HaWe (22.11.2017 um 12:09 Uhr)

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    STM32F103 müsste ein M3 mit 72 MHz sein. Ist glaube ich einer der ältesten STM32.

  7. #7
    HaWe
    Gast
    zu:
    Was Arduino Kompatibiliät angeht, sind die Teensys besser als alle originalen 32 Bit Arduinos.
    war das ein Vertipper oder meintest du tatsächlich, dass Teensys "Arduino-kompatibler" sind als Arduino Zero/M0 oder Arduino Due?

    Und gibt es Teensy-Features, die sich nicht mit der Arduino-IDE nutzen lassen, im Gegensatz zu nativen ARM C++ Compilern?

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Zitat Zitat von HaWe Beitrag anzeigen
    war das ein Vertipper oder meintest du tatsächlich, dass Teensys "Arduino-kompatibler" sind als Arduino Zero/M0 oder Arduino Due?
    Nein, da ist der Teensy wirklich besser. Und damit meine ich nicht Dinge wie tone(), die auf dem Due einfach fehlen.

    Paul hat einiges Hirnschmalz inverstiert. Beispiel, ein etwas umgebautes Blink-Beispiel
    Code:
    void setup() {
      pinMode(13, OUTPUT);
    }
    
    void loop() {
      PORTB |= 0b00100000;
      delay(1000);
      PORTB &= 0b11011111;
      delay(1000);
    }
    Hier habe ich mal das digitalWrite() rausgetan und arbeite direkt mit dem Register des Atmega328.

    Auf einem Uno blinkt das Programm genauso wie das normale Blinky. Für den Due z.B. lässt es sich nicht übersetzen, der hat kein PORTB Register.

    Der Teensy hat auch kein solches Register. Was passiert beim Übersetzen ? Das Programm wird anstandlos übersetzt und die LED blinkt.

    Der Teensy Core kann Teile eines AVR emulieren. PORTB ist beim Teensy eine Klasse, ähnlich wie Serial. Damit laufen manche Programme und Libs zumindest in einer Art "Notbetrieb".

    Das nur als Beispiel. Es gibt auch andere Dinge. Paul ist anscheinend einer der größten externen Arduino Contributors. Von ihm stammt z.B. das F()-Makro. Auch wären Arduino Leonardo, Micro und Co. wohl ohne die Vorarbeit von Teensy 1.x, 2.x so nie entstanden.

    Zitat Zitat von HaWe Beitrag anzeigen
    Und gibt es Teensy-Features, die sich nicht mit der Arduino-IDE nutzen lassen, im Gegensatz zu nativen ARM C++ Compilern?
    Also Arduino ist schon die normale Entwicklungsumgebung des Teensy. Viele Teensy Libraries sind Obermengen der Arduino Libs (Serial, I2C, usw.). D.h. sie haben alles was die Arduino Libs haben, aber noch andere Erweitungen dazu.

    Wichtig ist aber zu wissen: Der Teensy wird nicht seriell programmiert, sondern als USB Raw HID. Unter Windows startet die Arduino IDE beim Programmieren den Teensy Loader (Teensy.exe), der dann die Daten überträgt. Unter Linux und Mac geht das etwas anders, mache ich zu wenig um das jetzt zusammenzukriegen. Steht aber in der Doku, Linux dürften sowieso die meisten hardcore Teensy Freaks verwenden. Insoweit kein Problem, geht halt nur anders als bei Arduino.

    Teensy wird auch nicht über den Boardverwalter installiert, sondern über ein eigenes Installationsprogramm. Läuft in der Regel nur mit fünf ausgewählten Versionen der Arduino IDE.

  9. #9
    HaWe
    Gast
    Danke für die ausführliche Antwort! Coole Infos!
    Bleibt mir als Standard-Arduiniker noch die Frage: Wer (WTF) ist Paul?

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Ach komm, soll ich jetzt den Thread raussuchen, wo du dich mit Paul Stoffregen im Arduino Forum gezofft hast ?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. STM32 als Arduino
    Von stochri im Forum Arduino -Plattform
    Antworten: 5
    Letzter Beitrag: 20.08.2017, 11:21
  2. Arduino vs. Arduino: Marke und Produktion wieder unter Kontrolle der Gründer
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 29.07.2017, 11:00
  3. Antworten: 8
    Letzter Beitrag: 01.06.2016, 20:07
  4. Antworten: 13
    Letzter Beitrag: 07.11.2015, 02:21
  5. Verkaufe ARM Cortex M3-Devboard (Energymicro STM32 Giant Gecko)
    Von matthias00 im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 2
    Letzter Beitrag: 09.06.2013, 16:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen