写了一个Geo position的小demo,放在arm上试试,于是用了手边的树莓派2。准备放在Ubuntu主机上编译。
1.安装交叉编译环境: sudo apt-get install gcc-arm-linux-gnueabihf
2.编译:arm-linux-gnueabihf-gcc test.c -o test
3.编译后传输到树莓派(必须指定:/home/pi或其他目录):scp test pi@192.168.3.3:/home/pi
4.登陆到树莓派:ssh pi@192.168.3.3(密码是raspberry),查看:ls,运行:./test
了解一下树莓派2:
Broadcom BCM2836 900MHz的四核SoC,1GB内存
而在git clone raspberrypi/tools后就会发现,下面的文件夹是:arm-bcm2708hardfp-linux-gnueabi,这个2708是什么意思?
BCM2708/9 属于处理器的家族BCM2835/6 属于处理的具体型号,对应关系:
BCM2709 和 BCM2836的区别详见:http://bbs.21ic.com/forum.php?mod=viewthread&tid=1180900
对于opencv,需要先在树莓派上安装opencv,再将opencv用rsync同步到本地,然后按照下帖执行交叉编译:
http://*.com/questions/19162072/installing-raspberry-pi-cross-compiler
会遇到undefined reference to '__fdelt_chk@GLIBC_2.15'的问题(非常奇怪,因为用ldd看树莓派和ubuntu,其GLIBC都是2.19版本的),但没关系,下帖给出了解决方案:
http://*.com/questions/40905654/cross-compile-for-arm-undefined-reference-to-fdelt-chkglibc-2-15