Hi zusammen,
ich arbeite seit kurzem mit dem Intel Edison Breakout Board und bin
soweit ganz zufrieden. Die Dokumentation ist natürlich noch nicht
ausgereift und daher komme ich gleich zu meinem Problem.
Der Edison hat das neueste Edison-Yocto-Image bekommen, ist also
geflasht und die Verbindung zum wLan funktioniert auch. Die
Konfiguration ist kein Problem.
Kurze Testprogramme (mit vi geschrieben, compiliert und ausgeführt)
funktionieren auch.
Um die GPIOs (z.B. für das übliche LED-Blinkprogramm) des Edison zu
benutzen ist die Bibliothek mraa notwendig. Diese wurde auch erfolgreich
wie hier: https://github.com/intel-iot-devkit/mraa beschrieben mit
folgenden Befehlen installiert:
1 | echo "src mraa-upm http://iotdk.intel.com/repos/1.1/intelgalactic" > /etc/opkg/mraa-upm.conf
|
2 | opkg update
|
3 | opkg install libmraa0
|
So, das Testprogramm helloMraa
1 | #include "mraa.h"
|
2 | int
|
3 | main(int argc, char **argv)
|
4 | {
|
5 | char* board_name = mraa_get_platform_name();
|
6 | fprintf(stdout, "hello mraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name);
|
7 | mraa_deinit();
|
8 | return MRAA_SUCCESS;
|
9 | }
|
lässt sich aber leider nicht kompilieren und ich weis nicht warum...
Fehlermeldung:
root@Edison:~/build# gcc -o helloMraa helloMraa.c
/tmp/ccxXgMSp.o: In function `main':
helloMraa.c:(.text+0xa): undefined reference to `mraa_get_platform_name'
helloMraa.c:(.text+0x13): undefined reference to `mraa_get_version'
helloMraa.c:(.text+0x35): undefined reference to `fprint'
helloMraa.c:(.text+0x3a): undefined reference to `mraa_deinit'
collect2: error: ld returned 1 exit status
Es wird also die Bibliothek nicht erkannt, richtig?
Ich bin für jede weiterführende Hilfe sehr dankbar!
Bitte keine Vorschläge wie: Warum benutzt du nicht die Arduino-IDE
usw...
Ich möchte die Programme im Terminal schreiben, kompilieren und
ausführen!