windows下的工具链 树莓派_Lab2树莓派交叉编译(windows平台)
何为交叉编译?
所谓交叉编译简单的说,就是在一个平台上编译出在另一个在平台能跑的可执行程序。比如,本文的情况是,在windows上编译出在树莓派上能跑的可执行程序。(其中,windows是运行在x86的cpu上,而树莓派是arm的cpu。)
树莓派上已经有gcc了,为什么还要用交叉编译这种方式呢?
因为,树莓派的运行速度是比较慢的,而我们的PC机运行速度比较快,如果编译都在树莓派上做,那么就只有慢慢等了。
教程目标:
在windows平台上,搭建出树莓派的交叉编译环境
教程器材及软件:
树莓派的板子。
SD卡(已经有镜像刷入)。
电源线及USB充电器。
cygwin。
有DHCP的网线。
步骤:
cygwin:
安装cygwin,途中需要看看,稍作选择。(其中,源选择163的可能会快一些。)
其中要特别选择一下ssh,还有mintty,以便之后要用。其他就默认吧。当然,如果漏过了什么也可以重新打开这个程序,选择想要的,再安装一遍。
这样装完了可能会出现一个错误,叫pango1.0.sh exit code 1之类的,那么你需要进入到c:/cygwin/etc下面建一个文件夹叫pango,然后再执行一遍上面的过程,应该就没事了。(这就是个bug,pango他们已经在改了)这样装完了,其实默认的gcc等一系列的东西是没有,如果想要可以回去再选择再安装。
arm tool-chain:
到https://github.com/IanLinsdell/Raspberrypi去下载编译好的工具链。其实是可以在cygwin中编译出工具链的,但是,听同学说,他在linux上花了2个小时和4G+硬盘空间去编译,那还不如下一个现成的。
下载后,解开压缩,有两个选择一个是hardfp,另一个是softfp。(目前,我也不知道有什么区别。我用的是hardfp,之后试了一下浮点好像没有问题。)将你的选择解压缩后放到cygwin下面,形成这样的目录结构。c:/cygwin//opt/cross/x-tools/arm-unknown-linux-gnueabi。
测试:
打开mintty,建一个hello.cpp,然后,写一个经典的helloworld,之后编译一下
arm-unknown-linux-gnueabi-g++ hello.cpp如果,好运的话,没有什么错误。(我之前尝试其他编译出来的工具链,不断地出错。)
用sftp命令将a.out上传到树莓派上,然后用ssh登录后运行它。
后记:
在这过程中,不断地出错,不断地上网去查,也不知道参考了多少。不能像linux下一样,有比较多的教程,剩下的只是等待的时间。也发现了许多开源软件的bug和问题,令人十分烦恼,比如下面这个。
但不管怎么样,我还是得感谢开源,感谢为开源做出贡献的人,感谢那些在网上分享出自己的知识的人。
参考:
备注:
此教程为浙江大学计算机学院嵌入式课程的实验二实验报告。
windows下的工具链 树莓派_Lab2树莓派交叉编译(windows平台)相关推荐
- windows下的工具链 树莓派_Windows下交叉编译Qt 5.14.2至树莓派平台 QEMU模拟树莓派...
前些天有几个项目都打算用树莓派+Qt进行开发,可以手头没有树莓派设备,而且由于硬盘空间不太够了,想直接在Windows下开发,于是经过一番折腾,就有了这篇文章.... 如果感觉编译要等很久.很难受,可 ...
- windows下的工具链 树莓派_7. windows下 influxDB 操作工具 InfluxDBStudio
Github地址 InfluxDBStudiohttps://github.com/CymaticLabs/InfluxDBStudio 版本发布地址 访问这里,查看相关的版本发布,如下: 可以看到, ...
- Windows下MetaMap工具安装
Windows下MetaMap工具安装 一.Main MetaMap安装 Prerequisties 12G磁盘空间 JAVA6 or newer JRE or SDK installed Downl ...
- Windows下实用工具汇总(更新……)
Windows下实用工具软件 文章目录 Windows下实用工具软件 一.系统工具 PowerToys: 快速启动(搜索工具):Everything, Listary, Wox 文件整理工具:Drop ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务
在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003,都可 ...
- 分析:windows下cmd默认的编码是ASCII编码 ,windows的中文环境下编码是GBK 方法一:在保存输出流保存的时候做一个对文字GBK编码,在输出到文件 如下 [python] view
分析:windows下cmd默认的编码是ASCII编码 ,windows的中文环境下编码是GBK 方法一:在保存输出流保存的时候做一个对文字GBK编码,在输出到文件 如下 [python] view ...
- ubuntu下 gcc工具链的安装
安装前的准备工作 ubuntu14.04中,一般将自定义的软件安装在/usr/local/目录下: arm s5pv210的工具链为arm_linux_2009q3.版本号为 工具链压缩包见下列网址: ...
- linux centos7 使用 crosstool-ng 构建 交叉编译 工具链 即构建各cpu架构平台的gcc编译器
简介 crosstool-ng,全称是crosstool Next Generation,即下一代crosstool.crosstool是个交叉编译器的制作工具,但是做的不够好,于是有人(Yann E ...
- 编译器工具链(二)——交叉编译
编译器工具链 编译器工具链包含各种其他的二进制文件,以帮助整个编译过程.在某些情况下,编译器本身也是工具链的一部分.以下列表被打包在工具链中: binutils(汇编器.链接器等) 各种编译器(gcc ...
- windows下文件共享以及通过网线在两台Windows电脑之间传数据
windows下文件共享设置: 1.首先在windows7环境下(windows8与windows10同) 2.点击任务栏右下角网络图标--打开网络和共享中心--更改高级共享设置 3.点击公用网络,启 ...
最新文章
- ORB-SLAM3中的3d-2d匹配
- 用STL给C++充电:第一部分
- Example - RCP Text Editor
- OpenCV BLOB检测和过滤区域的实例(附完整代码)
- 30 个实例详解 TOP 命令!
- 跨站脚本专题 XSS
- 数据结构系统学习(1)数据类型和数据结构的概念
- Oracle 查找并删除表中的重复记录
- 《python 编程从入门到实践》变量
- c++string类寻找子串
- 常用网页设计html特殊符号转义字符编码查询对照表
- R语言文本聚类实例——以《金庸全集》为例
- 彩灯控制器课程设计vhdl_基于VHDL的彩灯控制器的设计
- 代码编辑器CodeMirror及其简单的配置
- Qt 判断鼠标在某一控件上
- 超星问卷与麦客问卷自动填写(selenium+Chrome)
- 推荐一个免费服务器网站|亲测可用
- android 机器人gif,看完这15张GIF图 就再也不用担心机器人叛乱了
- 最新综述:深度学习图像三维重建最新方法及未来趋势
- 查看Window系统激活信息