- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 35

Thema: Arduino Due: FreeRTOS installieren und mit Platformio übersetzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    Zitat Zitat von alexander_ro Beitrag anzeigen
    Wenn ich das aber richtig gelesen habe unterstützen die bei QP den SAM3X8E auch nicht direkt.

    Die Bücher kenne ich zwar (vom Namen) habe die aber nicht. Danke für die Links die habe ich mal angeschaut aber wenn ich das dann erst für die CPU portieren muss wird das auch nicht einfacher.

    Man kann die Timer auch als Event verstehen dann ist man davon nicht so weit entfernt. Wenn die aber keine Instanz haben die den Programmfluss unterbrechen und an anderer stelle fortsetzen kann (Task wechsel) sind die genaus weit wie die kooperativen Scheduler. Hängt eine Event Behandlung steht das ganze System das ist extrem Fehleranfällig und auch lästig.
    Die einzige sinnvolle Methode IMO wäre, pthread in abgespeckter Form auf Arduino zu portieren, das ist ja plattformunabhängig.
    Oder man wechselt zu Java (*würg*) , da ist preemptives MT ja immerhin mit drin, und die JIT compiler (wenn für Arduino/ARM verfügbar) sind wirklich fast genau so schnell wie C executables.

    - - - Aktualisiert - - -

    ps,
    nicht probiert zwar, aber als Links bei mir archiviert:
    preempt. MT für Arduino Due, Zero:
    http://forum.arduino.cc/index.php?topic=318084.0
    http://francois.pessaux.perso.sfr.fr/arduino.html#Babix edit: expired
    Geändert von HaWe (08.11.2017 um 09:51 Uhr)

  2. #2

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Hier gibts das noch: http://perso.ensta-paristech.fr/~pes...s/arduino.html
    (Ganz unten ist das Babix und da kann man Doku und Sourcecode herunterladen.)

    Sieht auf den ersten Blick interessant aus muss ich aber noch genauer ansehen. Vielleicht finde ich da wie man das macht mit dem Speichern der Prozessdaten und dem wieder zurückspringen.

    Nein Java wollen wir hier nicht ist ja gruselig ...
    pthread muss man dazu nicht erst mal Prozesse haben. Ich dachte immer ein Thread ist ein Teil eines Prozesses. Vermutlich gibt es die beim Arduino nicht weil man da die Unterstützung des Betriebssystems braucht und die gibts ja hier nicht.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Zitat Zitat von alexander_ro Beitrag anzeigen
    Hier gibts das noch: http://perso.ensta-paristech.fr/~pes...s/arduino.html
    Nein Java wollen wir hier nicht ist ja gruselig ...
    Hurra, wir sind uns einig.

    Zitat Zitat von alexander_ro Beitrag anzeigen
    pthread muss man dazu nicht erst mal Prozesse haben. Ich dachte immer ein Thread ist ein Teil eines Prozesses. Vermutlich gibt es die beim Arduino nicht weil man da die Unterstützung des Betriebssystems braucht und die gibts ja hier nicht.
    Das sehe ich auch so, lasse mich aber gern vom Gegenteil überzeugen.

    Was es gibt ist std::thread Unterstützung für C++, wie hier, noch etwas experimentell, für den Teensy
    https://github.com/ftrias/TeensyThreads

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Ich habe mir jetzt mal das Babix näher angeschaut ist aber nicht so einfach das was ich davon brauche heraus zu lesen.

    Man kann vermutlich schon so tun als ob das Programm das auf dem Controller läuft ein Prozess ist und lässt dann innerhalb von diesem die Threads laufen.

    Damit ich schon mal unabhängig von dem was mit dem Babix herauskommt an meiner Anwendung ein bisschen weiter Programmieren kann habe ich da mal den Due Scheduler benutzt. Der verteilt ja nur Rechenzeit an andere Funktionen wenn man in der Hauptschleife (loop) die Funktion delay aufruft. Das war mit zuerst entgangen und daher hat er nicht funktionieren wollen.

    Hat von euch eigentlich jemand Erfahrung damit den Linux Kernel auf so Controllern zu verwenden. Der soll ja eigentlich auf deutlich kleinerem als so Raspi oder Gnublin auch noch laufen können?

  6. #6
    HaWe
    Gast
    Zitat Zitat von alexander_ro Beitrag anzeigen
    Ich habe mir jetzt mal das Babix näher angeschaut ist aber nicht so einfach das was ich davon brauche heraus zu lesen.

    Man kann vermutlich schon so tun als ob das Programm das auf dem Controller läuft ein Prozess ist und lässt dann innerhalb von diesem die Threads laufen.

    Damit ich schon mal unabhängig von dem was mit dem Babix herauskommt an meiner Anwendung ein bisschen weiter Programmieren kann habe ich da mal den Due Scheduler benutzt. Der verteilt ja nur Rechenzeit an andere Funktionen wenn man in der Hauptschleife (loop) die Funktion delay aufruft. Das war mit zuerst entgangen und daher hat er nicht funktionieren wollen.

    Hat von euch eigentlich jemand Erfahrung damit den Linux Kernel auf so Controllern zu verwenden. Der soll ja eigentlich auf deutlich kleinerem als so Raspi oder Gnublin auch noch laufen können?
    also das verstehe ich ja nun nicht, um ehrlich zu sein.
    Der Vorteil von Arduinos ist ja gerade, dass sie echtzeitfähig sind, im Gegensatz zum Userspace von Linux-Rechnern. Wenn dir aber Linux-Rechner schnell genug sind und du vor allem pthread brauchst, dann nimm doch gleich nen Raspi oder Beaglebone plus i2c-, USB- oder SPI-Portexpander, statt jetzt embedded Linux in einen Due reinzupressen.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Es ist ja jetzt nicht so das Linux generell nicht Echtzeitfähig wäre.
    <Edit>
    https://www.elektronikpraxis.vogel.d...y-pi-a-630497/
    </Edit>

    Echtzeitfähig zu sein hat jetzt nur wenig mit der Schnelligkeit zu tun.

    Es war auch nur mal so eine Idee ob die gut ist weiß ich nicht. Die mit FreeRTOS war es ja schon mal nicht.
    Geändert von alexander_ro (12.11.2017 um 11:42 Uhr)

Ähnliche Themen

  1. arduino atmega2560 & atom & platformio & ubuntu
    Von inka im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 13.08.2017, 09:26
  2. Antworten: 1
    Letzter Beitrag: 12.06.2015, 14:50
  3. Projekt: FreeRTos auf RP6
    Von RolfD im Forum Robby RP6
    Antworten: 14
    Letzter Beitrag: 18.12.2012, 12:05
  4. FreeRTos auf RP6?
    Von RolfD im Forum Robby RP6
    Antworten: 11
    Letzter Beitrag: 29.07.2012, 22:58
  5. freeRTOS.org
    Von Superhirn im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 24.11.2006, 19:07

Berechtigungen

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

Solar Speicher und Akkus Tests