ubuntu20.04搭建arm交叉编译环境

这篇具有很好参考价值的文章主要介绍了ubuntu20.04搭建arm交叉编译环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.下载arm交叉编译程序

  • 源码下载地址:Downloads | GNU-A Downloads – Arm Developer

要根据目标系统选择编译器版本,我的主板:

aarch64bit体系结构(arm 64bit),linux内核GNU操作系统=GNU/Linux操作系统(简称linux)

大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中。

小端模式(Little-endian),是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

经过网上分享的代码测试发现我的是小端。

(在我对操作系统及内核不了解的情况下写的是arm64位小端

所以选择图中位置

(aarch64-none-linux-gnu):arm64位 linux裸机

(aarch64-none-linux-gnu):arm64位 linux小端

(aarch64_be-none-linux-gnu):arm64位 linux大端

ubuntu20.04搭建arm交叉编译环境​​

  •  解压文件
tar -xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz
  • 拷贝文件到合适的位置(我的位置: /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu)
  • 目录内容如下

ubuntu20.04搭建arm交叉编译环境​​

 该内容用于配置qt内部的qmake.conf文件

​2.编译arm的qt项目源码

  • qt源码下载路径:https://download.qt.io/archive/qt/5.12/5.12.12/single/
  • 解压文件
tar -xvf qt-everywhere-src-5.12.12.tar.xz 
  • 拷贝文件到合适的位置(我的位置:/home/huhu/third_part/qt-everywhere-src-5.12.12    /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu)
  • 进入/home/huhu/third_part/qt-everywhere-src-5.12.12/qtbase/mkspecs目录下找到linux-aarch64-gnu-g++ 拷贝到linux-none-aarch64-gnu-g++:
cp -r linux-aarch64-gnu-g++ linux-none-aarch64-gnu-g++
  • 进入拷贝后的linux-none-aarch64-gnu-g++文件夹编辑qmake.conf文件结果如下:
#
# qmake configuration for building with aarch64-none-linux-gnu-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = aarch64-none-linux-gnu-gcc
QMAKE_CXX               = aarch64-none-linux-gnu-g++
QMAKE_LINK              = aarch64-none-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-none-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = aarch64-none-linux-gnu-ar cqs
QMAKE_OBJCOPY           = aarch64-none-linux-gnu-objcopy
QMAKE_NM                = aarch64-none-linux-gnu-nm -P
QMAKE_STRIP             = aarch64-none-linux-gnu-strip
load(qt_config)

以上内容取决于交叉编译软件( /opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin)文件夹下程序名

  • 创建编译输出文件夹,并增加权限
mkdir arm-qt
chmod +x arm-qt/
  • 执行configure生成Makefile文件,命令如下:
./configure -opensource -prefix /home/huhu/third_part/qt-everywhere-src-5.12.12/arm-qt -xplatform linux-none-aarch64-gnu-g++ -release -no-cups -qt-zlib -qt-libjpeg -qt-libpng  -no-openssl -no-pch -confirm-license -no-opengl

-prefix :编译完成文件输出目录

-xplatform:编译平台(/home/huhu/third_part/qt-everywhere-src-5.12.12/qtbase/mkspecs目录下新修改的qmake.conf所在的文件夹名称)

ubuntu20.04搭建arm交叉编译环境

 看到下图内容表示Makefile文件生成成功

  • 执行编译:
  • make
  • make install

3.qt安装与qtcreator交叉编译配置:

  • 下载路径:Index of /archive/qt/5.14/5.14.1
  • 修改权限
sudo chmod 777 qt-opensource-linux-x64-5.14.1.run
  • 执行安装
./qt-opensource-linux-x64-5.14.1.run

安装过程参考:嵌入式Linux下的Qt Creator环境搭建_安迪西的博客-CSDN博客_qt creator linux

我构建成功的文件名为button_test,在路径/home/huhu/third_part/qt_project/build-button_test-arm_linux-Debug下

ubuntu20.04搭建arm交叉编译环境

 4. 测试

启动arm主板,使用ifconfig获得主板ip地址,使用scp 将构建好的项目发送到arm主板上

scp 要传输的文件地址 用户名@ip地址:目标地址

scp ./button_test huhuarm@192.168.2.10:/home/huhuarm/Desktop/

传输成功后在arm上双击button_test文件运行,完成


问题1:

ubuntu20.04搭建arm交叉编译环境​​

 解决办法:安装build 的组件
sudo apt-get install build-essential

问题2:

ubuntu20.04搭建arm交叉编译环境​​

 因为我没有编译opengl模块,所以编译命令增加-no-opengl 参数

问题6:

ubuntu20.04搭建arm交叉编译环境

原因是ubuntu20.04默认安装了python3,所以需要给python创建一个软连接到python,这样命令行使用python才能成功调用到python3文章来源地址https://www.toymoban.com/news/detail-423364.html

sudo ln -s /usr/bin/python3 /usr/bin/python

到了这里,关于ubuntu20.04搭建arm交叉编译环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu20.04 交叉编译Paddle-OCR

    参考链接: https://blog.csdn.net/sz76211822/article/details/130466597?spm=1001.2014.3001.5501 参考链接: https://blog.csdn.net/sz76211822/article/details/130461683?spm=1001.2014.3001.5501 1.将Paddle-Lite编译好的cxx文件夹放置到PaddleOCR/deploy/lite目录下 2.将编译好的opencv文件夹放置到cxx目录下 3.除了拷贝过来的源代码

    2024年02月02日
    浏览(51)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv,用于 嵌入式 aarch64 平台 可以直接从 github 下载 release 版本或者 使用 git clone 最新的 opencv 仓库 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    浏览(67)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv 静态库

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv 生成静态库(.a),用于 嵌入式 aarch64 平台。 参考上一篇 ubuntu 20.04 aarch64 平台交叉编译 opencv 默认会生成 动态库(so),可以通过cmake 配置 -DBUILD_SHARED_LIBS=OFF 关闭动

    2024年02月08日
    浏览(63)
  • Ubuntu20.4配置arm交叉编译环境

    我是在虚拟机中配置的,如果你的嵌入式设备足够完成自己的编译,可以不考虑虚拟机的。 新安装的Ubuntu20.04系统请先执行以下代码 到aarch64下载对应的aarch64的base镜像。 之后执行如下命令,创建armsys文件夹,之后将刚下载的镜像拷贝到该文件夹下并且解压 安装一些必要的软

    2024年02月06日
    浏览(53)
  • Ubuntu20.04_x86交叉编译aarch64版本的tslib1.22步骤

    编译环境:小米笔记本+Windows10+VMware17 +Ubuntu20.04虚拟机 编译目标:需要生成aarch64环境下对应的触摸屏驱动。 编译步骤: 1、下载aarch64-linux-gnu编译器,下载地址为:https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.x

    2024年02月16日
    浏览(47)
  • Linux Server 20.04 Qt5.14.2配置Jetson Orin Nano Developer Kit 交叉编译环境

    最近公司给了我一块Jetson Orin Nano的板子,先刷了系统(1.Jetson Orin Nano Developer Kit系统刷机)又让我搭建交叉编译环境,所以有了下面的文章 1.1设备环境 1.1.1 Server: 1.1.2 Jetson Orin Nano : 1.2 Qt相关下载地址 1.2.1 Qt源码下载 Qt源码下载(最好下载tar.xz,tar格式可能在windows下编辑过,后期

    2024年02月12日
    浏览(47)
  • Ubuntu上搭建ARM Linux GCC交叉编译环境

    在Ubuntu操作系统上搭建ARM Linux GCC交叉编译环境是为了能够在x86架构的主机上编译运行适用于ARM架构的程序。本文将介绍详细的步骤以及相应的源代码。 安装必要的软件包 首先,我们需要安装一些必要的软件包,包括GCC、GNU Binutils和GDB。打开终端,运行以下命令来安装这些软

    2024年02月02日
    浏览(53)
  • RK3588开发板编译环境Ubuntu20.04编译配置增加交换内存

    迅为提供的编译环境 Ubuntu20.04 默认配置了交换内存是 9G,如果在编译过程中,因内 存不够而编译报错,可以参考本小节进行设置。 这里举例分配 5G 交换内存。 在开始之前,使用命令检查一下您的 ubuntu 的 swap 分区。 sudo swapon --show 通过以下命令创建一个用于 swap 的文件 su

    2024年02月11日
    浏览(44)
  • ubuntu环境下gcc-arm交叉编译环境的搭建(ARM32 8.2)

    1.在arm官网下载gcc-arm 8.2的版本(下载arm32架构的x64上运行的版本),网址如下 https://developer.arm.com/downloads/-/gnu-a 图1 从ARM官方下载aarch32架构的交叉编译器   2.拷贝下载的交叉编译器到ubuntu系统的/opt/pkg/gcc_linaro目录,如下图所示: 图2 拷贝arm交叉编译器到gcc安装目录   3.解压gcc到

    2024年02月09日
    浏览(51)
  • arm鲁班猫lubanCat rk3588 ubuntu20.04下源码编译安装qt5.12.5

    ubuntu-18.04上通过源码来编译及安装Qt-5.12库 QT官方线上文档for linux qt源码下载地址 进入下面目录下载 【new_archive/qt/5.12/5.12.5/single/qt-everywhere-src-5.12.5.tar.xz】 将压缩包放到Ubuntu某目录,并进入解压: 初步解压出:qt-everywhere-src-5.12.5.tar 最终得到:qt-everywhere-src-5.12.5 或者【右键】

    2024年04月11日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包