位置:51电子网 » 技术资料 » 其它综合

基于Qt/Embedded的微波信号发生器软件设计

发布时间:2007/8/30 0:00:00 访问次数:947

于 晓,王家礼,宋营坤,谷怀栋,余 涛


1 引 言


嵌入式系统的出现至今已有30多年的历史,嵌入式技术也经历了三个发展阶段。早期的嵌入式系统因资源极其有限,只有字符界面或者简单的图形界面。随着技术的发展,硬件成本的大幅下降,嵌入式系统应用要求越来越高,应用范围越来越广。这样字符界面和简单的图形界面不再能满足一些嵌入式系统的要求。嵌入式系统对图形用户界面(GUI)的需求越来越迫切。


不同于在个人PC上的图形用户界面,对嵌入式系统上的GUI包括:轻型、占用资源少,可配置,高性能,高可靠性。


2 几种成熟的基于Linux的嵌入式GUI


2.1 MicroWindows/NanoX


MicroWindows是一个开放源代码的项目,起源于NanoGUI项目。他支持两种应用程序编程接口,Win32API的实现叫MicroWindows,类似Xlib API的实现叫Nano-X。


MicroWindows是一个基于典型客户/服务器体系结构的GUI系统,基本分成3层。最底层是面向图形输出和键盘、鼠标或触摸屏的驱动程序;中间层提供底层硬件的抽象接口,并进行窗口管理,实际上是一个可移植的窗口引擎。他实现了画线、区域填充、多边形、剪切和多种颜色模式,这些实现是参考Xfree86而设计的;最高层分别提供兼容于Xwindow和Windows CE(Win 32子集)的API。


该项目的主要特色在于提供了类似X的客户/服务器体系结构和相对完善的图形功能,包括一些高级功能。比如Alpha混合、三维支持、TrueType字体支持等。该项目目前由美国Century Software公司主持开发。


2.2 MiniGUI


MiniGUI是原清华大学教师魏永明主持的一个自由软件项目,其目标是基于Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。MiniGUI基于SVGALib和LinuXThread库,采用简化的类Windows风格的图形用户界面,功能限制期不能用于更大的嵌入式系统。


2.3 Qt/Embedded


Qt/Embedded是跨平台C++图形用户界面工具包,因其面向对象、跨平台、界面设计更美观而得到广泛应用。基于Qt的X Window程序可以方便地移植到Qt/Embedded版本上。因此,自从Qt/Embedded以GPL条款发布以来,就有大量的嵌入式开发商转到Qt/Embedded系统上。


3 Qt/Embedded框架结构及编程关健技术


3.1 Qt/Embedded的开发环境及工具


使用Troll tech公司的X开发平台自由软件的自由版:Qt/Embedded 3.3.3。下载RPM包并安装。Qt支持多种处理器,根据所选用的处理器进行适当的配置和编译,即可得到如下创建应用程序所需的软件包和工具:


(1) Qt/Embedded函数库。


(2) 虚拟帧缓冲qvfb(virtual frame buffer):在X窗口用来运行和测试Qt/Embedded应用程序的系统程序。有了他,就可以不必在控制台和X11之间来回切换了。


(3) designer:Qt下用于设计窗口组件的工具。


(4) tmake:Makefile文件的自动生成器。


(5) moc:用于Qt C++扩展的meta-object编译器。


(6) uic:从XML文件生成代码的用户界面编译器。


(7) 其他工具,再加上g++,就可以进行基于Qt/Em-bedded的应用程序开发、编译和调试了。


3.2 Qt/Embedded的框架结构



图1是Qt/Embedded的框架结构。相对于Linux上Qt的另外一个版本Qt/X11,Qt/Embedded并不依赖于XServer。这使Qt/Embedded相对于Qt/X11节省了不少的内存。代替X server和Xlib库的是Qt/Embedded库。根据应用的需要,可以对其进行配置,编译后库的大小从700 kB~7 MB左右,典型应用的库大小大约为2~3 MB。如果事先知道应用和相关的具体组件,还可以将应用程序、组件和Qt/Embedded库静态连接,从而更能节约内存

