IMX6U Qt 开发环境

news2025/1/14 23:35:26

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言

一、交叉编译

1. 安装通用 ARM 交叉编译工具链

2. 安装 Poky 交叉编译工具链

二、编译出厂源码 

1. U-boot

2. 内核和模块

3. 编译出厂 Qt GUI 综合 Demo



前言

搭建编译环境


提示:以下是本篇文章正文内容,下面案例可供参考

一、交叉编译

下面选择的 Poky 编译器是 Yocto 项目编译出的。

1. 安装通用 ARM 交叉编译工具链

该部分在裸机开发就安装好了,这里再写一遍。

Linaro GCC 编译器下载地址如下: https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/

选择下载 arm-linux-guneabihf,下载地址如下:

Linaro Releases

下完后,通过 FileZilla 传到 ubuntu 里,自行创建 linux/tool 文件夹。

然后,创建目录:

sudo mkdir /usr/local/arm

将交叉编译器复制到该目录下

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f

然后进入该目录,解压工具

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

修改环境变量

sudo vi /etc/profile

在最后面输入

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

然后重启客户机,到此交叉编译器安装成功。

可能有些环境缺失必要的依赖库:

sudo apt-get install lsb-core lib32stdc++6

最后,我们查看是否安装成功

2. 安装 Poky 交叉编译工具链

将 fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 拷贝到 Ubuntu 中。并给予权限,最后安装。

chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh

执行脚本时,连续2次回车确认,然后再输入用户密码即可。脚本默认是安装到 /opt 下。

使能环境

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 

使用 arm-poky-linux-gnueabi-gcc -v 指令可以查看 gcc 版本,表明环境变量已经生效。

要使用此编译器编译内核和 U-boot 还需要安装以下软件

sudo apt-get update // 先更新软列表(本地数据库) 
sudo apt-get install lzop // 安装 lzop 工具,用于生成压缩或解压镜像 
sudo apt-get install libncurses* // 安装 ncurese 相关库,U-boot 或者内核菜单显示时需要

二、编译出厂源码 

1. U-boot

创建目录,并将 U-boot 源码解压到该目录下

mkdir -p IMX6/uboot-imx-2016.03-2.1.0 
tar xf uboot-imx-2016.03-2.1.0-g0ae7e33-v1.7.tar.bz2 -C IMX6/uboot-imx-2016.03-2.1.0/ 
cd IMX6/uboot-imx-2016.03-2.1.0 
ls 

执行 bulid.sh 即可编译 U-boot 源码。

编译完成后查看当前目录下的 tmp 文件夹编译的文件目标,*imx 是已经添加头部信息的 U-boot 镜像,可直接使用 dd 指令烧写到 TF 卡和开发板上的 eMMC 储存设备。

2. 内核和模块

mkdir -p IMX6/linux-imx-4.1.15-2.1.0 
tar xf linux-imx-4.1.15-2.1.0-g3dc0a4b-v2.7.tar.xz -C IMX6/linux-imx-4.1.15-2.1.0/ 
cd IMX6/linux-imx-4.1.15-2.1.0 
ls 

解压完,运行 build.sh 

3. 编译出厂 Qt GUI 综合 Demo

将 QDesktop 拷贝到 Ubuntu 家目录下。

进入到 QDesktop 目录下,

使能交叉编译环境

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

执行 qmake,生成 Makefile,然后 make -j 16。编译过和中有报警告,可忽略。编译完成如下图,编译得到的 QDesktop 文件,同时拷贝 QDestkop 和 src 文件夹,可以直接拷贝到出厂系统下直接执行./QDestkop 即可。

三、拷贝文件

准备一个示例,例如,控制 LED 的程序。

使能交叉编译环境后,qmake,make。拷贝可执行文件和 src 文件夹(如果有)到 U盘里。

用MobaXterm连接开发板时,注意串口驱动要安装CH340。

