0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术嵌入式主板Qt Embedded应用简介

英创信息技术 ? 来源:英创信息技术 ? 作者:英创信息技术 ? 2020-01-17 09:08 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、简述

Qt Embedded是图形化界面开发工具Qt的嵌入式版本,它通过Qt APILinux I/O以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好的编程模式。

英创嵌入式板卡EM9280 / EM9287 / EM335x在定制的Linux内核中完全实现了对于多种分辨率彩色显示和电阻式触摸屏的驱动支持,Qt 内核则是基于Linux内核驱动之上运行。

本文着重介绍如何在EM9280 / EM9287 / EM335x上搭建支持Qt应用环境,即围绕板卡的根文件系统rootfs所进行的配置。

二、Qt-4.8.5移植

图形交互式操作一般会用到触摸屏,所以首先需要移植触摸屏 tslib,有关tslib移植在文档“EM9280 Linux触摸屏应用开发简介”中有详细介绍。

1、下载Qt版本为4.8.5软件:

地址:http://qt-project.org/downloads qt-everywhere-opensource-src-4.8.5.tar.gz

2、解压 qt-everywhere-opensource-src-4.8.5.tar.gz

3、编译:
#>./configure -embedded arm-gnueabi -little-endian -prefix /home/hl/qt -qvfb -qt-mouse-tslib -I/home/hl/ts/include -L/home/hl/ts/lib
#>make
#>make install

编译成功后,即在/home/hl/qt 目录下安装了相关的库文件。移植后的Qt 库文件包括有libQtCore、libQtGui、libQtNetwork、libQtSql等,能够满足大多数嵌入式应用开发的需求。

三、根文件系统的配置

整理根文件系统rootfs,将移植好的qt 4.8.5相关库文件即:qt目录下的 /lib /plugins复制到根文件系统下/opt/qt-4.8目录。

修改根文件系统/etc/profile文件,需要在文件中设置tslib 以及qt的相关路径、环境变量等。

环境变量中增加:
export set QTDIR=/opt/qt-4.8
export set QPEDIR=/opt/qt-4.8
export set QWS_DISPLAY='LinuxFB:/dev/fb0'
export set QWS_DISPLAY='LinuxFB:mmWidth130:mmHeight100:0'
export set QWS_KEYBOARD='TTY:/dev/tty1'
export set TSLIB_TSDEVICE=/dev/input/event0
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/etc/ts.conf
export set TSLIB_PLUGINDIR=/lib/ts
export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event0'
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH

这些配置加上后,在控制终端可以正常启动Qt应用程序:
#>basicdrawing -qws
注:basicdrawing是个Qt应用测试程序,放在/opt/qt-4.8/bin目录下。

四、Qt应用程序的自动运行

英创系列Linux嵌入式板卡自动运行程序一般是通过user.sh或userinfo.txt来指定应用程序,userinfo.txt配置的方法“产品使用必读”上有详细的介绍,user.sh脚本方式自动启动的介绍可参考文章:Linux脚本启动应用程序方法简介。

对于Qt应用程序的自动运行只能采用user.sh脚本方式进行,这是由于根文件系统etc/profile中设置的环境变量对于控制台有效,对于启动的应用程序不一定有效,所以在用user.sh脚本启动程序时,需要重新设置环境变量,修改user.sh:
#!/bin/sh
export set QTDIR=/opt/qt-4.8
export set QPEDIR=/opt/qt-4.8
export set QWS_DISPLAY='LinuxFB:/dev/fb0'
export set QWS_DISPLAY='LinuxFB:mmWidth130:mmHeight100:0'
export set QWS_KEYBOARD='TTY:/dev/tty1'
export set TSLIB_TSDEVICE=/dev/input/event0
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/etc/ts.conf
export set TSLIB_PLUGINDIR=/lib/ts
export set QWS_MOUSE_PROTO='TSLIB:/dev/input/event0'

export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATH
basicdrawing -qws

