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.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.