将U盘插入开发板,用指令 df 查看挂载

/dev/sda1为U盘的挂载节点,挂载目录为/run/media/sda1。

拷贝该文件到 /home/root 下

安全弹出 U盘,请用 sync 命令,来同步数据,然后退出挂载。

原来桌面的 GUI 系统,可以通过设置中退出桌面,然后就能实验 led 灯了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构与算法之链表: LeetCode 92. 反转链表 II (Ts版)

反转链表 II https://leetcode.cn/problems/reverse-linked-list-ii/description/ 描述 给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 示例 1 输入&…

【Uniapp-Vue3】@import导入css样式及scss变量用法与static目录

一、import导入css样式 在项目文件中创建一个common文件夹&#xff0c;下面创建一个css文件夹&#xff0c;里面放上style.css文件&#xff0c;编写的是公共样式&#xff0c;我们现在要在App.vue中引入该样式。 在App.vue中引入该样式&#xff0c;这样就会使样式全局生效&#…

MySQL中的四种表联结

目录 1、联结、关系表 &#xff08;1&#xff09;关系表 &#xff08;2&#xff09;为什么使用联结 2、如何创建联结 &#xff08;1&#xff09;笛卡尔积&#xff08;叉联结&#xff09;--用逗号分隔 &#xff08;2&#xff09;where子句的重要性 &#xff08;3&#xff…

DVWA靶场CSRF漏洞通关教程及源码审计

目录标题 CSRFlow源码审计 medium源码审计 high源码审计 impossible源码审计 CSRF low 先修改密码 看到地址栏 复制在另一个网页打开 成功登录 源码审计 没有任何过滤措施&#xff0c;很危险&#xff0c;并且采用了不安全的md5加密 <?phpif( isset( $_GET[ Change ] )…

JVM之垃圾回收器G1概述的详细解析

G1(并发) G1 特点 G1&#xff08;Garbage-First&#xff09;是一款面向服务端应用的垃圾收集器&#xff0c;应用于新生代和老年代、采用标记-整理算法、软实时、低延迟、可设定目标&#xff08;最大 STW 停顿时间&#xff09;的垃圾回收器&#xff0c;用于代替 CMS&#xff0…

宝塔面板 申请证书后 仍然提示不安全

证书显示有效&#xff0c;但是网站显示不安全 导致的原因是引入静态文件使用的是HTTP&#xff0c;查看方法为F12打开console控制台 可以看到静态文件全部都是HTTP 网站采用wordpress搭建&#xff0c;基于问题解决&#xff0c;其他方式搭建也是一样&#xff0c;处理掉所有的H…

【1】Word:邀请函

目录 题目 文字解析 流程 题目 文字解析 考生文件夹☞Word.docx☞一定要用ms打开&#xff0c;wps打开作答无效☞作答完毕&#xff0c;F12或者手动另存为&#xff08;考生文件夹&#xff1a;路径文件名&#xff09; 注意&#xff1a;一定要检查&#xff0c;很有可能你前面步…

Docker安装和卸载(centos)

Docker安装和卸载 一&#xff0c;已安装Docker&#xff0c;卸载Docker 1.方法一 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine​ 如果出现以下提示就证明没卸载…

JVM:ZGC详解(染色指针,内存管理,算法流程,分代ZGC)

1&#xff0c;ZGC&#xff08;JDK21之前&#xff09; ZGC 的核心是一个并发垃圾收集器&#xff0c;所有繁重的工作都在Java 线程继续执行的同时完成。这极大地降低了垃圾收集对应用程序响应时间的影响。 ZGC为了支持太字节&#xff08;TB&#xff09;级内存&#xff0c;设计了基…

ASP.NET Core - 日志记录系统(二)

ASP.NET Core - 日志记录系统&#xff08;二&#xff09; 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲&#xff0c;所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…

无源器件-电容

