Imx6ull开发板移植QT



Imx6ull开发板移植QT

1.搭建嵌入式开发环境

我用的是百问网提供的imx6ull开发板和文档教程来学习和总结吧,首先得先把环境搞好,100ask_imx6ull_mini-sdk的文件夹里面的内容可以参考我之前写的文章《下载BSP及配置工具链》

在这里插入图片描述
在这里插入图片描述

vim ~/.bashrc该文件中添加环境变量:

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/用户名/100ask_imx6ull_mini-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin

在这里插入图片描述

设置完毕以后让环境变量生效:

source ~/.bashrc

在这里插入图片描述

由于我用QT会比较多一些,所以我会在100ask_imx6ull-qt defconfig这个配置文件的基础上做增项,编译和配置命令如下:

  1. cd Buildroot…类的文件,可能不同时间生成的Buildroot…文件不一样。

  2. make clean

  3. make 100ask_imx6ull_mini_ddr512m_systemV_qt5_defconfig

具体的名字要可以在搜索Buildtoot…文件下的以100ask_imx6ull开头的名字,找出所要make的defconfig文件。

在这里插入图片描述

4.make all

2.安装QT开发环境
2.1在ubuntu18.04下安装QT开发环境:
sudo apt-get install cmake qt5-default qtcreator

如果在安装的过程中出现失败,请重新尝试apt-get update后再进行重新安装,不然的话就更新源吧!安装完毕以后,在终端敲qt然后按Tab键就可以看到qt已经成功被安装到系统里了:

在这里插入图片描述

2.2配置交叉编译环境
2.2.1配置交叉编译环境

点击工具 ->选项 ->编译器。然后分别给Manual的c和c++ 添加编译工具。这部分直接用百问网提供的交叉编译工具就可以啦,这是我的路径。在弹出的对话框中填写以下内容: Compiler path , Make path 和 ABI;填写完成后,点击 Apply进行保存。

2.3添加 QT 版本:

在执行“make 100ask_imx6ull_mini_ddr512m_systemV_qt5_defconfig”配置后,再执行“make all”可以编译出 QT 的 SDK 包。可以在/home/用户名/100ask_imx6ull-sdk 下执行这个命令找到 qmake,记住它的目录:find -name qmake

在 QT 设置界面中,选择 Qt Version 标签,在右侧点击“Add…”,会弹出对话框,切换目录到选择 qmake 文件后,点击 open 按钮,设置完成之后,点击Apply按钮保存。

**注意:**qmake 文件是 buil1droot 编译根文件系统后生成的,文件在 buildroot目录下,可以通过搜索qmake来找出。

在这里插入图片描述

在这里插入图片描述

2.3kits选择

继续选择上边的 Kits 标签,点击右侧 Add,填写相应内容:

1.Name:输入 100ask_imx6ull

2.Sysroot:输入交叉编译工具链的目录

3.compiler:c 和 c++这两个选择框里,都选择 custom,这个custom是2.2.1节编译器里面添加c和c++的命名。

4.Debugger:选择 None

5.Qtversio:选择上图中配置的“Qt5.12.8 (host) ”,这个host根据实际情况选择。

配置完成后点击 apply,点击 OK。

在这里插入图片描述

3创建 Helloworld 项目
3.1 新建项目:

运行 QtCreator 后,在菜单栏选择 File -> New File or Project

第2步 选择项目类型:在 打 开 的 对 话 框 中 , 依 次 选 择 Application -> Qt Widgets Application ,点击 Choose… , 如

下图所示:

在这里插入图片描述

3.2选择kit

创建项目的时候,可以两个都选,也就是为不同的Kit设定不同的条件编译。作用是:既可以选择在X86架构上编译出UI界面,也可以选择ARM结构编译。在选择arm架构的kit编译时,UI界面不显示,只有选择X86的kit才显示。选择两种,可以现在X86架构的kit下开发完界面,再选择arm架构的kit下编译生成开发板可以执行的文件。方便UI开发。

**在这里插入图片描述**

3.3编译 Qt 程序

在qt界面的左侧栏,点击项目显示下列界面,这里面选择不同的kit编译。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPKkQsoI-1689003150929)(C:\Users\HZH\AppData\Roaming\Typora\typora-user-images\image-20230611003339476.png)]

不同kit下的生成文件如下

在这里插入图片描述

将可执行文件移植到开发板里面执行命令: ./untitled1 即可成功显示界面。

在这里插入图片描述
在这里插入图片描述

ARM开发板QT Linux Tftp命令使用详解
 下载文件:tftp -l /mnt/untitled1 -r untitled1 -g 192.168.5.11
 上传文件:tftp -l /mnt/untitled1 -r untitled1 -p 192.168.5.11

使用命令

tftp [OPTION]... HOST [PORT]

Options:

-l 是local的缩写,后跟本地或下载到本地后重命名的文件名。

-r 是remote的缩写,后跟远程即PC机tftp服务器根目录中的文件名,或上传到PC机后重命名后的文件名。

-g 是get的缩写,下载文件时用,后跟PC机的IP地址

-p 是put的缩写,上传文件时用,后跟PC机的IP地址。

tftp 默认占用的是69端口

使用以下命令运行程序:

chmod +x untitled1 
./untitled1

在这里插入图片描述
在这里插入图片描述
tftp的配置可以参考之前文章《网络操作命令nfs命令》

### 虚拟机与IMX6ULL开发板之间的网络配置 为了使虚拟机能够成功Ping通IMX6ULL开发板,需确保两者处于同一局域网内并正确设置了网络参数。以下是详细的解决方案: #### 1. 网络模式的选择 对于VMware Workstation或VirtualBox中的虚拟机,默认采用NAT模式可能无法实现跨设备通信。应考虑更改为桥接模式,这使得虚拟机能像物理主机一样获取独立IP地址,并直接接入外部网络。 ```bash # 修改虚拟机网络适配器属性为桥接模式 ``` 当设置成桥接模式后,虚拟机会通过实际连接至路由器的接口获得一个公网可见的IP地址[^1]。 #### 2. 配置静态IP地址 为了避免动态分配带来的不确定性,在所有涉及通讯的节点(即PC、虚拟机以及IMX6ULL)上都推荐手动指定固定的IPv4地址。具体操作如下所示: - **Windows/Linux PC**: 进入控制面板调整本地连接属性; - **Linux VM (Ubuntu为例)**: 编辑`/etc/netplan/*.yaml`文件定义静态IP; - **IMX6ULL Board**: 登录目标板载系统修改相应配置脚本; 确保这三个实体位于相同子网范围内,例如均为192.168.x.y的形式[^2]。 #### 3. 开启防火墙端口转发 有时即使硬件层面已经联通无阻,软件层面上的安全策略也可能阻碍正常的数据交换过程。因此有必要确认各操作系统内置防火墙允许ICMP请求进出: ```bash sudo ufw allow out on eth0 to any port icmp sudo ufw enable ``` 上述命令适用于基于Debian系发行版的操作系统,其他平台可参照官方文档执行相似功能指令。 #### 4. 物理链路验证 如果经过以上步骤仍然存在问题,则可能是由于USB转Ethernet转换器驱动程序安装不当或是线路本身存在缺陷所致。此时不妨尝试更换不同型号的产品或者采取更为稳定的RJ45直连线缆方式建立联系。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值