Hallo,
ich habe mit den APIs <time.h> und <signal.h> einen Timer für ein Microcontroller-Board mit einem Power PC 604 Prozessor programmiert. Als ich es unter meiner virtuellen Maschine (x86, xubuntu) getestet habe, konnte ich das Programm fehlerfrei ausführen und habe in Abständen von 5 Sekunden etwas auf der Konsole ausgegeben.
Wenn ich es nun mit dem Cross-Compiler für Power PC kompiliere und auf dem Microcontroller Board ausführe erhalte ich einen Segmentation Fault.
Dabei erhalte ich von den Funktionen timer_create(...) und timer_settime(...) als Rückgabewert null (0). Nach meinem zeitlichen empfinden erhalte ich den Segmentation Fault erst, wenn die Timer-Funktion nach 5 Sekunden zum ersten Mal aufgerufen wird - also (ca.) 5 Sekunden nach die Funktion timer_settime(...) mit dem Rückgabewert null (0) beendet wurde.
Weiss jemand von euch evtl. wo hier das Problem liegen könnte ? Könnte es am Cross-Compiler oder dem Linux Betriebssystem auf dem Microcontrollerboard liegen ? Gibt es evtl. eine Möglichkeit die Fehlerursache mit bestimmten Tools oder Systemlogs zu bestimmen ?
Ich hoffe man kann mir Hilfestellung zu meinem Problem geben.
Viele Grüße und vielen Dank
ich habe mit den APIs <time.h> und <signal.h> einen Timer für ein Microcontroller-Board mit einem Power PC 604 Prozessor programmiert. Als ich es unter meiner virtuellen Maschine (x86, xubuntu) getestet habe, konnte ich das Programm fehlerfrei ausführen und habe in Abständen von 5 Sekunden etwas auf der Konsole ausgegeben.
Wenn ich es nun mit dem Cross-Compiler für Power PC kompiliere und auf dem Microcontroller Board ausführe erhalte ich einen Segmentation Fault.
Dabei erhalte ich von den Funktionen timer_create(...) und timer_settime(...) als Rückgabewert null (0). Nach meinem zeitlichen empfinden erhalte ich den Segmentation Fault erst, wenn die Timer-Funktion nach 5 Sekunden zum ersten Mal aufgerufen wird - also (ca.) 5 Sekunden nach die Funktion timer_settime(...) mit dem Rückgabewert null (0) beendet wurde.
Weiss jemand von euch evtl. wo hier das Problem liegen könnte ? Könnte es am Cross-Compiler oder dem Linux Betriebssystem auf dem Microcontrollerboard liegen ? Gibt es evtl. eine Möglichkeit die Fehlerursache mit bestimmten Tools oder Systemlogs zu bestimmen ?
Ich hoffe man kann mir Hilfestellung zu meinem Problem geben.
Viele Grüße und vielen Dank
Zuletzt bearbeitet: