什么外贸网站开发客户,网站建设wap,做红包网站,中山网站制作系统一、交叉编译的概念
交叉编译是在一个平台上生成另一个平台上的可执行代码。
编译#xff1a;一个平台上生成在该平台上的可执行文件。
例如#xff1a;我们的Windows上面编写的C51代码#xff0c;并编译成可执行的代码#xff0c;如xx.hex.在C51上面运行。 我们在Ubunt…一、交叉编译的概念
交叉编译是在一个平台上生成另一个平台上的可执行代码。
编译一个平台上生成在该平台上的可执行文件。
例如我们的Windows上面编写的C51代码并编译成可执行的代码如xx.hex.在C51上面运行。 我们在Ubuntu上面编写的树莓派的代码并编译成可执行代码如a.out.在树莓派上面运行。
二、为什么要交叉编译
1平台上不允许或者不能安装我们所需的编译器比如51内存比较小
2因为目的平台上资源贫乏无法运行我们所需的编译器
三、平台运行至少需要两样东西
1.bootlosder(启动引导代码)
2.操作系统
四、交叉编译用到什么工具
交叉编译器、交叉编译工具
五、交叉编译工具链的安装
5.1 工具链下载方式网站下载
http://github.com/raspberypi/5.2.把下载的包放到 ubuntu 上并解压 unzip tools-master.zip 5.3.进入到 /home/clc/SYSTEM/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin 目录下 交叉编译工具
此时我们只能在这个目录中进行编译为了更方便编译和能够让编译工具能在其他目录中进行编译就要我们配置环境变量。
5.4.配置环境变量
1.永久有效 echo $PATH 显示当下环境变量 export PATH 配置环境变量 vi /home/clc/.bashrc G 跳转到文件尾部 gg 跳转到文件开头
2.加载配置文件马上生效配置 source /home/clc/.bashrc 六、交叉编译的使用 6.1.检查交叉编译工具 arm-linux-gnueabihf-gcc -v 4.8.3的版本 6.2.交叉编译 arm-linux-gnueabihf-gcc xxx.c -o xxx 6.3.把编译生成的可执行文件发到树莓派上 scp clientInPi pi192.168.100.3:/home/pi 指令 文件名 开发板用户名开发板地址开发板的绝对路径 6.4.带wiringPi库的交叉编译如何进行 正常我们先要交叉编译wiringPi库编译出的库适合树莓派这时候交叉编译可执行程序链接库的格式也是正确的。 通过 来指定 问题记录 arm-linux-gnueabihf-gcc switchDz.c -I /home/CLC/lessonPI/WiringPi/wiringPi -lwiringPi /home/CLC/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lwiringPi collect2: error: ld returned 1 exit status 原因链接的库的格式不对是宿主机的平台
如何解决呢
#通过 -I -L 来指定
arm-linux-gnueabihf-gcc switchDz.c -I /home/CLC/lessonPI/WiringPi/wiringPi -L. -lwiringPi -o crossCompBinswitchDz
/*
1.-I 指定头文件路径
2.-L. 从当前路径去找
3.-o 重命名
*/ 6.5 SCP过程中存在的问题
问题一 解决方案查看这篇博客 解决scp命令pemission denied,please try again的问题
问题二SSHD无法重启权限不足问题
看这篇博客关于sshd服务无法开启的问题集合_sshd服务启动失败_CheungChunChiu的博客-CSDN博客【代码】关于sshd服务无法开启的问题集合。_sshd服务启动失败https://blog.csdn.net/qq_30883899/article/details/131636656如何修改Linux系统的 /etc/ssh/sshd_config 文件 /etc/ssh/sshd_config E212: Cant open file for writin_是丽丽哇的博客-CSDN博客第一步我们使用命令行vim /etc/ssh/sshd_config 执行修改强制保持 wq 系统不让我们修改这个文件/etc/ssh/sshd_config/etc/ssh/sshd_config E212: Cant open file for writingPress ENTER or type command to continue 既然不让我...https://blog.csdn.net/u010883578/article/details/90201160最后提醒一句一定要查看IP是否正确踩过坑