韦东山IMX6ULL Linux开发板基于Buildroot系统QT应用环境配置开发运行
@
一. 编译系统
1.设置交叉编译工具链
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
2.编译系统
cd /home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x
make clean
make 100ask_imx6ull_pro_ddr512m_systemV_qt5_defconfig
make all -j4

编译成功后文件输出路径为 output/images

把上面编译出来的 100ask-imx6ull-pro512d-systemv-v1.img重命名为emmc.img(或sdcard.img),把emmc.img(或sdcard.img) 放到“100ask_imx6ull 烧写工具”的 files 目录里,就可以使用工具烧写到 EMMC(或 SD/TF 卡)。
具体参考第三篇第7章:烧写整个系统或更新部分系统
连接 USB OTG 线,设置USB启动:

打开烧写工具烧写整个系统:


二. QT下载
1.安装 Qtcreator
QtCreator 下载网址:https://download.qt.io/official_releases/qtcreator/
这里我们使用的 qtcreator 版本为 5.12.9:
此安装过程类似 Windows 下应用的安装方法,一路点击下一步即可。
chmod +x qt-opensource-linux-x64-5.12.9.run
sudo ./qt-opensource-linux-x64-5.12.9.run



安装成功后打开QT,可以直接打开,也可以通过命令打开,命令如下:
./qtcreator.sh &
这里的“&”符号代表后台运行, 不占用控制命令终端

2.创建第一个程序

测试成功:

3.配置 QtCreator 开发环境
在这里我们配置 QtCreator 开发环境主要是为了方便将测试程序移植到Linux开发板上
(1)打开选项界面
在 QtCreator 界面中,依次点击 tools -> options:

(2)选择编译器
在出现的选项对话框中,在左边点击 Kits,右边选择 Compilers 标签,并点击 Add 选择 Custom->C++:

(3)设置编译器
在弹出的对话框中填写以下内容: Compiler path , Make path 和 ABI; 填写完成后,点击 Apply 进行保存。

(4)添加 QT 版本
假设你已经按照上面编译出了 QT 的 SDK。 以 IMX6ULL 为例,你已经做了这些事情: 在执行“make 100ask_imx6ull-qt_defconfig”配置后,再执行“make all”可以编译出 QT 的 SDK 包。可以在/home/book/100ask_imx6ull-sdk 下执行这个命令找到 qmake,记住它的目录:
find -name qmake

添加qmake路径:在 QT 设置界面中,选择 Qt Version 标签,在右侧点击“Add...”,会弹出对话框,切换目录到选择 qmake 文件后,点击 open 按钮,设置完成之后,点击 Apply 按钮保存。
注意:qmake 文件是 buildroot 编译根文件系统后生成的,文件在 buildroot 目录下。

(5)配置 kit 标签
继续选择上边的 Kits 标签,点击右侧 Add,填写相应内容如下图:

配置时发现上面有红色感叹号,鼠标放在上面看看哪里出错。
error:编译器为不同的ABls生成代码,那我们就按照它的提示修改成相同的试试,结果是修改后就不报错了。

修改如下:

配置完成后点击 apply,点击 OK。
4.移植QT程序到开发板
(1)创建工程
在这里我们创建一个文件名为imx6ull_hello_button的工程,完成IMX6ULL开发板显示文本hello和一个按钮button就算测试成功。
运行 QtCreator 后,在菜单栏选择 File -> New File or Project,或者直接快捷键 crtl + n,然后依次选择 Application(Qt) -> Qt Widgets Application ,最后点击 Choose。

设置命名和存放路径,然后点击 Next 进入下一步:

设置构建系统,然后点击 Next 进入下一步:

选择基类,当前的的应用继承自哪种 Widget,默认选择 QMainWindow,然后点击 Next 进入下一步:

默认none,继续点击next:

选择之前添加好的 Kits(100ask_imx6ull),继续点击next:

默认:

点击绘制ui:添加Hello文本和Button按键


点击菜单栏 Build -> Build Project hellowrld,开始编译、构建项目。

imx6ull_hello_and_button 项目构建成功后,编译好的二进制文件存放在刚刚设置的目录中,可以使用 file 命令查看该 APP 是否被编译为 ARM 架构:

(2)在开发板运行 Qt 程序
使用 ssh 远程登陆开发板,将生成的 QT 程序的可执行文件 helloworld 拷贝到开发板上:

然后执行该文件:

开发板显示如下:测试通过

