Qt是一个领先的跨平台应用和UI 开发框架(Framework),使用标准C ,适用于桌面,嵌入式和移动平台。在Nokia时代,Qt4就被大家所熟知并广泛应用,在被2012年被Digia全面收购后,Qt5的推出更是将Qt的跨平台性和易用性提升到了一个新的台阶,如今Qt5已经更新到了5.4版本,针对嵌入式平台的版本为Qt5.4 for Device Creation(Qt Enterprise Embedded),可以直接在Qt 网站上注册下载对应的Installer,安装后享有30天的免费使用期。
Qt 5.4 for Device Creation不仅包含基本开发框架功能,还提供很多独特特性
-Qt Enterprise Tooling
-Pre-built Boot to Qt software stack
-Value-Add components: Qt Quick Enterprise Controls, Qt Virtual Keyboard, Qt Charts, Qt Data Visualization
-Beautiful, High-Performing, Modern User-Interfaces, for instance using Qt Quick 2:
Rendered using OpenGL ES 2.0
Rendered using Qt Quick 2D Renderer non-GPU
本文着重就利用Boot to Qt 软件包来实现Qt5在嵌入式ARM平台基于Embedded Linux快速部署做较详细说明,Boot to Qt是一个包含在Qt5 for Device Creation中经过优化可以直接安装到嵌入式平台上的完整软件包,包含Embedded Linux和Embedded Android两个版本,对于Embedded Linux版本,只需要一个1GB容量的SD卡就可以将Boot to Qt image安装到目标嵌入式平台,下面图示是采用Boot to Qt 和传统方式在嵌入式系统部署Qt的对比,Boot to Qt 可以非常快速在目标嵌入式系统上面部署Qt进行评估和开发。
下面以Toradex Apalis iMX6/Eva Board作为嵌入式ARM目标平台,详细介绍如何利用Boot to Qt快速将Qt5.4 for Device Creation部署,在此之前笔者先展示几张成功运行Qt launcher 的图片
1.准备64bit Linux 开发主机环境,这里以Ubuntu 14.04.1 LTS为例
2. 安装32bit程序兼容库
3. 如需要使用emulator进行模拟开发,则需要安装Virtual box
a. 下载最新版virtualbox amd64 deb安装包并安装 https://www.virtualbox.org/wiki/Linux_Downloads
b. 配置
4. 在开发主机上安装Qt 5.4 for Device Creation
a. 在Qt Company(www.qt.io)网站上面注册下载对应Installer
b. 安装,默认安装目录 ~/Qt
5. 将Boot to Qt image 下载到SD卡(至少1GB容量)
a. 将SD卡连接到开发主机Ubuntu系统,并确认在系统中的设备名(如下面sdc)
b. 将Boot to Qt image下载到SD卡
6. 在目标嵌入式平台上面运行Boot to Qt
a. 将SD卡插入Eva Board 8bit SD 插槽
b. 通过串口将iMX6系统和开发主机连接,开机进入uboot
c. 设置环境变量,从SD启动完成,Eva Board连接显示输出,可以看到Qt launcher自动运行
7. 在iMX6系统和开发主机之间建立USB连接
a. 在开发主机shell运行下面命令创建新的udev 规则
b. 连接Eva Board X50 USB 端口到开发主机
c. 查看是否连接成功
8. 在开发主机上面配置Qt for Device Creator,并运行最简例子
a. 运行Qt Creator,Tools>Options>Kits选项卡配置正确的device
b. File > New File or Project 创建一个Qt Quick Application
c. 点三角标志来运行编译并下载到目标系统上运行
综上所述,通过Qt5.4强大的跨平台性能可以更方便的将应用从桌面平台移植到嵌入式和移动平台,同时借助Boot to Qt,我们可以迅速的在目标嵌入式平台部署Qt进行评估或开发,这大大提高了开发者的开发效率,因此如果你是在嵌入式ARM平台进行Embedded Linux应用开发,Qt5.4无疑是最好的选择之一。
http://www.gongkong.com/article/201501/56772.html