AVR32 - kann keine Dateien per remote/gdbserver öffnen

Gast #1335942
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
@ 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.
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.