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