树莓派2+Ubuntu14.04+OpenCV交叉编译

时间:2022-10-01 14:51:29

写了一个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 属于处理的具体型号,对应关系:

  • BCM2708/BCM2709
  • BCM2835/BCM2836

    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

  • 亲测成功