2008-09-25,星期四 | 分类:
QT,
转载 | 标签:
QT,
ts,
嵌入式 | 149 views
摘要:本文主要介绍了在嵌入式 Linux 系统下基于Qt/Embeded 的触摸屏驱动的设计,通过对 Linux 设备驱动和Qt/Embedded设备驱动接口的工作原理和机制介绍,并结合大量源代码进行分析,提出了基于Qt/Embedded 的触摸屏驱动的开发方案。 嵌入式 Linux 以其开源性、内核的健壮性和稳定性、可裁减性,以及有着专业的商业公司和世界顶尖的自由软件开发者的支持和维护等各方面优势,吸引了嵌入式系统开发商的目光,成为嵌入式操作系统的新宠。触摸屏由于其友善的人机交互性、操作简单灵活、输入速度快,大大简化了嵌入式系统的输入而被广泛运用。本文介绍了基于嵌入式Linux 系统平台上Qt/Embedded 的触摸屏驱动的设计。该方案已成功运用于工程机械安全仪和电能质量监测仪项目,实现了GUI(图形用户操作接口)界面对触摸屏的支持,并能根据触摸屏的不同进行定制。 1、 Qt/Embedded 简介 Qt/Embedded 是著名的 Trolltech 公司发布的专门面向嵌入式系统的GUI 和应用开发的开发库。它是一种全面的 C++图形界面应用开发架构,继承了Qt 的全部标准 API,提供了比 Xlib 和 XWindows 系统更加紧凑的窗口生成系统,对 FrameBuffer 直接进行操作(见图 1)。完全模块化的设计和高效的编译系统减少了内存的消耗,这些使 Qt/Embedded 成为嵌入式环境 中,功能强大而全面的GUI开发工具。由于Qt/Embedded 的强大功能,被广泛用于各种领域,从消费电子(移 动电话、掌上电脑、机顶盒)到工业控制(医疗成像 设备、 移动信息系统)。 2 、Linux 下的设备驱动基础 Linux 系统主要将设备分成 3 种类型:字符设备、块设备和网络接口。每个模块通常实现其中一种类型, 相应的模块可分为字符模块、块模块和网络模块3种。 然而这种分类方式并不是非常严格,程序员可以构造一个大的模块,在其中实现不同类型的设备驱动程序。为了实现良好的伸缩性和扩展性,通常还要为每个功能创建一个不同的模块。
发表评论 »
做Linux嵌入式系统的对常见的几种嵌入式开发环境一定不会默生,由于主要接触网络相关产品的一些系统设计,因此,将可能用到的嵌入式开发环境简要总结一下。主要涉及下面的几个东东:
emDebian - http://emdebian.sourceforge.net
uClinux - http://www.uclinux.org
buildroot - http://buildroot.uclibc.org
scratchbox - http://www.scratchbox.org
openEmbedded - http://oe.handhelds.org
emDebian
emDebian基于将Debian用于嵌入式系统的目的而开发。Debian是一个发展很快的项目,在我第一次用Debian时,就再也不愿意换用其它 的发布版了,目前我用的Debian已经安装了有两年的时间了,但现在系统仍然是 “最新”版本,良好的在线软件升级系统是Debian成功的原因之一。目前Debian已经支持11个体系的系统,包括X86、PPC、MIPS、 ARM、SH等(据最近的一则消息,ARM有可能不再支持),并包含了大量的软件。这些要归功于Debian的开发团队,正因为有许多人使用和支持,因 此,不是比较偏门的软件,基本上不需要从源码来安装,这也是我喜欢用 Debian的原因之一。
这样好的一个系统,当然有人愿意将其用到嵌入式系统中去。emDebian基于一个很简易的嵌入式系统开发的想法来构造嵌入式系统,即从一个成熟的系统中 去除不需要的部份(如文档和不需要的工具),精简出一个小的系统,这与下面要介绍的几个工具的想法刚好相反(下面几个都是基于 from scratch 即从无到有,从头构建的方式)。emDebian提供一些工具来协助完成从现有的系统或安装包(deb文件,类似Redhat的rpm)中提取需要的东 东,并协助完成完整系统的构建,当然也支持交叉构建了,比如你可以在X86 的PC上构建一个基于ARM的嵌入式系统,而整个过程不需要编译任何一行源代码。
顺理成章的,emDebian的重要优势就展现出来了,现在你用的CPU超出11个 Debian支持范围了吗?没有,那么你可以简单的通过 emDebian构建目标系统;你所需要的主体软件在Debian支持的官方和非官方近2万个软件以外吗?没有,那么恭喜你,明天就可以给老板交工了。当 然,对于特定的软件,可能还是需要从源码来构建,不过同样的,我们可以将其生成Deb包,然后将配置加到emDebian工具集中,同其它所有软件一样的 选取和配置。
emDebian的发展似乎不是想像的那么好,现在主页上的新闻更新还是去2004年的。
buildroot
emDebian实际上并不一定适合于资源非常紧缺的超小型系统,比如只有2M Flash的小型控制系统。另外发行版的软件通常会以通用代码来编译,例如,为了尽可能在各种X86平台上都能够安装,大多数发行版通常会以i686甚至 ...
发表评论 »
Skyeye项目资源列表 http://gro.clinux.org/projects/skyeye/ 文档摘要: 1、什么是SkyEye? 2、SkyEye可以做什么事情? 3、安装SkyEye 4、安装arm-elf交叉编译器 5、测试你的arm-elf-gcc编译器 6、执行你的hello程序 7、一个应用程序的开发实例 8、编译并运行uClinux-dist-20030909.tar.gz ...
发表评论 »
本文主要介绍一下gspca在arm开发平台上的移植过程。 首先下载下来gspca的源码包,笔者使用的是gspcav1-20071224.tar.gz,解压到指定目录: tar zxf gspcav1-20071224.tar.gz -C /opt (解压目录可以随大家的喜好) 其次你要确保你的开发环境配置完全正确,笔者使用的交叉编译环境为ELDK 4.1。你还需要让你的内核支持v4l(video for linux),当然,编译驱动内核文件一定是必不可少的,在你的开发板上运行 uname -r 查看你所使用的内核版本,然后下载相应的内核文件。笔者使用的内核版本是2.6.15,同样,解压到了/opt目录下。好了,当一切准备就绪以后,我们来看看如何修改Makefile文件。 Makefile文件需要改的东西其实很简单,无非就是告诉它你的内核目录在哪里,你想用的平台是什么,你想用哪个交叉编译器。以下是笔者修改后的Makefile文件,当然,你要根据你实际的目录来修改此文件。
2条评论 »