基于Qt和Flash的嵌入式Linux软件架构设计
   来源:现代电子技术     2018年01月11日 06:43

王晓燕+刘军霞+杨先文

摘 要: 基于嵌入式Qt和Flash开发技术,提出一种适合嵌入式Linux的软件架构。该架构主要由UI界面及交互脚本、运行适配接口和应用主程序三部分组成,分别采用ActionScript,JavaScript和C/C++三种语言实现。遵循软件架构设计思路,实现了一款嵌入式串口通信软件,并且与友善之臂Mini2440内置串口助手进行对比测试。结果表明,该架构运行流畅,在UI展现、用户体验等方面有明显优势,对于嵌入式应用产品的开发具有实用价值。

关键词: 嵌入式Linux; Qt; Flash; 软件架构; 串口通信

中图分类号: TN919?34; TP368.1 文献标识码: A 文章编号: 1004?373X(2017)01?0013?04

Abstract: A software architecture suitable for the embedded Linux is proposed based on Qt and Flash development techno?logies. The architecture is composed of the UI interface and its interactive script, running adapter interface and application main program, and they are implemented with ActionScript, JavaScript and C/C++ respectively. According to the design thought of the software architecture, an embedded serial port communication software was implemented, and performed for comparison test with the serial assistant built in FriendlyARM Mini2440. The results show that the architecture works well, and has obvious advantages in the aspects of UI display and user experience, and a certain practical value for the embedded application product development.

Keywords: embedded Linux; Qt; Flash; software architecture; serial port communication

0 引 言

嵌入式Linux操作系统内核开放、功能强大,且又易于裁剪和移植,已經成为嵌入式开发的首选。针对嵌入式Linux的窗口应用开发,已有的成熟技术主要有Micro?Windows/NanoX,OpenGUI,MiniGUI,Qt/Embedded等[1]。无论哪种开发技术,都面临控件功能有限、界面效果呆板、UI与底层代码强耦合等问题,造成其在UI展现、用户体验等方面欠佳。因此,结合当前流行的交互式多媒体技术,研究嵌入式软件架构具有很强的应用背景。

Flash是一个非常优秀的矢量多媒体制作工具,已成为一种交互式矢量图和多媒体的标准[2]。采用Flash设计UI的优点有:Flash程序运行于Flash player虚拟机中,具有良好的跨平台和兼容性;Flash程序是基于各个帧之间的跳转,而不是应用程序类的构造/析构,运行速度流畅;Flash程序脚本可以管理界面运行,有助于实现UI界面和应用主程序的开发分离。目前,以Flash打造UI界面,配合底层程序的软件架构在Windows平台上业已成熟[3],但是该架构基于Windows独有的COM组件方式实现,在Linux中缺少相应的替代方案。

本文基于嵌入式Qt和Flash开发技术,提出了一种适合嵌入式Linux的软件架构,实测表明,该架构满足嵌入式软件开发的需求,对于嵌入式应用产品的开发具有实用价值。

1 基础技术

1.1 嵌入式Qt开发技术

Qt是Trolltech公司的一个标志性产品,最初是针对桌面式应用推出的,而后又发布了适应Linux嵌入式设备的Qt/Embedded Linux,它是一个可以在嵌入式Linux上提供窗口系统的产品[4]。Qt推崇“一次编程,随便编译”理念,为跨平台的图形用户程序提供了一个完整的C++应用程序开发框架,这些平台包括Windows,Linux,Solaris等,且许多Qt模块库也都是Qt/Embedded Linux的组成部分。

在Qt模块库中,QtWebkit模块提供Qt应用程序使用Web浏览器的视图,它基于开源Web浏览器引擎WebKit实现,为Qt和HTML建起了一个数据交互通道,使得其他文件(如Flash制作的.swf文件等)能够通过HTML的标签嵌入到Web页面中,并通过JavaScript脚本进行访问,且Qt对象也能相应地访问Web页面的元素,从而使得软件底层开发和UI界面开发可分离。

1.2 Flash开发技术

Flash又被称作为闪客,是一种集动画创作与应用程序开发于一身的创作软件,为嵌入式应用程序、桌面应用程序、交互式Web站点等应用开发提供了功能全面的创作和编辑环境。借助于Flash软件,可以实现更强的动画效果和多样的UI表现力,并且在Flash工具中还内置了面向对象的编程语言ActionScript[2],它吸收了C++,Java以及JavaScript等编程语言的部分特点,已发展为ActionScript 3.0版本。Flash功能强大、类库丰富、语法简明,可以实现各种动画特效、对图像的良好控制、强大的人机交互等功能。 [2] 存入我的阅览室

  • 《现代电子技术》

    2017年01期

通信与信息技术
试验靶场无线通信系统综合效能评估方法
基于.NET电子网络技术的高校科研管理系统设计研究
基于软件通信体系结构的波形FPGA软件设计方法
基于Qt和Flash的嵌入式Linux软件架构设计
基于Android的跨断层测距记簿程序的开发
物联网中分布式监控和查询系统仿真研究
互联网平台下的智能信息管理系统设计
面向中长跑体能测试的RFID设计与实现
基于物联网的图形化虚拟仿真实验平台设计
一种基于圆环冗余解析的抗旋转与剪切攻击的信息隐藏算法
改进的变误差宽度变阶数LMS算法
基于OpenCV的紫外成像检测量化参数提取方法
基于神经网络的体育商标识别模型
海量小差异图像高精度挖掘算法设计
基于云计算的图像分类算法
一种海洋监测数据采集器设计
基于开窗结构和寄生单元的双陷波超宽带天线
基于DPI技术的语音视频流量监控系统设计与实现
计算机网络安全可视化研究平台设计与实现
基于BP神经网络的网络安全态势预测研究
改进支持向量机的电子邮件分类
基于人工鱼群算法优化神经网络在网络入侵检测中的应用研究
测试·测量·自动化
基于分布式结构的图书馆信息检索服务系统研究
基于人工神经网络的图书馆服务质量评价研究
基于RSS技术的图书馆登陆系统研究
医疗设备信息管理系统的设计与实现
基于属性权重的Bagging回归算法研究
计算机网络自动检测控制系统软件开发设计
基于现场采集与云服务的流量积算管理系统研究
基于组合优化理论的体育彩票销售量预测模型
基于DFT及谐波群泄露能量最小的电力谐波/间谐波分析方法
电子技术应用
非充分灌溉下精量灌溉决策方法研究
基于分布式贝叶斯网络的多故障诊断方法研究
基于BP神经网络和全相位快速傅里叶变换的电力系统谐波检测技术研究
基于转子磁场定向的永磁同步电机牵引控制策略
移动轨迹挖掘算法设计与系统实现
基于FPGA的高精度超声波测距仪设计
基于CAVE的虚拟现实关键技术研究
面向业务组织的工作流技术及其协同机制电子系统设计与实现
变电站接地极电阻建模计算及特征分析
全日盲紫外成像探测仪光学系统设计
基于信息共享的图书馆空间及服务电子系统模式研究
基于改进半边数据结构的计算机仿真3D建模平台研究
基于传输线方程的多根非平行传输线串扰分析
基于ASD与LBS的移动农资物流配送系统研究
文章 嵌入式 神经网络