一、交叉编译工具配置

在Linaro官网下载交叉编译工具链:https://www.linaro.org/downloads/

选择arm developer website
根据自己的平台下载对应的交叉编译工具链,我用的是PC环境虚拟机下的UBUNTU,所以选择

x86_64 Linux hosted cross compilers;

目标是用于ZYNQ linux平台,所以选择

AArch32 target with hard float (arm-linux-none-gnueabihf)

(如果是ultrascale+平台,虽然和zynq很像,但是需要选择AArch64 GNU/Linux target (aarch64_be-none-linux-gnu))
最终下载得到
gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf.tar.xz文件
放进虚拟机里解压。

对于交叉编译工具链的讲解可参考以下文章,感觉写的挺细致的
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别_凌风探梅的专栏-CSDN博客

二、配置arm交叉编译器arm-linux-gnueabihf-,设置环境变量

export PATH=$PATH:/home/用户名/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin

上述为临时增加环境变量,关闭teminal后就无效了,所以在在 “/home/用户名” 目录下的 “.bashrc” 隐藏文件或直接在 “/etc/profile”文件中增加以上语句

三、更换阿里云的源

sudo vim /etc/apt/sources.list

http://mirrors.aliyun.com/ubuntu/dists/
该地址为阿里云的源,由于我用的是ubuntu20.04 lts,代号为focal,所以更改阿里云源如下所示。

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

更改后输入以下指令更新交叉编译工具所用的依赖库

sudo apt-get update

此时提示错误,愿意是需更改dns,编辑

sudo vi /etc/resolv.conf

并删除原有的(必须删除!)

nameserver 127.0.0.53

添加

nameserver 8.8.8.8
nameserver 8.8.4.4

(如果vi过程中,出现滚动鼠标滑轮、或按方向键,出现自动输入字母AB之类的,直接更新一下vi就可以了 apt-get install vim)

四、安装32位依赖库

此时若直接make,如编译uboot,在u-boot-master文件夹下使用make menuconfig编译u-boot一般会各种报错,是因为其依赖库未安装。

#安装各种库

apt-get install lib32z1 lib32ncurses5-dev lib32stdc++6 libbz2-1.0:i386
apt-get install libssl-dev
apt-get install device-tree-compiler
apt-get install libncurses5-dev
apt-get install u-boot-tools
apt-get install bison –y
apt-get install flex

五、完成后可通过arm-none-linux-gnueabihf-gcc -v查看交叉编译链的版本

Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/innocent/zynq/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin/../libexec/gcc/arm-none-linux-gnueabihf/10.3.1/lto-wrapper
Target: arm-none-linux-gnueabihf
Configured with: /data/jenkins/workspace/GNU-toolchain/arm-10/src/gcc/configure --target=arm-none-linux-gnueabihf --prefix= --with-sysroot=/arm-none-linux-gnueabihf/libc --with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-10/build-arm-none-linux-gnueabihf/install//arm-none-linux-gnueabihf/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-10/build-arm-none-linux-gnueabihf/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-10/build-arm-none-linux-gnueabihf/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-10/build-arm-none-linux-gnueabihf/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-10/build-arm-none-linux-gnueabihf/host-tools --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb --with-arch=armv7-a --with-pkgversion='GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.3.1 20210621 (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29))

