NEC Board - FreeRTOS

Gast #1619786
Wenn ich das Programm so teste, dann wird zwar die Task1 reingesprungen 
aber im Hauptprogramm wird nicht in die while(1) Schleife 
reingesprungen.
Eigentlich müsste dies doch parallel laufen oder?
Gast #1619991
Achso mit "vStartSemaphoreTasks(main_PRIORITY1);" wird der andere Task 
aktiviert. Ja und warum wird nicht parallel im Hauptprogramm die 
while(1) Schleife ausgeführt?
Persönliche Seite #1620040
>Achso mit "vStartSemaphoreTasks(main_PRIORITY1);" wird der andere Task
>aktiviert. Ja und warum wird nicht parallel im Hauptprogramm die
>while(1) Schleife ausgeführt?
Nein wirds nicht. Schau dir die main() doch mal an, da werden zwei Tasks 
angemacht.

Und les dich mal ein bisschen über Multitasking ein, du hast null 
Ahnung.
Gast #1620051
Was ich eigentlich möchte ist, dass die zwei Task unabhängig voneinander 
laufen sowie die while(1) Schleife im Hauptprogramm. Das müsste doch 
machbar sein. Ich schonmal unter einem Embedded PC mit VxWorks 
gearbeitet. Da konnte man Tasks erzeugen und diese liefen auch parallel.
Moderator Persönliche Seite #1620054
John schrieb:
> Achso mit "vStartSemaphoreTasks(main_PRIORITY1);"

die Funktion betrifft einen Beispieltask in den FreeRTOS Demoprogrammen.

>wird der andere Task aktiviert.

Was gemacht wird, steht recht ausführlich im Kopf der Datei semtest.c 
(demos/common). Es werden sogar zwei Tasks angelegt. Aber das hilft 
wenig für die eigene Anwendung, es sei den man schreibt an der 
Beispieldatei herum.

> Ja und warum wird nicht parallel im Hauptprogramm die
> while(1) Schleife ausgeführt?

Der Scheduler ist das "Hauptprogramm". Wenn man Abläufe quasi-parallel 
haben möchte, legt man dafür tasks an. Im einfachsten  Fall (=meist 
nicht die beste Lösung) Task mit gleichen Prioritäten, damit der 
Scheduler sich alleine um die Rechenzeitzuweisung kümmert.


Ohne bisher mit NEC-Controllern gearbeitet zu haben, dafür ein wenig mir 
FreeRTOS, etwas zum Ausprobieren:
(1) entfernen der Aufrufe von vStartSemaphoreTasks, 
vStartBlockingQueueTasks und vStartSemaphoreTasks, es sei denn man will 
die Demo-Tasks aus den FreeRTOS-Beispielen in der eigenen Anwendung
(2) Bei xTaskCreate für vTask1 und vTask2 gleiche Werte für 
Prioritätsparameter verwenden z.B. indirekt über Makro main_PRIORITY1
#1620311
John schrieb:
> Weiss vielleicht einer ob es ein deutsches Skript zum FREERTOS gibt?

Lies die englische Doku.
Und wenn es am Anfang mit dem Wörterbuch daneben ist. Keine Angst, das 
ist kein Shakespear Englisch. Das lässt sich ziemlich leicht lesen und 
das meiste, was du am Anfang nicht verstehst erschliesst sich aus dem 
Zusammenhang bzw. beim Studium der Beispiele. Das wäre bei einem 
deutschen Skript auch nicht anders und die Fachbegriffe sind sowieso 
alle Englisch.

Und ausserdem kann es nicht schaden, sein Englisch zumindest soweit 
aufzupolieren um technische Doku im Bereich Informatik lesen zu können. 
Man weiß nie, wozu man das noch brauchen kann.
Moderator Persönliche Seite #1620975
John schrieb:
> Hat von euch mal einer mit QUEUE's von freeRTOS gearbeitet?
Sicher noch einige ausser mir.

Aber die Fragerei bringt in der Art nichts. Erstmal die FreeRTOS.org 
Seite ansufen, dort ist die Dokumentation online verfügbar. Für Queues 
siehe u.a. Gettings-Started/inter-task-Comm. und API reference/Queues. 
Ansonsten Anleitungen im PDF-Format kaufen. Ja, das ist alles in 
englisch. Nein, ich kenne keine deutsche Übersetzung (man kann es mit 
einem online-Übersetzer versuchen). In der Dokumentation sind 
Codeausschnitte und in den Demoprojekten im FreeRTOS-Paket gibt es 
diverse Beispiele.
#1621031
Karl heinz Buchegger schrieb:
> Und ausserdem kann es nicht schaden, sein Englisch zumindest soweit
> aufzupolieren um technische Doku im Bereich Informatik lesen zu können.
> Man weiß nie, wozu man das noch brauchen kann.

Och, zum Beispiel - für jeden einzelnen verdammten Tag im Berufsleben? 
;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.