AVR32 - kann keine Dateien per remote/gdbserver öffnen

Gast #1335942
Lesenswert?

Hallo,

ich habe ein C-Programm geschrieben/kopiert, mit dem ich ein eine andere 
Datei schreiben kann. Ich kann das Programm auf mein Zielsystem kopieren 
(ein AVR32-Linux-System), dort ausführen und alles läuft soweit super. 
Um es auf das Zielsystem (also einen zweiten Linux-Rechner) kopieren und 
debugen zu können, verwende ich den gdbserver.

Während ich debuge gelingt es mir eine Nachricht auf der Console 
auszugeben. Möchte ich dann jedoch die Datei (mit dem Namen "export") 
zum Schreiben öffnen, bekommt mein FilePointer jedesmal den Wert NULL 
zurück. Ich hoffe jemand kann mir hier einen Tipp geben, was ich falsch 
mache. Auf dem Zielsystem funktioniert es ja schon mal. Sowohl für die 
zu öffnende Datei als auch für das erstellte Programm sollten die 
Schreib-/Leserechte ok sein:
1
/home/avr32 # ls -al
2
-rwxr-xr-x    1 avr32    users       46061 Dec 31 23:11 mein_programm.elf
3

4
/sys/class/gpio # ls -al
5
-rw-r--r--    1 root     root         4096 Dec 31 23:11 export     // <-- zu öffnende Datei

Dies ist mein Code, bei dem ich (wegen den NULL-Pointer) in die Schleife 
zum Programmabruch springe, wenn ich per remote/gdbserver debuge:
1
FILE *fp;
2

3
int main(int argc, char** argv)
4
{
5
  printf("*  Welcome to PIN Blink program  *\n");
6

7
  if ((fp = fopen("/sys/class/gpio/export", "ab")) == NULL)
8
    {
9
      printf("Cannot open export file.\n");
10
      exit(1);        // im Debug-Modus lande ich hier
11
    }
12
   ...                // beim Starten auf dem System geht es jedoch weiter
Gast #1337036
Lesenswert?

@ aha:

Ich gehe davon (mit meiner neuen/wenigen Linux-Erfahrung) aus. Die Datei 
hat Schreib- und Leserechte, sie befindet sich auf der SD-Karte (ich 
kann sie selber dort sehen) und per Kommandozeile starte (also nicht im 
Debug-Modus), tut sie auch was sie soll.
#1339337
Lesenswert?

Mag sein das ich mich irre.....
Aber:
Es handelt sich nicht um ein "echtes" Verzeichnis bzw. Dateien.
Diese Dateien kann man nicht per filepointer öffnen.

Versuche das alles mal auf einen "echten" Verzeichnis.... Es wird 
klappen, es sei denn es gibt Rechte - Problematiken.
Die kann man mit -
sudo chmod -R 0755 "Verzeichnis"
- aus der Welt schaffen
Gruß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren