- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 45

Thema: Der Teensy 4.0 ist fertig

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Wenn ich bei 2MHZ Sample Rate ein 800kHz Signal sampeln will, kann ich bequem nebenbei noch eine UI steuern, solange ich DMAs damit beschäftige die Daten zu schaufeln ohne dass ich auch nur die Bohne Threading benötige.

    Und wenn mein System zyklsich und Azyklisch arbeiten muss, dann lege ich den zyklischen Part auf die CPU und gestalte ihn so als Statemachine, dass ich ihn über die Interrupts steuern kann ohne auch nur einmal einen Thread nutzen zu müssen. Das ist meine Vorstellung vom "Bare Metal" (Klar benötigt man Controller spezifische API Librarys aber das ist trotzdem Bare Metal! Da brauche ich keine Layer 3 Sprache für, Layer 2 reicht vollkommen aus und ist deterministisch im Gegensatz zu Layer 3, wo man nur begrenzt deterministrisch sein kann. (RT auf dem Pi >>typisch<< 270nS war das oder? Auf Bare Metal kann ich es auf den Takt genau ausrechnen wann ich eine Reaktion auf meinem Code zu erwarten habe)

    Es ist schlicht eine Frage der Anwendung wie exakt es sein muss, für den einen reicht eine RT Thread Library aus, für mich oder Klebwax Anwendung eben nicht

    Rleativierung: Gerade beim Thema DMA muss man aber Vorsichtig sein, das ist teilweise vom Zustand der Peripherie abhängig, ein Atmel-SAMD DMA braucht zwischen ~12 und 27 Takten bevvor ein Byte übertragen wird und manchmal sogar noch länger. Die ERfahrung musste ich auch schonmal machen und deswegen aus einem Projekt verbannen weil ich nur stabil 200kHz sampeln (timestamp + daten, DMA im quasi interleave, echten gibts bei dem nicht) konnte

    So hatte ich dann wieder einen XMega eingebaut, weil der bei 32Mhz bis 1Mhz DMA Samplerate und echten interleave unterstützt.
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    HaWe
    Gast
    ich sehe schon, ihr versteht teilw (?) nicht den Sinn und die Vorteile von preemptivem MT.

    Lasst mal parallel laufen, ohne yields und ohne delays, als Simulations/Testprogramm:
    1.) fibonacci(41) unmittelbar hintereinander in einer Endlosschleife berechnen, Ausgabe seriell
    2.) abwechselnd nacheinander fibonacci(38 ), fibonacci(39) und fibonacci(40) direkt hintereinander in einer Endlosschleife berechnen, Ausgabe seriell
    3.) Bildschirmausgabe (TFT) von unmittelbat hintereinander 1000 gefüllten Kreisen verschiedener Größe und Position, danach immer komplett Bildschirm löschen, in einer Endlosschleife,
    4.) array int[1000] per random initialisieren, dann unmittelbar Quicksort des arrays, dann unmittelbar sortierte Ausgabe des arrays seriell, in einer Endlosschleife
    5.) in einer Endlosschleife direkt hintereinander die analog-Ports A0 bis A3 eines ads1115 I2C Sensors schnellstmöglich auslesen und addieren, jeden 100.000sten Summen-Wert (als double) seriell ausgeben
    6.) in einer Endlosschleife direkt hintereinander schnellstmöglich die digital-Ports D10 auslesen und D11 damit schreiben und D12 toggeln, jeden 100.000sten Schleifencounter und dazu die dann aktuellen D10/D11/D12 Werte seriell ausgeben.

    hier der fibonacci-Code:
    Code:
    uint32_t fibonacci(uint32_t n) {
       if(n == 0){
          return 0;
       } else if(n == 1) {
          return 1;
       } else {
          return (fibonacci(n-1) + fibonacci(n-2));
       }
    }
    Geändert von HaWe (11.08.2019 um 12:09 Uhr) Grund: typo

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    1.) nicht meine Anwendung, brauche ich nicht
    2.) siehe 1.
    3.) kann ich wunderbar ohne Threads, DMA + Timer + Statemachine +ISR
    4.) warum sollte ich sowas machen wollen? siehe 1.)
    5.) da hast du dir gerade selber ins Bein geschossen, weil du scheinbar wieder nicht gelesen hast was ich schreibe, ich wäre schneller als du in dem Fall, deutlich!
    6.) siehe 5.

    Q.E.D.

    nochmal nachträglich für dich "ES KOMMT AUF DIE ANWENDUNG AN"

    genauer gesagt, während ich 5ten und 6tens per DMA und ISR löse, könnte ich 3tens vermutlich sogar noch parallel ausführen

    du löst mit Threading Probleme, die ich mit ISR und Peripherie garnicht habe, meine CPU langweilt sich während die Peripherie die Hauptarbeit macht
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #4
    HaWe
    Gast
    was du brauchst, interessiert nicht, es geht um den Simulations/Testaufbau an sich, bei dem sowohl schnelle als auch langdauerne Prozesse laufen (nur dafür ist es ja auch gedacht, nicht für Killefit).

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Die Ursache Eurer Probleme liegt nicht in der Sache.
    Die liegt in Euch selbst.

    (Wobei ich mindestens einem der Beteiligten mal unterstelle, von der Gegenposition absolut keine Ahnung zu haben. Hat er selber auch mehrfach hier im Forum angemerkt, dass er damit nix anfangen kann)

  6. #6
    HaWe
    Gast
    Zitat Zitat von Holomino Beitrag anzeigen
    Die Ursache Eurer Probleme liegt nicht in der Sache.
    Die liegt in Euch selbst.

    (Wobei ich mindestens einem der Beteiligten mal unterstelle, von der Gegenposition absolut keine Ahnung zu haben. Hat er selber auch mehrfach hier im Forum angemerkt, dass er damit nix anfangen kann)
    typischer Schwätzer-Post, wie schon so oft hier in diesem Forum.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Na? Fühlt sich da jemand angesprochen?

Ähnliche Themen

  1. STM32 contra ARM Cortex M3 (Arduino Due, Teensy): Performance per Arduino vs. nativ C
    Von HaWe im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 14
    Letzter Beitrag: 22.11.2017, 11:53
  2. Platinenlayout Problem mit Platinenlayout - Adapterplatine für den Teensy 3.1
    Von robonooby im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 9
    Letzter Beitrag: 29.06.2014, 15:09
  3. AU.ROB No2 ist fertig
    Von arnoa im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 7
    Letzter Beitrag: 01.01.2012, 18:35
  4. Hexapod aus Alu [fertig]
    Von yaro im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 20
    Letzter Beitrag: 15.07.2010, 00:03
  5. Fertig machen oder fertig kaufen ?
    Von iBot im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 11
    Letzter Beitrag: 23.05.2008, 12:25

Berechtigungen

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

Labornetzteil AliExpress