电容器件的参数 基本概念由中学大学物理或电路分析内容获得&#xff0c;此处不做过多分析。 电容的产量占全球电子元器件产品的40%以上。 单位&#xff1a;法拉 F&#xff1b;1F10^6uF&#xff1b;电路中常见的104电容就是10*10^4pF100nF0.1uF C为电容&#xff0c;Rp为绝缘电…

云平台一键部署【Video-Background-Removal】视频换背景,无任何限制,随意换

Video-Background-Removal 是一款革命性的视频背景替换工具&#xff0c;旨在让用户轻松实现视频背景的快速更换。无论你是专业创作者还是普通用户&#xff0c;这款软件都能让你在几秒钟内改变背景&#xff0c;完全消除限制&#xff0c;随心所欲&#xff0c;随时随地想换就换&am…

HCIP笔记1--IP路由基础回顾、BFD单臂回声、OSPF基础

1. 路由基础回顾 概念 AS(Aotonomous System): 自治系统&#xff0c;由同一机构管理的路由器集合。LAN(Local Area Network): 局域网&#xff0c;用户所使用的网络WAN(Wideless Area Network): 广域网&#xff0c;运营商网络广播域&#xff1a;一个广播帧能在网络中到达的所有…

【Linux网络编程】数据链路层 | MAC帧 | ARP协议

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 &#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系…

微软与腾讯技术交锋,TRELLIS引领3D生成领域多格式支持新方向

去年 11 月&#xff0c;腾讯推出 Hunyuan3D 生成模型&#xff0c;是业界首个同时支持文字和图像生成 3D 的开源大模型。紧接着不到一个月&#xff0c;微软便发布了全新框架 TRELLIS&#xff0c;加入 3D 资产生成领域的竞争中。TRELLIS 支持多格式输出&#xff0c;包括辐射场、3…

【爬虫】单个网站链接爬取文献数据:标题、摘要、作者等信息

源码链接&#xff1a; https://github.com/Niceeggplant/Single—Site-Crawler.git 一、项目概述 从指定网页中提取文章关键信息的工具。通过输入文章的 URL&#xff0c;程序将自动抓取网页内容 二、技术选型与原理 requests 库&#xff1a;这是 Python 中用于发送 HTTP 请求…

设计模式-结构型-组合模式

1. 什么是组合模式&#xff1f; 组合模式&#xff08;Composite Pattern&#xff09; 是一种结构型设计模式&#xff0c;它允许将对象组合成树形结构来表示“部分-整体”的层次结构。组合模式使得客户端对单个对象和组合对象的使用具有一致性。换句话说&#xff0c;组合模式允…

js:正则表达式

目录 正则表达式的语法 定义 检测 检索 元字符 边界符 量词 字符类 表单判断案例 修饰符 过滤敏感词 正则表达式是一种用于匹配和操作文本的强大工具&#xff0c;它是由一系列字符和特殊字符组成的模式&#xff0c;用于描述要匹配的文本字符组合模式 正则表达式是一…

PHP数据过滤函数详解:filter_var、filter_input、filter_has_var等函数的数据过滤技巧

PHP数据过滤函数详解&#xff1a;filter_var、filter_input、filter_has_var等函数的数据过滤技巧&#xff0c;需要具体代码示例 在 Web 开发中&#xff0c;数据过滤是非常重要的一环。过滤用户输入的数据可以保护我们的应用程序免受潜在的安全威胁。PHP 提供了一系列强大的数…

QT跨平台应用程序开发框架(1)—— 环境搭建

目录 一&#xff0c;关于QT 二&#xff0c;关于应用程序框架 三&#xff0c;环境搭建 3.1 预备 3.2 下载Qt SDK 3.3 安装Qt SDK 3.4 配置环境变量 3.5 认识一些重要工具 四&#xff0c;Qt Creator 的基本使用 4.1 创建项目 4.2 代码解释 一&#xff0c;关于QT 互联网…