linaro交叉编译工具安装配置相关推荐

  1. 龙芯交叉编译环境搭建之交叉编译工具链配置

     龙芯交叉编译环境搭建之 交叉编译工具链配置 1 概括 本文档适用于龙芯3A3000/4000 UEFI代码编译,重点指导交叉编译环境的搭建方法,对系统安装不做介绍. Ubuntu系统(版本为ubun ...

  2. 在ubuntu用arm ds-5社区版配合linaro交叉编译工具开发android linux应用

    下载开发工具arm ds-5社区版,并安装 下载交叉编译工具linaro, 也可以使用ds-5自带的交叉编译工具链(需要旗舰版本), sourcery , Android NDK bundle或者自行 ...

  3. 制定交叉编译工具_配置交叉编译工具链-嵌入式Linux

    注意:使用我们提供的Ubuntu映象文件时,请按照我们的目录结构,手动设置交叉编译工具链以及编译的架构环境变量配置,(建议配置为永久生效),这里我们提供了两种交叉编译工具链,分别是buildroot构 ...

  4. Ubuntu下android-4.0.3_r1源码下载,阅读工具安装配置,源码编译详解

    备注: android源码动辄6.7G,新版本的则10G左右,所以要有足够大的硬盘空间. android应用开发环境搭建:http://www.cnblogs.com/pharen/archive/2 ...

  5. Katago+Sabaki个人围棋AI工具安装配置

    作为亲身经历第一届中日围棋擂台赛的菜鸟老棋迷和1995年拥有第一台自己电脑的IT从业人员,AlphaGo出现后经历了两年多的震惊.关注.学习.羡慕,直到出现了Leela和Katago等开源围棋AI,终 ...

  6. 飞腾交叉编译环境搭建之交叉编译工具链配置

    1 概括 本文档适用于国产飞腾平台FT-2000/4 (D2000). u-boot.uefi.kernel代码编译,重点指导交叉编译环境的搭建方法,对系统安装不做介绍. Ubuntu系统(版本为ub ...

  7. codebrag审核代码工具安装配置

    1.说明 codebrag是一款审核代码的工具,安装部署很简单.现在网上有很多代码审核工具,收费的开源的一大堆,开源的比较好的是Facebook的phabricator,这款工具功能非常强大,利用得当 ...

  8. go环境搭建开发工具安装配置

    windows安装 下载安装 Go官网下载地址:https://golang.org/dl/ 由于网络问题大家可能打开有些慢,或者下载失败.大家也可以从下边下载. 下载执行后大家直接一路下一步就行了. ...

  9. puppet自动化运维工具安装配置

    转自:http://369369.blog.51cto.com/319630/785895/ 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.h ...

  10. sonarQube(代码扫描工具)安装配置

    sonarqube使用介绍@[TOC]sonarqube使用介绍 sonarQube使用介绍 本文不讲解 什么是sonarQube,请自行了解 sonarQube安装 sonarQube分为2个 部分 ...

最新文章

  1. AI科普微视频丨人类的智能是如何产生的?
  2. 1.1.3 性能指标-速率 带宽 吞吐量
  3. Java 基础 - 如何重写equals()
  4. 「日常训练」Alternative Thinking(Codeforces Round #334 Div.2 C)
  5. IDEA创建自定义模板
  6. uboot 与系统内核中 MTD分区的关系
  7. .NET Framework VS .NET Core
  8. Bootstrap 按钮菜单的尺寸
  9. macos vmware 镜像_苹果电脑用vMware安装Windows系统
  10. vim 配置_一步步配置VIM(3)-与latex结合
  11. 西安交大计算机技术考研初复试,西安交大计算机考研初试、复试信息
  12. java报错: 类重复: newemission.calculate_java当中的继承(一)
  13. python实现的 AWGN信道下QPSK调制信号的平均相位估计
  14. 游戏服务器开发技术栈
  15. 编程必备的最基本5种算法思想
  16. 物联网技术应用成商业市场盈利关键
  17. java并发包和类总结-JUC总结
  18. 如何跨网络远程操作另一台计算机,如何远程控制另一台电脑?
  19. Layui treeGrid
  20. 快要圣诞节啦,快去给小伙伴们分享漂亮的圣诞树吧

热门文章

  1. 26-TeamBuilding-团队建设
  2. 测试质量报告-为了更好的下一个
  3. 计算N阶行列式的详细讲解(C语言)(降阶法)(函数递归)
  4. 人工智能之父图灵头像将登上新版50英镑钞票
  5. 分布式事务管理之分布式事务框架TX-LCN
  6. 2.6 如何在新建虚拟机安装搜狗输入法
  7. 编程之美学习笔记——数字相关(一)
  8. JSPL中用fn:contains()判断list中是否包含某个值
  9. rpg学院 unity_Unity3d - RPG项目学习笔记(一)
  10. 怎么恢复oracle的包,Oracle的恢复管理器及DBMS_JOB包分析