Forum: Mikrocontroller und Digitale Elektronik AVR32 - kann keine Dateien per remote/gdbserver öffnen


von gastli (Gast)


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

von gastli (Gast)


Lesenswert?

Da ich es noch nicht geschafft habe weiter zu kommen, erlaube ich mir 
mal den Beitrag noch einmal nach oben zu holen.

von aha (Gast)


Lesenswert?

Es gibt ein schreibbaren Medium ? Sicher ?

von gastli (Gast)


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.

von Thilo H. (thaala)


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ß

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
Noch kein Account? Hier anmelden.