于 晓,王家礼,宋营坤,谷怀栋,余 涛


1 引 言


嵌入式系统的出现至今已有30多年的历史,嵌入式技术也经历了三个发展阶段。早期的嵌入式系统因资源极其有限,只有字符界面或者简单的图形界面。随着技术的发展,硬件成本的大幅下降,嵌入式系统应用要求越来越高,应用范围越来越广。这样字符界面和简单的图形界面不再能满足一些嵌入式系统的要求。嵌入式系统对图形用户界面(GUI)的需求越来越迫切。


不同于在个人PC上的图形用户界面,对嵌入式系统上的GUI包括:轻型、占用资源少,可配置,高性能,高可靠性。


2 几种成熟的基于Linux的嵌入式GUI


2.1 MicroWindows/NanoX


MicroWindows是一个开放源代码的项目,起源于NanoGUI项目。他支持两种应用程序编程接口,Win32API的实现叫MicroWindows,类似Xlib API的实现叫Nano-X。


MicroWindows是一个基于典型客户/服务器体系结构的GUI系统,基本分成3层。最底层是面向图形输出和键盘、鼠标或触摸屏的驱动程序;中间层提供底层硬件的抽象接口,并进行窗口管理,实际上是一个可移植的窗口引擎。他实现了画线、区域填充、多边形、剪切和多种颜色模式,这些实现是参考Xfree86而设计的;最高层分别提供兼容于Xwindow和Windows CE(Win 32子集)的API。


该项目的主要特色在于提供了类似X的客户/服务器体系结构和相对完善的图形功能,包括一些高级功能。比如Alpha混合、三维支持、TrueType字体支持等。该项目目前由美国Century Software公司主持开发。


2.2 MiniGUI


MiniGUI是原清华大学教师魏永明主持的一个自由软件项目,其目标是基于Linux的实时嵌入式系统提供一个轻量级的图形用户界面支持系统。MiniGUI基于SVGALib和LinuXThread库,采用简化的类Windows风格的图形用户界面,功能限制期不能用于更大的嵌入式系统。


2.3 Qt/Embedded


Qt/Embedded是跨平台C++图形用户界面工具包,因其面向对象、跨平台、界面设计更美观而得到广泛应用。基于Qt的X Window程序可以方便地移植到Qt/Embedded版本上。因此,自从Qt/Embedded以GPL条款发布以来,就有大量的嵌入式开发商转到Qt/Embedded系统上。


3 Qt/Embedded框架结构及编程关健技术


3.1 Qt/Embedded的开发环境及工具


使用Troll tech公司的X开发平台自由软件的自由版:Qt/Embedded 3.3.3。下载RPM包并安装。Qt支持多种处理器,根据所选用的处理器进行适当的配置和编译,即可得到如下创建应用程序所需的软件包和工具:


(1) Qt/Embedded函数库。


(2) 虚拟帧缓冲qvfb(virtual frame buffer):在X窗口用来运行和测试Qt/Embedded应用程序的系统程序。有了他,就可以不必在控制台和X11之间来回切换了。


(3) designer:Qt下用于设计窗口组件的工具。


(4) tmake:Makefile文件的自动生成器。


(5) moc:用于Qt C++扩展的meta-object编译器。


(6) uic:从XML文件生成代码的用户界面编译器。


(7) 其他工具,再加上g++,就可以进行基于Qt/Em-bedded的应用程序开发、编译和调试了。


3.2 Qt/Embedded的框架结构



图1是Qt/Embedded的框架结构。相对于Linux上Qt的另外一个版本Qt/X11,Qt/Embedded并不依赖于XServer。这使Qt/Embedded相对于Qt/X11节省了不少的内存。代替X server和Xlib库的是Qt/Embedded库。根据应用的需要,可以对其进行配置,编译后库的大小从700 kB~7 MB左右,典型应用的库大小大约为2~3 MB。如果事先知道应用和相关的具体组件,还可以将应用程序、组件和Qt/Embedded库静态连接,从而更能节约内存

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!