将修改后的user.sh复制到/mnt/nandflash目录下,则可成功自动启动Qt应用程序basicdrawing。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11535

    浏览量

    214835
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6105

    浏览量

    36460
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式工程师为什么要学QT?

    Qt嵌入式工程师来说,真的很重要吗? Qt是一个跨平台的C++应用程序开发框架,非常适合嵌入式系统的开发,Qt
    发表于 08-14 15:15

    一文带你了解嵌入式主板

    嵌入式主板是专为嵌入式系统设计的计算机主板。它与我们常见的台式机或笔记本电脑主板有着显著的区别,核心在于它不是为了通用计算,而是为了执行特定
    的头像 发表于 06-30 16:12 ?224次阅读
    一文带你了解<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>

    嵌入式主板开发详细指南

    嵌入式主板开发涉及硬件设计、软件集成、系统优化等多个环节,需要结合具体应用场景进行深度定制。以下是嵌入式主板开发的详细指南,涵盖关键步骤、工具、挑战及实际案例:一、开发流程与关键步骤1
    的头像 发表于 04-02 11:35 ?626次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>开发详细指南

    高可靠性嵌入式主板设计

    设计直接影响整个系统的稳定性和寿命。因此,设计高可靠性的嵌入式主板不仅是技术挑战,也是提高产品竞争力的关键因素。本文将深入探讨高可靠性嵌入式主板
    的头像 发表于 03-25 15:11 ?556次阅读
    高可靠性<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>设计

    坐标德国纽伦堡,飞凌嵌入式亮相Embedded World 2025

    飞凌嵌入式连续第3年参加Embedded World,坚持为全球产业上下游合作伙伴和客户展示和推广来自中国的嵌入式主控产品、动态方案和应用案例。
    的头像 发表于 03-12 10:43 ?672次阅读
    坐标德国纽伦堡,飞凌<b class='flag-5'>嵌入式</b>亮相<b class='flag-5'>Embedded</b> World 2025

    嵌入式主板选型与应用指南

    嵌入式主板是专为嵌入式系统设计的核心硬件平台,广泛应用于工业控制、物联网、医疗设备等领域。以下是关于嵌入式主板的详细介绍:1.
    的头像 发表于 02-27 14:53 ?613次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>选型与应用指南

    3月11~13日,与飞凌嵌入式共赴德国纽伦堡embedded world 2025

    embedded world 2025国际嵌入式展览会,即将于3月11日~13日在德国纽伦堡会展中心盛大举行。飞凌嵌入式将再度扬帆出海,携手全球嵌入式
    的头像 发表于 02-26 14:58 ?896次阅读
    3月11~13日,与飞凌<b class='flag-5'>嵌入式</b>共赴德国纽伦堡<b class='flag-5'>embedded</b> world 2025

    小身材大能量:解读小尺寸嵌入式主板

    此前,已经带大家认识了嵌入式主板的尺寸版型,相信大家对此已有了初步印象。在科技日新月异的当下,各类设备都朝着更小体积、更高性能的方向发展。小尺寸嵌入式主板正悄无声息改变着我们的生活与商
    的头像 发表于 02-17 18:02 ?670次阅读
    小身材大能量:解读小尺寸<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>

    盘点无风扇嵌入式主板应用优势

    在科技飞速发展的今天,嵌入式主板在各个领域发挥着重要作用。而无风扇嵌入式主板以独特优势在工业自动化、医疗设备和智能交通等领域广泛应用。今天,就让我们一起深入了解无风扇
    的头像 发表于 02-15 18:04 ?433次阅读
    盘点无风扇<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>应用优势

    嵌入式主板的概述与发展

    随着科技的迅猛发展,嵌入式系统在现代电子产品中扮演着越来越重要的角色。嵌入式主板作为嵌入式系统的核心组件之一,承担着控制、处理和通讯等多种功能。本文将对
    的头像 发表于 01-13 16:30 ?841次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>的概述与发展

    ARM架构嵌入式主板特点

    嵌入式主板可以理解为嵌入在设备中用于控制和数据处理的CPU板,也就是设备的“大脑”。当主板嵌入到设备中,当然对
    的头像 发表于 12-31 16:03 ?1154次阅读
    ARM架构<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>特点

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入
    的头像 发表于 10-16 10:14 ?2738次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式
    的头像 发表于 09-30 10:05 ?1689次阅读

    飞凌嵌入式受邀参加openEuler Embedded Meetup(广州站)

    9月12日下午,由openEuler社区主办的openEuler Embedded Meetup(广州站)在华南理工大学举行,此次交流会旨在深入探讨嵌入式技术的最新趋势,加强产学研的交流与合作,吸引
    的头像 发表于 09-13 09:45 ?1123次阅读
    飞凌<b class='flag-5'>嵌入式</b>受邀参加openEuler <b class='flag-5'>Embedded</b> Meetup(广州站)

    飞凌嵌入式技术创新日(深圳站)精彩回顾

    2024年8月26日下午,飞凌嵌入式技术创新日深圳站在深圳威尼斯迪格酒店盛大举行,此次活动汇聚了近200位嵌入式技术领域的专家和企业代表,
    发表于 08-28 09:06