树莓派—交叉编译

1.编译

       编译可以理解为 是在一个平台生成在该平台的可执行代码。

2.本地编译

本地编译 在本地平台上,编译生成的程序只能放到当前平台下运行。

        比如,我们在x86上面编译生成的可执行代码,只能放在x86架构上面运行,不能放在ARM架构上面运行 。

3.交叉编译

交叉编译 是在本地平台上编译生成另一个平台的可执行代码,但是编译平台却不能运行此代码。

        比如我们在Windows上面编写STM32、C51代码,并编译成可执行代码,如xx.hex,是在STM32,C51上面运行,不是在Windows上面运行。

        比如我们在树莓派上面编写树莓派的代码,只能在树莓派上面运行,不能再Ubuntu,Linux上面运行。

3.为什么要交叉编译?

(1)平台不允许或者不能够安装我们所需要的编译器。

(2)性能,目的平台资源匮乏,无法运行我们所需要的编译器。

(3)即使像树莓派这些,在本地就能编译的,也要进行交叉编译,因为树莓派有时因为目标平台还没有建立,连操作系统都没有,根本就运行不了编译器,操作系统也是代码,也需要编译。

宿主机:编辑和编译代码的平台,一般是基于x86的pc机,通常也被称为主机。

目标机:通常都是费x86平台的,宿主机编译得到的可执行代码放到目标机上执行。


1.交叉编译工具链的安装

1.下载

搜索网址:Raspberry Pi · GitHub

访问比较慢,我把它放到网盘里面你们也可以直接去下载。

链接:https://pan.baidu.com/s/1vIOW9hQT6mmY6VEjIm_h5A?pwd=zew6 
提取码:zew6

2.安装

(1)把下载好的压缩包拷贝或者放到虚拟机里面去,然后解压

unzip tools-master.zip

(2)进入目录,进入到最里面箭头指着的就是你想要的工具了

但如果每次使用都要进入这么多的目录,非常的麻烦,那怎么样才能像gcc一样,直接就能使用呢,这里有两种方法一种是临时有效,一种是永久有效,下面来看看。

临时有效:

        (1)使用 echo $PATH 命令显示当下的环境变量

         (2)在使用pwd显示当前的绝对路径

         (3)然后再使用  export PATH=刚才显示的环境变量,箭头指的冒号后面替换成,刚才显示的绝对路径,就ok了。

 永久有效:

        (1)修改工作目录下.bashrc 文件在最后面加上临时有效的第三部   

          (2)使用source 命令让它刷新生效一下,就OK啦。

source /home/CLC/.bashrc

3.使用

        (1)检查一下交叉编译工具对不对,看版本号4.83,正确。

arm-linux-gnueabihf-gcc -v

        (2)编译

arm-linux-gnueabihf-gcc  xxx.c -o xxx

        (3)如何把编译生成的可执行文件下载到开发板,使用 scp 命令。

scp demo pi@192.168.137.1:/home/pi

​指令 文件名 开发板用户名@开发板地址:开发板的绝对路径

        好了,最后到这也就完成了,交叉编译工具链的安装与使用了,加油,

                                                                一个人为什么要努力? 因为我喜欢的东西都很贵,我想去的地方都很远。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走下去-别回头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值