建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
150240hnc3spnhbuatuohj.jpg 汇聚鲲鹏领域技术专家大咖

南七技校林书豪

发帖: 36粉丝: 9

级别 : 版主

发消息 + 关注

发表于2019-8-15 14:44:49 4181 6
直达本楼层的链接
楼主
显示全部楼层
【鲲鹏翱翔】鲲鹏服务器GCC交叉编译环境搭建指南

1、简介

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

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

2、环境

类别

版本

配置

备注

ARM测试服务器

CentOS7.5

ARM通用计算增强型 | rc3.xlarge.4 | 4vCPUs | 14GB

华为云官网正在公测

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

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

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

执行以下命令:

Ubuntu apt-get install build-essential

CentOS yum groupinstall Development Tools

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

mkdir   /usr/local/ARM-toolchain

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

    可以通过wget的形式下载

cd   /usr/local/ARM-toolchain

wget 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

     也可以从网页上下载后上传到/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

tar -xvf   gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz

3.4.配置环境变量

修改配置文件,在配置文件的最后一行加入路径配置:

Ubuntuvim /etc/bash.bashrc

# Add ARM toolschain path

PATH= /usr/local/ARM-toolchain/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin:"${PATH}"

CentOS vim /etc/profile

# Add ARM toolschain path

export   PATH=$PATH:/usr/local/ARM-toolchain/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin

3.5.环境变量生效与测试

执行以下命令:

Ubuntusource /etc/bash.bashrc

         aarch64-linux-gnu-gcc  -v

执行上面的命令,显示arm-linux-gnueabi-gcc -v信息和版本

CentOS source /etc/profile

         aarch64-linux-gnu-gcc  -v

执行上面的命令,显示arm-linux-gnueabi-gcc -v信息和版本

交叉编译.png

4、测试

4.1.x86服务器交叉编译

1、创建hello.c

执行:vim hello.c

#include <stdio.h>

int main(void)

{

            printf("hello linux\n");

          return   0;

}

2.交叉编译

执行:aarch64-linux-gnu-gcc -o arm-hello hello.c

4.2.测试执行

1、在x86服务器上测试

执行:chmod +x arm-hello

执行:./arm-hello

页面显示:-bash: ./arm-hello: cannot   execute binary file

 

2. 拷贝执行文件至ARM服务器

执行:chmod +x arm-hello

执行:./arm-hello

页面显示:hello linux

 

5、参考信息

     交叉编译指导: https://releases.linaro.org/components/toolchain/binaries/

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

 

6、FAQ

     待补充


举报
分享

分享文章到朋友圈

分享文章到微博

蓝书签

发帖: 63粉丝: 21

级别 : 外部版主

发消息 + 关注

发表于2019-12-31 13:15:14
直达本楼层的链接
沙发
显示全部楼层

通过参考信息对交叉编译有了一个初步的认识,整理的不错

点赞 评论 引用 举报

chenzeshi

发帖: 3粉丝: 0

级别 : 注册会员

发消息 + 关注

发表于2020-1-5 19:47:46
直达本楼层的链接
板凳
显示全部楼层

图文并茂,对新手搭建环境很有帮助

点赞 评论 引用 举报

五湖四海@银河护卫队

发帖: 85粉丝: 24

级别 : 版主

发消息 + 关注

发表于2020-2-12 15:04:49
直达本楼层的链接
地板
显示全部楼层

收藏~

点赞 评论 引用 举报

阿奇@汪汪队

发帖: 55粉丝: 32

级别 : 版主

发消息 + 关注

发表于2020-2-12 15:40:30
直达本楼层的链接
5#
显示全部楼层

好贴好贴

点赞 评论 引用 举报

zhangtian

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020-4-1 13:37:04
直达本楼层的链接
6#
显示全部楼层

这个工具链可以打包到百度云盘吗,下载不下来,谢谢

点赞 评论 引用 举报

树人@银河护卫队

发帖: 8粉丝: 5

级别 : 版主

发消息 + 关注

发表于2020-4-27 17:32:12
直达本楼层的链接
7#
显示全部楼层

学习了,收藏!!!

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册