RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2797字,纯文字阅读大概需要4分钟。
内容图文
![RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt](/upload/InfoBanner/zyjiaocheng/970/4908c3edf92643f9b304b4280697b5b2.jpg)
1、配置RaspberryPi交叉编译环境:
在开发RaspberryPi Zero的过程中,由于Zero板卡的CPU的处理性能比较弱,因此其编译的性能比较弱,需要将代码在PC电脑上交叉编译完成之后再拷贝到Zero上调试运行。配置交叉编译环境的基本步骤如下所示:
Step1:从github网站获取raspberryPi交叉编译工具包:https://github.com/raspberrypi/tools
git clone git@github.com:raspberrypi/tools.git
上述文件下载完之后的内容如下所示(其中arm-bcm2708文件夹中的内容为交叉编译器):
Step2:将交叉编译器配置到环境变量:
编辑环境变量配置文件.bashrc,在文件的末尾添加如下的代码(注意路径,不同的路径记得修改):
export PATH=$PATH:~/Raspberry_Project/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
配置完成之后,需要执行source指令,让.bashrc生效:
source ~/.bashrc
Step3:测试交叉编译环境
如下图所示,在ubuntu命令行中输入如下指令:
arm-linux-gnueabihf-gcc -v
有此图说明配置成功。
2、交叉编译执行main.c文件:
Step1:编写了如下的测试文件:
1 #include <stdio.h> 2 3 int main(void) 4 { 5 printf("Test the cross-compile-env for raspberrypi!\n"); 6 return 1; 7 }
Step2:使用如下的指令编译上述文件:
arm-linux-gnueabihf-gcc -c main.c -o main
编译的结果如下:
将编译生成的main文件拷贝到树莓派上,修改执行权限,执行即可。
3、交叉编译过程中需要链接第三方的库文件:
在编写程序的过程中,我们需要使用到wiringPi库相关的内容,因此需要将wiringPi的文件引入。
Step1:首先下载wiringPi的程序包:https://github.com/mm1994uestc/WiringPi。可以通过github直接下载源代码:
git clone git@github.com:mm1994uestc/WiringPi.git
下载完成之后进入文件夹安装wiringPi的库,安装方法参考这里:https://www.cnblogs.com/uestc-mm/p/6290521.html
注:安装过程中如果出现问题,请使用sudo权限操作,sudo make install
Step2:安装完成之后我们编写如下的程序:
#include <stdio.h> #include <stdlib.h> #include "wiringPi.h" int main(int argc, char **argv) { if(argc<2){ printf("You should give a param while call the program1\n"); return 0; } int pinNumber = atoi(argv[1]); printf("The control pin number is:%d\n",pinNumber); if(-1 == wiringPiSetup()){ printf("Setup wiringPi failed!\n"); return 0; } pinMode(pinNumber, OUTPUT); while(1){ digitalWrite(pinNumber,0); delay(800); digitalWrite(pinNumber,1); delay(800); } printf("Hello, you do it succeed!!!\n"); return 0; }
Step3:编译上述程序,这里编写了简单的Makefile文件,如下所示:
main:main.c arm-linux-gnueabihf-g++ -c main.c -o main -I /home/ubuntu-bitmain/Raspberry_Project/Library/WiringPi/wiringPi/ clean: rm main
注:这里的路径-I是wiringPi的安装路径。一定要应用wiringPi的相关文件的路径才能调用wiringPi的库,举一反三,其他的库也可以类似的方式,对于静态的library,我们可以使用-l的方式来链接,如果在RaspberryPi的本地,我们可以使用如下的方式(这里链接了math数学库&wiringPi库):
gcc -c main.c -o main -lwiringPi -lm
Step4:make生成RaspberryPi的可执行文件:
4、Reference:
交叉编译参考:https://www.cnblogs.com/xieyajie/p/4699724.html
wiringPi官网:http://wiringpi.com/
内容总结
以上是互联网集市为您收集整理的RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt全部内容,希望文章能够帮你解决RaspberryPi交叉编译环境配置-Ubuntu & wiringPi & Qt所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。