- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 15

Thema: Projekt: FreeRTos auf RP6

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von RolfD
    Registriert seit
    07.02.2011
    Beiträge
    414

    Frage Projekt: FreeRTos auf RP6

    Hallo,
    ich möchte FreeRTos auf der Base sowie auf der M32 meines RP6v1 laufen lassen und wüsste gern ob da breiteres Interesse oder gar Mitarbeit an dem Projekt mit AVR Studio 6 besteht. Als Projektziel stelle ich mir auf der Base eine Funktionalität ähnlich wie bei RP6Base_I2CSlave vor, auf der M32 das entsprechende Gegenstück. Allerdings eben nicht interruptgesteuert wie in der RP6Lib sondern mit einem erweiterbaren FreeRTos Multitasking Kernel Unterbau (aktuell 7.1.1). Ich möchte dabei möglichst funktionskompatibel zur RP6lib bleiben damit z.B. einfache Demoprogramme ohne viel umschreiben als Task lauffähig bleiben. Da die RP6lib bereits alle verfügbaren Timer benutzt, gibt es keinen "einfachen Weg" das OS und die RP6Lib zusammen zu bringen. Daher müsste für das FreeRTos einiges angepasst und/oder neu geschrieben werden - wo jedoch auch viele Verbesserungen einfließen können.

    Mich störte schon immer, das z.b. Delays die Laufzeiteigenschaften des jeweiligen Programms beeinflussen und meiner Ansicht nach hat eine CPU eben besseres zu tun als in Delayloops fest zu stecken. Auch das daher bestimmte Funktionen blocken obwohl dies nicht immer notwendig wäre, störte mich zunehmend.
    Nach umfangreicher Recherche habe ich mich dann zu FreeRTos http://www.freertos.org/RTOS.html entschieden. Auch weil es da schon fertige IP Stacks u.ä. gibt.
    Man mag einwenden das den langsamen Mega32 der Base betreffend da mit Kanonen auf Spatzen geschossen wird aber in Verbindung mit anderen Zusatzboards wird das System schnell komplexer.

    Ich habe mir das Demoprogramm von FreeRTos für AVR geschnappt und es auf die Hardware vom RP6 angepasst (Betrifft Hardwareinit, LED Funktionen, IRQ).
    Das Ganze enthält derzeit ein Task System mit 3 Co-Routinen die 3 LEDs (sl1-3) in unterschiedlichen Zeiten toggeln.
    Weiterhin wird ein Errortesttask ausgeführt, ein Mathetask und ein Registerchecktask.
    Von den Tasks sieht man nicht viel, sie laufen aber. Der Ursprünglich vorhandene serial-looptask ist abgeschaltet, da man dort für ein erfolgreichen Test pin Rx/Tx brücken müsste... für ein schnellen Test ist das jedoch nicht angebracht. Die Poweron LED geht an wenn der Scheduler startet, startet er nicht (weil z.B. nicht alle tasks eingerichtet werden können), blinkt die Poweron Lampe (dürfte bei euch so nicht vorklommen). Alle 3 Sekunden toggelt zudem die sl6 als Zeichen dafür, das alle Tasks laufen. Würde ein oder mehrere Tasks sterben, blinkt sie nicht mehr. Die ursprüngliche Funktion des Resetcounters per hochgezählter Zelle im EEPROM aus dem Demo ist ebenfals deaktiv.
    Der Bot bewegt sich nicht und macht auch sonst nichts anderes...

    Anbei also als HEX für die Base mein erster Versuch FreeRTos auf dem RP6 laufen zu lassen.
    http://www.freertos.org/a00098.html
    und dort
    http://www.freertos.org/a00102.html
    findet sich etwas Doku dazu.
    Die Quellen würde ich bei Interesse veröffentlichen, allerdings muss ich da erst noch aufräumen.

    Mein GCC gibt mir übrigends derzeit folgende Werte für das Demo aus.
    Program Memory Usage : 10350 bytes 31,6 % Full
    Data Memory Usage : 1759 bytes 85,9 % Full

    Der "hohe" RAM Verbrauch liegt an einer Speicherveraltung in FreeRTos, die sich in meinem Fall erst mal 1500 Byte reserviert und diese dann den Tasks z.b. als lokalen Stack und Queue bereit stellt. Der Kernel ansich braucht etwa 5k Rom ohne Tests und Geblinke.
    Mehr dazu hier: http://www.freertos.org/FAQMem.html

    Nachtrag: Curiosity hat es geschafft! http://mars.jpl.nasa.gov/msl/participate/ ... mit einem PowerPC SBC als "Hirn"
    Angehängte Dateien Angehängte Dateien
    Geändert von RolfD (07.08.2012 um 01:15 Uhr)
    Sind Sie auch ambivalent?

Ähnliche Themen

  1. FreeRTos auf RP6?
    Von RolfD im Forum Robby RP6
    Antworten: 11
    Letzter Beitrag: 29.07.2012, 23:58
  2. Xmega Eval board Projekt (Foren Projekt)
    Von Rasieel im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 65
    Letzter Beitrag: 26.01.2010, 13:49
  3. Das Projekt II
    Von PhilippW im Forum Staubsaugerroboter / Reinigungs- und Rasenmähroboter
    Antworten: 93
    Letzter Beitrag: 26.07.2007, 12:50
  4. freeRTOS.org
    Von Superhirn im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 24.11.2006, 20:07
  5. Projekt
    Von Terfagter im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 7
    Letzter Beitrag: 25.11.2004, 21:47

Berechtigungen

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

LiFePO4 Speicher Test