Hallo Zusammen,
ich habe brandneu den RevPi Connect+. Ich wollte mich an den Tutorials für c++ versuchen, nur leider komme ich bei Tutoial 13 nicht besonders weit. Ich bin per ssh verbunden und habe im Ortner /demo den Befehl make piTest.c aufgerufen. Als Ergebniss erhalte ich "make: Nothing to be done for 'piTest.c'". Woran kann es liegen? Ich habe nichts verändert (außer touch piTest.c aufgrund der falschen Systemzeit).
Welche (möglichst kostenfreie) IDE (toolchain) für crosscompile ist derzeit empfohlen? Ist http://gnutoolchains.com/ mit Visual Studio noch aktuell? Welche wäre eine kostenfreie Alternative?
Danke und viele Grüße
Nik
makefile: make: Nothing to be done for 'piTest.c'
Re: makefile: make: Nothing to be done for 'piTest.c'
Nachtrag:
Ok, ich habe nicht genau genug hingeguckt. Statt "make piTest.c" sollte nur "make" ausgeführt werden...
Vielleicht gibt es ja aber noch hilfreiche Antworten zu Toolchain?
Danke
Nik
Ok, ich habe nicht genau genug hingeguckt. Statt "make piTest.c" sollte nur "make" ausgeführt werden...
Vielleicht gibt es ja aber noch hilfreiche Antworten zu Toolchain?
Danke
Nik
Re: makefile: make: Nothing to be done for 'piTest.c'
Wir cross-compilieren den Kernel und piControl unter Debian GNU/Linux auf x86-64 mit dem ganz normalen gcc für ARM 32-bit ("apt-get install gcc-arm-linux-gnueabihf").
Beim cross-compilieren von User Space Applikationen gibt es zwei Probleme: Erstens sind nur wenige Libraries als cross-Variante per apt-get verfügbar. Zweitens ist Raspbian für ARMv6+VFP2 compiliert, während Pakete der Debian armhf-Architektur für ARMv7+VFP3 compiliert sind. (Siehe Debian Wiki.) Deshalb kann man nicht einfach Debian armhf-Pakete auf Raspbian installieren (führt meist zu einem Bus Error beim Ausführen des Programms) oder gegen solche Pakete compilieren.
Ein gangbarer Weg ist, ein Raspbian Image per losetup auf einer x86 Maschine zu mounten und per qemu eine Shell darin zu starten. Das geht einfacher als es sich anhört: Einmal "apt-get install qemu-user-static binfmt-support", dann /usr/bin/qemu-arm-static in das /usr/bin-Verzeichnis von dem Image kopieren und mit "chroot <mount-point> bash" eine Shell starten. Jetzt kann man in dem Image nach Belieben arbeiten und compilieren.
Mit Toolchains für Visual Studio kenne ich mich leider nicht aus, da kann dir hoffentlich einer meiner Kollegen helfen. Aber "raspberry-gcc6.3.0-r5.exe" auf der Download-Seite für Raspberry Pi sieht auf den ersten Blick passend aus. Die Toolchain selbst kostet ja nichts, nur die VisualGDB Extension kostet was.
Beim cross-compilieren von User Space Applikationen gibt es zwei Probleme: Erstens sind nur wenige Libraries als cross-Variante per apt-get verfügbar. Zweitens ist Raspbian für ARMv6+VFP2 compiliert, während Pakete der Debian armhf-Architektur für ARMv7+VFP3 compiliert sind. (Siehe Debian Wiki.) Deshalb kann man nicht einfach Debian armhf-Pakete auf Raspbian installieren (führt meist zu einem Bus Error beim Ausführen des Programms) oder gegen solche Pakete compilieren.
Ein gangbarer Weg ist, ein Raspbian Image per losetup auf einer x86 Maschine zu mounten und per qemu eine Shell darin zu starten. Das geht einfacher als es sich anhört: Einmal "apt-get install qemu-user-static binfmt-support", dann /usr/bin/qemu-arm-static in das /usr/bin-Verzeichnis von dem Image kopieren und mit "chroot <mount-point> bash" eine Shell starten. Jetzt kann man in dem Image nach Belieben arbeiten und compilieren.
Mit Toolchains für Visual Studio kenne ich mich leider nicht aus, da kann dir hoffentlich einer meiner Kollegen helfen. Aber "raspberry-gcc6.3.0-r5.exe" auf der Download-Seite für Raspberry Pi sieht auf den ersten Blick passend aus. Die Toolchain selbst kostet ja nichts, nur die VisualGDB Extension kostet was.
Re: makefile: make: Nothing to be done for 'piTest.c'
You can import/create a kernel module or user space application as makefile project in eclipse (under linux preferably)
Use Cross GCC toolchain, cross compile flags for arm-linux-gnueabihf,add appropriate kernel directory path and build application/module.
Reference:
https://elinux.org/images/c/c6/Explorin ... clipse.pdf
Use Cross GCC toolchain, cross compile flags for arm-linux-gnueabihf,add appropriate kernel directory path and build application/module.
Reference:
https://elinux.org/images/c/c6/Explorin ... clipse.pdf
KUNBUS
Re: makefile: make: Nothing to be done for 'piTest.c'
Hello,
thanks for your responses. I will try my best and will let you know about my progress.
Regards
Nik
thanks for your responses. I will try my best and will let you know about my progress.
Regards
Nik