韦东山IMX6ULL Linux开发板基于Buildroot系统QT应用环境配置开发运行的更多相关文章
- iTOP4412开发板-使用buildroot搭建最简单的linux
本文档介绍的是使用buildroot搭建最简单的linux文件系统,Buildroot是Linux平台上一个构建嵌入式Linux系统的框架.整个Buildroot是由Makefile脚本和Kconfi ...
- 韦东山 嵌入式linux教程 笔记
@ 目录 资源链接 一.常用命令 二.shell 三.如何更改PATH? 四.路径 五.vi编辑器 六.进阶命令 七.NAT配置网络 (第2篇-P34) 八.开发板挂载 Ubuntu 的 NFS 目录 ...
- 迅为iTop开发板使用buildroot构建opencv文件系统
这次我们来介绍使用buildroot构建opencv开发环境,buildroot 是 Linux平台上一个构建嵌入式Linux系统的框架.整个buildroot是由 Makefile脚本和Kconfi ...
- 4418开发板基于Linux-c测试程序的编译和运行
基于iTOP4418开发板的Linux-c的测试程序iTOP-4418 开发板可以运行的文件系统很多,在具体的文件系统上实现特定功能前,可以使用 Linux-c 程序来测试硬件以及驱动.而且这些程序很 ...
- RP4412开发板在Android系统编译生成ramdisk-uboot.img
荣品RP4412开发板在android系统编译的时候,怎么生成ramdisk-uboot.img生成流程分析: mkimage -A arm -O linux -T ramdisk -C none - ...
- 迅为iTOP-4418开发板-Android5.1系统编译补充
基于iTOP-4418开发板-Android5.1系统编译补充 5.6 编译-20181225 日期之后的源码 本文档补充介绍 4418 编译网盘目录 “J:\局域网共享_阮\iTOP4418 开发板 ...
- 【STM32-V5】STM32F407开发板开源, 丰富软件资源, 强劲硬件配置, 配套500实例, 10套手册带视频教程2019-12-12
淘宝购买地址:购买地址链接 从2013年5月份发布至今,开发板硬件更新过6个版本,软件资料更新过85次.当前标准库最新版本V8.8,HAL库最新版本V1.1 安富莱微信公共平台,欢迎大家关注(打造高质 ...
- NanoPC-T4/RK3399开发板Ubuntu FriendlyCore系统开机自动运行客户程序
RK3399开机自动运行客户程序 比如hellohello.c 交叉编译:aarch64-linux-gcc hello.c -o hello使用SecureCRT软件通过串口下载到开发板rz修改文件 ...
- 推荐两款远程管理Linux工具(基于Windows系统)
推荐两款远程管理Linux工具(基于Windows系统) 1.Xshell 百度百科:Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows ...
- Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...
随机推荐
- SQL Server实战五:存储过程与触发器
本文介绍基于Microsoft SQL Server软件,实现数据库存储过程与触发器的创建.执行.修改与删除等操作. 目录 1 交互式创建并执行--存储过程一 2 交互式创建并执行--存储过程二 ...
- jeecgboot集成Mongodb
1.引入jar包依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...
- grads读取netcdf文件,报错SDF file has no discernable X coordinate解决办法
1.netcdf文件格式说明 netCDF数据格式在气象中有广泛的应用,这种格式有一定的复杂性.作为数据的使用者可以不用对数据格式了解得很详细,不过大致的了解还是有必要的.netCDF是自描述的二进制 ...
- istio sidecar 工作方式
istio 是什么 Istio 是一个开放源代码的服务网格,它为基于微服务的应用程序提供了一种统一的方式来连接.保护.监控和管理服务.Istio 主要解决的是在微服务架构中的服务间通信的复杂性问题,它 ...
- toLua中Lua调用C#中的类
toLua中Lua调用C#: [7]Lua脚本调用C#中的class 准备工作:打算在Lua脚本中使用Debug,使用lua调用C#脚本,需要绑定LuaState和自定义添加Debug --- --- ...
- 【力扣-TS解题】1、回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文,而 123 不是 来源 ...
- git 安装 和 git 客户端的使用
git clone 命令 # 查前当前登录用户的一些基本信息: # 查看当前登录的账号:git config user.name # 修改当前登录的账号为xcj:git config --global ...
- C# XML转Json Json转XML XML 转对象 对象转XML
对象转XML对象时,只能是一个JObject对象,不能是一个集合对象.如果对象是一个列表集合,需要定义一个根对象比如这样:var obj =new { Root = ListLogs[ListLogs ...
- AI实战 | 手把手带你打造校园生活助手
大家好,我是努力的小雨.最近,我开始将我的经验逐渐分享到B站,希望能够帮助大家通过扣子助手真正解决一些问题.最近有粉丝提出了一个需求,为了满足大家的期待,我已经制作了视频,详细介绍了这个助手的搭建思路 ...
- Jenkins获取gitlab源代码
Jenkins获取gitlab源代码 Jenkins权限获取 在日常工作做由于Jenkins启动用户是Jenkins,在执行脚本时系统命令是无法让Jenkins执行的,如果需要Jenkins权限有两种 ...
