目录

1.交叉编译

1.交叉编译

2.为什么要交叉编译?

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

1.临时有效配置环境变量(临时配置的话我们再开个窗口就没用了)

2.永久有效配置环境变量


1.交叉编译

1.交叉编译

交叉编译:在一个平合生成另外一个平台可执行的代码,

编译:在一个平台上生成在该平台上的可执行代码。
C51/32交叉编译发送在Keil (集成环境上面),windows上面编写51/32代码,不是在wilndows上面运行在ubuntu上面编写树莓派的代码,并且编译成可执行代码,如a.out

2.为什么要交叉编译?

有时候平台上不允许或者不能够安装我们所需要的编译器,目标平台上的资源匮乏,无法运行我们需要的编译器,比如C51.STM32(flash非常小)

树莓派也需要也需要交叉编译。有时因为平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器,操作系统也是代码,也需要编译。

操作系统要运行有两个条件:

1.BootLoader单片机里面也有BootLoader比如说启动文件,ARM上就是我们的裸机的硬件引导程序还有核心代码

宿主机(host):编译和!编译程序的平台,一般是基于x86的PC机,通常也被称为主机,
目标机(target):用户开发的系统,通常都是非x86的平台,host编译得到的可执行代码在target上面运行

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

~获取源码: https://github.com/raspberrypi/

~从共享文件夹拷贝到工作目录

先回到工作目录创建目录pi

进入pi,把文件拷贝到当前目录里面去       cp  /mnt/hgfs/share/tools-master.zip .

~解压交叉编译工具链

unzip tools-master.zip

 我们的可执行程序是在arm linus里面的

 补充:软连接不占用内存

-v :查看版本信息

也可以查看gcc的 直接 gcc -v

 在其他目录就无法运行了,根本就补全不了

那么如果我们想要在其他地方使用这个gcc的话,我们要把这些路径信息全部敲出来,很麻烦,所以我们可以把当前路径放到变量里面去

~echo $PATH

获取当前环境变量的值

当前路径(目录)是pwd

把当前目录添加到环境变量里面去

1.临时有效配置环境变量(临时配置的话我们再开个窗口就没用了)

PATH环境变量:

配置格式 :export PATH = 环境变量的前缀: +(想要省去的)

cd /home/hutao/回到工作目录   临时有效,再开个终端就不行了

用户目录没有 软连接 所以 arm-linux-gnueabihf 就行了 

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hutao/pi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

2.永久有效配置环境变量

修改工作目录下的.bashrc隐藏文件,配置命令终端的

vi /homg/jxj/.bashrc

在文件结尾加入脚本指令:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hutao/pi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/binsoucre /home/jxj/.bashrc  加载配置文件,马上生效 

再开个终端也可以了

交叉编译工具链专门编译arm-linux文件的,上图是arm-linux的gcc

gcc -v 是在乌班图编译的

树莓派底层开发-----交叉编译相关推荐

  1. 送30块树莓派PICO 开发板!

    大家好,我是张巧龙,今天是周日, 给大家搞个小抽奖,送30块. 嵌入式猛男必备,学嵌入式看『我要学嵌入式』,知识持久有力. 点击关注,回复[1031] 参与抽奖,免费送 10块 树莓派最新PICO开发 ...

  2. 树莓派外设开发基础(wiringPi库)

    参考:树莓派外设开发基础篇 作者:丶PURSUING 发布时间:2021-02-05 18:20:53 网址:https://blog.csdn.net/weixin_44742824/article ...

  3. windows下的工具链 树莓派_Windows下交叉编译Qt 5.14.2至树莓派平台 QEMU模拟树莓派...

    前些天有几个项目都打算用树莓派+Qt进行开发,可以手头没有树莓派设备,而且由于硬盘空间不太够了,想直接在Windows下开发,于是经过一番折腾,就有了这篇文章.... 如果感觉编译要等很久.很难受,可 ...

  4. linux 交叉编译 静态库,从Linux为Windows开发交叉编译静态库

    我想在Linux中为Windows编译静态库.以下是我跟着编译从Linux为Windows开发交叉编译静态库 使用i586-mingw32msvc-cc -c static_lib.c -o stat ...

  5. 树莓派slam_SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——6.树莓派USB与tty串口号绑定...

    摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ...

  6. linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...

    内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...

  7. c语言设计底层,【学习小总结】C语言的底层开发

    [学习小总结]C语言的底层开发 (2011-05-04 20:46:15) 标签: 底层开发 杂谈 程序设计可以根据开发的对象的不同,可以分低级程序设计和高级程序设计.既然,有人把高级程序设计概括成& ...

  8. Liunx树莓派(ARM)开发篇—第十四章、树莓派Linux内核编译步骤(超详细、图文结合)

    对树莓派内核源码进行配置后,下一步要进行树莓派Linux内核编译 以下步骤均在PC端虚拟机上完成 准备材料:PC端虚拟机.树莓派交叉编译工具.树莓派内核(交叉编译工具.内核下载步骤见树莓派内核源码) ...

  9. 树莓派Pico开发板与大功率MOSFET/IGBT器件驱动控制24V直流电机技术实践

    摘要:本文在介绍MOSFET器件和IGBT器件作为电子开关基本原理的基础上,讲述了树莓派Pico与MOSFET&IGBT器件驱动控制24V直流电机硬件接口技术,最后给出了树莓派Pico开发板G ...

最新文章

  1. TP-GAN 侧脸修复
  2. gitlab+svn自动增量发包
  3. linux启动mysql_Linux安装mysql
  4. 海外仓储系统快速提升企业仓储物流效能的最有效手段?
  5. 自己写个简易版 PicGo
  6. System.Web.Helpers.Json 与 Newtonsoft.Json 的性能对比
  7. 大数据技术原理与应用-林子雨课后(部分习题答案)
  8. xmind服务器维护,如何使用XMind组织您的待办事项?
  9. 用u盘如何安装linux系统,详细教您如何使用u盘安装Linux系统
  10. 信创办公--基于WPS的Word最佳实践系列(图片背景的删除)
  11. 蜀山前传之二---------------第八回
  12. 分子动力学模拟之周期性边界处理
  13. 这款养蛙游戏火爆了朋友圈,游戏开发程序员已赚翻!
  14. pion最简单webrtc例子
  15. springboot---微信小程序上传文件(word/pdf文件)
  16. 如何看笔记本电脑配置?
  17. 密码学常见困难问题DLP,CDH,DDH,GDH,BDH,CBDH,DBDH,GBDH,更新中
  18. pandas取每行最后一个非空元素
  19. 轻量级java snmp设备网管软件开发技术
  20. 三星可能已后悔离开中国制造,它在越南的工厂无奈大幅减产

热门文章

  1. Orman Clark的垂直导航菜单:CSS3版本
  2. C语言学习记录——유 分支与循环(2)
  3. python 浮点数类型
  4. 【学渣无能狂怒】今天也是为了学习落泪的一天--每天一遍Java再见
  5. java replace无效_Java String.replace()方法无效的原因及解决方式
  6. 【大题整理】操作系统
  7. PYTHON 画一支圆珠笔
  8. 其他浏览器(firefox,chrome)可以上网 ie(Internet Explorer)无法上网 解决方法
  9. css3 烟 蚊香_HTML5前端特效库 css3 按钮粒子烟花特效源码
  10. uploadify批量上传文件