虽然树莓派带有gcc,可以编译C/C++程序,但是如果工程比较庞大,使用树莓派进行编译会浪费大量的时间,我们可以在PC上编译好程序,然后将可执行文件传递到树莓派上,执行程序,这样充分利用了PC上的资源,加快了开发进度。
- 首先需要在PC上搭建交叉编译环境,这里我选择了Cygwin作为交叉编译环境,在官网上即可下载。
- 安装程序Cygwin
-
下载arm-tool chain
下载地址:https://github.com/IanLinsdell/Raspberrypi
下载完成后解压其中的hardfp进行加压,解压到Cygwin下形成的工作目录如下:
Cygwin/opt/cross/x-tools/arm-unknown-linux-gnueabi
至此PC端的交叉编译环境搭建完毕。
- 测试交叉编译环境安装是否正确
编写程序(含有浮点数运算)
在Cygwin终端进行交叉编译
- 将可执行程序传递到我们的树莓派上
这里我采用的是SAMBA共享文件夹的方式完成树莓派和PC的通信
将该文件拷贝到共享目录下,在树莓派上开启SAMBA服务进行文件下载:
程序成功运行,证明该程序是基于ARM的
所以以后我们在开发比较大型的嵌入式程序时,就可以考虑采用交叉编译的方式,然后通过sftp、SAMBA等方式将可执行文件传送的嵌入式设备上,整个过程还是比较方便高效的。