【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南

摘要:
南齐技校林书豪1。简言之,配置文件交叉编译是在一个平台和另一个平台上生成可执行代码。本指南的主要内容是在非ARM架构服务器环境下构建ARM的GCC编译环境,并编译基于ARM架构的应用软件。除了与体系结构相关的编译选项外,它的使用方式与Linux主机上的GCC相同。构建交叉编译环境,即安装和配置交叉编译工具链。在此环境下,编译ARM架构下Linux系统所需的操作系统和应用程序,然后上传到鲲鹏弹性云服务器执行。

南七技校林书豪

1、简介

交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码。本指南主要内容为在非ARM架构服务器环境下搭建ARM的GCC编译环境,编译基于ARM架构的应用软件。交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的GCC相同。

搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出ARM架构下Linux系统所需的操作系统、应用程序等,然后再上传到鲲鹏弹性云服务器执行。

2、环境

类别

版本

配置

备注

ARM测试服务器

CentOS7.5

kc1.large.2 | 2vCPUs | 4GB

在华为云官网购买https://www.huaweicloud.com/product/ecs.html

x86编译服务器

CentOS7.5

2vCPUs|4GB|s3.large.2

 

1.在华为云官网购买https://www.huaweicloud.com/product/ecs.html

2.本地服务器部署Centos7.5

x86编译服务器

Ubuntu16.04

2vCPUs|4GB|s3.large.2

1.在华为云官网购买https://www.huaweicloud.com/product/ecs.html

2.本地服务器部署Ubuntu16.04

交叉编译器

arm-linux-gcc

 

5.5.0

https://releases.linaro.org/components/toolchain/binaries/5.5-2017.10/aarch64-linux-gnu/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz

https://bbs.huaweicloud.com/forum/static/ueditor/themes/default/images/spacer.gif

3、交叉编译器安装(x86服务器)

3.1.安装标准的C开发环境

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第2张

3.2.在/usr/local下建立名为ARM-toolchain的文件夹

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第3张

3.3 下载gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz

可以通过wget的形式下载

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第4张

 也可以从网页上下载后上传到/usr/local/ARM-toolchain目录下。交叉编译工具链的地址在https://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-linux-gnu/

下载gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz

下载完成后,解压tar包

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第5张

3.4.配置环境变量

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第6张

3.5.环境变量生效与测试

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第7张

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第8张

4、测试

4.1.在x86服务器交叉编译

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第9张

4.2.测试执行

【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南第10张

5、参考信息

     交叉编译指导:

 https://releases.linaro.org/components/toolchain/binaries/

https://blog.csdn.net/mars1743/article/details/20492285

转载自鲲鹏论坛

免责声明:文章转载自《【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇10分钟快速搞定pandasAndroid系统编程入门系列之广播接收者BroadcastReceiver实现进程间通信下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

红帽系列linux自行配置本地yum源

yum是红帽系列的一种包管理工具,能方便的自动解决安装包的依赖关系。以前用rpm包管理安装gcc时,rpm -ivh gcc.rpm ,一般会提示要安装gcc需要安装某某lib库,等你找到那个库的rpm时,又需要另外的...等。使用yum包管理器时,你只需要配置好yum源,只需要‘yum install gcc’命令执行,yum管理器会自动帮你解决好依赖关...

小程序之模板消息

使用模板消息 获取模板 id 登录https://mp.weixin.qq.com获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用,详见模板审核说明 页面的 <form/> 组件,属性report-submit为true时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId,用于发送模板消息。或者当用户完成支...

opencv+opencv_contrib 人脸识别和检测 python开发环境快速搭建(30分钟)图文教程

很多朋友为了学习python、ML(机器学习)、DL(深度学习)、opencv等花费了大量时间配置安装环境(一个朋友花了4天时间才配置好)各种搜索、下载、安装配置,出问题等。 市面上的配置资料很多,选择也成为了难题,实际上呢,很多高效的方法提供给了我们,比如一些集成套件等。本文基于对大量资料的查询、对比和验证,发现利用现有资源,搭建集成开发环境约30...

STM32 SWD下载口无法下载的原因和解决办法

1.SWD的下载口在程序中被禁用,IO口被设置为普通IO口 2.芯片被锁,原因有可能是程序执行了不正确的访问导致芯片被锁 3.供电不正常 4.SWD烧了 解锁原因: 在下载程序的时候有时候会发生错误导致内核停止工作,这就意味着内核被锁,这时候已经无法把程序下载进去了。 解决的办法就是用ISP方式下载程序进去冲刷一遍,然后就好用了。 除非使能了读保护,不...

FiddlerEverywhere安装与使用

1.使用介绍 fiddler基本功能和 fiddler everywhere 功能都差不多,但是fiddler everywhere又多了一些postman的功能,可以简单理解 fiddler everywhere = fiddler + postman。   2.下载地址 官网下载地址:https://www.telerik.com/download...

CentOS7 安装 OpenCV 的一些问题解决办法

  由于强迫症,实在受不了root权限的旧gcc才能使用boost而普通权限却是最新版gcc,经过一番折腾后,终于把配置全部弄好了,实际上就只需要把新版gcc的各个文件放到系统找到旧gcc的地方,并建立新版的gcc、g++的软链接就可以覆盖系统旧版的了,然后再重新编译boost即可。   弄好之后,我又开始折腾安装OpenCV了,可能由于最新版的gcc做了...