POSIX Conditionsvariablen in XIlKernel

OP #4955159
Hallo,

ich arbeite bereits an einem Seminararbeit und implementiere eine 
Software für MicroBlaze auf XilKernel als BSP, um POSIX-API für 
Multi-Threading zu verwenden. Ich brauche Konditionsvariablen für die 
Thread-Synchronization und musste dann feststellen, dass diese gar nicht 
in XilKernel-Datasheet für POSIX-API erwähnt sind und auch im SDK 
bekomme ich die folgende Fehlermeldung:

C:\Xilinx\student_23\new_mjpeg\SDK2\xil_mb1\Debug/../src/main.c:210: 
undefined reference to `pthread_cond_wait
C:\Xilinx\student_23\new_mjpeg\SDK2\xil_mb1\Debug/../src/routing_thread. 
c:37:  undefined reference to `pthread_cond_signal'

Hat vielleicht jemand hier Erfahrung mit dem Einsatz von 
Conditionsvariablen in XilKernel? Werden diese vom XilKernel tatsächlich 
nicht unterstützt, oder liegt es an meiner EDK-Version (14.6)?
Ich habe erfahren, dass sie sich auch manuell mittels Semaphoren und 
Locks nachbauen lassen. Hat vielleicht jemand die Erfahrung mit deren 
Implementierung in C?

In der inkludierten Datei <pthread.h> sind noch die folgenden Codezeilen 
vorhanden:

int _EXFUN(pthread_cond_signal, (pthread_cond_t *__cond));
int _EXFUN(pthread_cond_wait, (pthread_cond_t *__cond, pthread_mutex_t 
*__mutex));

Wozu sind denn diese und was bedeuten sie?

Ich habe diese Frage vor vier Tagen im Xilinx-Forum gestellt, aber 
leider bis jetzt gar keine Antwort erhalten. Daher würde ich  mich auf 
ihre Rückmeldungen sehr freuen.

Viele Grüße
Usam
Die beiden Zeilen erzeugen zwei Funktionen (bzw. Funktionsdeklarationen) 
namens "pthread_cond_signal" und "pthread_cond_wait" mit den angegebenen 
Argumentlisten.

Sowas macht man, wenn man in verschiedenen Umgebungen leicht 
verschiedene (= zueinander inkompatible) Prototypen braucht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.