*I use Asus router (based on ARMv7 proc) with Advanced Tomato installed on
it as my ARMv7 developer platform. I install compiler (gcc - 5.4.0-1) plus
dependiences and libFTDI (libftdi1 - 1.3-1) from OpenWRT Linux repo.I try to
compile program taken directly from libFTDI samples. The compiler command
is:*gcc -v -Wl,-rpath=/opt/usr/local/lib
-Wl,--dynamic-linker=/opt/lib/ld-linux.so.3 -L/opt/lib -O2 -pipe
-march=armv7-a -mtune=cortex-a9 -fno-caller-saves -mfloat-abi=soft -l ftdi1
d.c -o d*The program look like this:*#include #include #include #define
sleep(x) Sleep(x)#include int main(int argc, char **argv){ struct
ftdi_context *ftdi; int f,i; unsigned char buf[1]; int retval = 0;
if ((ftdi = ftdi_new()) == 0) { fprintf(stderr, "ftdi_new
failed\n"); return EXIT_FAILURE; } f = ftdi_usb_open(ftdi,
0x0403, 0x6001); if (f < 0 && f != -5) { fprintf(stderr,
"unable to open ftdi device: %d (%s)\n", f, ftdi_get_error_string(ftdi));
retval = 1; goto done; } printf("ftdi open succeeded: %d\n",f);
printf("enabling bitbang mode\n"); ftdi_set_bitmode(ftdi, 0xFF,
BITMODE_BITBANG); sleep(3); buf[0] = 0x0; printf("turning
everything on\n"); f = ftdi_write_data(ftdi, buf, 1); if (f < 0) {
fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f,
ftdi_get_error_string(ftdi)); } sleep(3); buf[0] = 0xFF;
printf("turning everything off\n"); f = ftdi_write_data(ftdi, buf, 1);
if (f < 0) { fprintf(stderr,"write failed for 0x%x, error %d
(%s)\n",buf[0],f, ftdi_get_error_string(ftdi)); } sleep(3); for (i
= 0; i < 32; i++) { buf[0] = 0 | (0xFF ^ 1 << (i % 8)); if
( i > 0 && (i % 8) == 0) { printf("\n"); }
printf("%02hhx ",buf[0]); fflush(stdout); f =
ftdi_write_data(ftdi, buf, 1); if (f < 0) {
fprintf(stderr,"write failed for 0x%x, error %d (%s)\n",buf[0],f,
ftdi_get_error_string(ftdi)); } sleep(1); }
printf("\n"); printf("disabling bitbang mode\n");
ftdi_disable_bitbang(ftdi); ftdi_usb_close(ftdi);done:
ftdi_free(ftdi); return retval;}*The output from compilation proces
is:*Using built-in
specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/lto-wrapperTarget:
arm-openwrt-linux-gnueabiConfigured with:
/media/ware3/Entware-ng.2016.08/build_dir/target-arm_cortex-a9_glibc-2.23_eabi/gcc-5.4.0/configure
--target=arm-openwrt-linux --host=arm-openwrt-linux --build=x86_64-linux-gnu
--program-prefix= --program-suffix= --prefix=/opt --exec-prefix=/opt
--bindir=/opt/bin --sbindir=/opt/sbin --libexecdir=/opt/lib
--sysconfdir=/opt/etc --datadir=/opt/share --localstatedir=/opt/var
--mandir=/opt/man --infodir=/opt/info --disable-nls --build=x86_64-linux-gnu
--host=arm-openwrt-linux-gnueabi --target=arm-openwrt-linux-gnueabi
--enable-languages=c,c++ --with-bugurl=https://dev.openwrt.org/
--with-pkgversion='OpenWrt GCC 5.4.0' --enable-shared --enable-__cxa_atexit
--with-default-libstdcxx-abi=gcc4-compatible --enable-target-optspace
--with-gnu-ld --with-stage1-ldflags='-Wl,-rpath=/opt/lib
-Wl,--dynamic-linker=/opt/lib/ld-linux.so.3'
--with-boot-ldflags='static-libstdc++ -static-libgcc -Wl,-rpath=/opt/lib
-Wl,--dynamic-linker=/opt/lib/ld-linux.so.3' --disable-nls
--disable-libsanitizer --disable-libvtv --disable-libcilkrts
--disable-libmudflap --disable-multilib --disable-libgomp
--disable-libquadmath --disable-libssp --disable-decimal-float
--disable-libstdcxx-pch --with-host-libstdcxx=-lstdc++ --prefix=/opt
--libexecdir=/opt/lib --with-local-prefix=/opt --with-float=soft
--with-default-libstdcxx-abi=gcc4-compatibleThread model: posixgcc version
5.4.0 (OpenWrt GCC 5.4.0) COLLECT_GCC_OPTIONS='-v' '-L/opt/lib' '-O2'
'-pipe' '-march=armv7-a' '-mtune=cortex-a9' '-fno-caller-saves'
'-mfloat-abi=soft' '-o' 'd' '-mtls-dialect=gnu'
/opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/cc1 -quiet -v -imultilib .
-imultiarch arm-linux-gnueabi d.c -quiet -dumpbase d.c -march=armv7-a
-mtune=cortex-a9 -mfloat-abi=soft -mtls-dialect=gnu -auxbase d -O2 -version
-fno-caller-saves -o - | as -v -march=armv7-a -mfloat-abi=soft -meabi=5 -o
/opt/tmp/ccVBKSjn.oGNU assembler version 2.26.1 (arm-openwrt-linux-gnueabi)
using BFD version (GNU Binutils) 2.26.1GNU C11 (OpenWrt GCC 5.4.0) version
5.4.0 (arm-openwrt-linux-gnueabi) compiled by GNU C version 5.4.0,
GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1GGC heuristics:
--param ggc-min-expand=47 --param ggc-min-heapsize=31954ignoring nonexistent
directory "/opt/include/arm-linux-gnueabi"ignoring nonexistent directory
"/opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/../../../../arm-openwrt-linux-gnueabi/include"ignoring
nonexistent directory "/usr/include/arm-linux-gnueabi"ignoring nonexistent
directory "/usr/include"#include "..." search starts here:#include <...>
search starts here: /opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/include
/opt/include /opt/lib/gcc/arm-openwrt-linux-gnueabi/5.4.0/include-fixedEnd
of search list.GNU C11 (OpenWrt GCC 5.4.0) version 5.4.0
(arm-openwrt-linux-gnueabi) compiled by GNU C version 5.4.0, GMP
version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1GGC heuristics: --param
ggc-min-expand=47 --param ggc-min-heapsize=31954Compiler executable
checksum: a589712d81e28a1300ccb0e03d994135d.c:5:18: fatal error: ftdi.h: No
such file or directorycompilation terminated.*I try to find ftdi.h file in
whole system, but there is no such file at all. How can I obtain this file
for ARMv7 architecture?*
--
View this message in context:
http://libftdi.141977.n3.nabble.com/Can-not-compile-program-on-ARMv7-native-platform-tp4026110.html
Sent from the libFTDI mailing list archive at Nabble.com.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]