基于S3C2440的QT移植与编程实现_毕业设计论文(23页).doc
《基于S3C2440的QT移植与编程实现_毕业设计论文(23页).doc》由会员分享,可在线阅读,更多相关《基于S3C2440的QT移植与编程实现_毕业设计论文(23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于S3C2440的QT移植与编程实现_毕业设计论文-第 21 页Hefei University 毕业论文(设计)BACHELOR DISSERTATION论文题目: 基于S3C2440的QT移植与编程实现 学位类别: 工 学 学 士 学科专业: 自 动 化 完成时间: 2012年5月 基于S3C2440的QT移植与编程实现中 文 摘 要随着计算机技术和信息网络技术的飞速发展,嵌入式系统的应用越来越广泛,而嵌入式产品以其小巧、使用方便、实用等特点越来越受到人们的青睐。特别是近几年来,嵌入式产品越来越多的被应用于各个领域,如国防、工业控制、通信、办公自动化和消费电子领域等。图形用户界面是嵌入
2、式系统软件开发的重要内容,基于Linux内核开发实用、高效、美观的GUI是目前研究的一个重要课题。本课题研究了基于Linux的典型嵌入式图形界面支持系统Qt,基于嵌入式Linux操作系统和S3C2440硬件平台,完成Qt开发环境搭建和Qt相关平台移植,最后完成应用程序编程实例实现,并将应用程序成功移植到GT2440开发板上,测试结果证实该程序运行稳定,性能良好。关键词:嵌入式系统;QT;嵌入式linux;S3C2440Transplantation and programming of QT based on S3C2440AbstractThis paper introduces the Q
3、T / Embedded linux embedded system development environment to establish and transplant. Through a lot of source code analysis, build Qt / development environment in the linux host and s3c2410 transplant, and then on the QT / E programs. Qt / Embedded is Trolltech launched Linux-based embedded platfo
4、rm development tools, embedded version of Qt. It inherits the Qts standard APIs, provide a more compact than Xlib and XWindows window generation system FrameBuffer direct operations (see Figure 1). The fully modular design and efficient build system to reduce memory consumption, these Qt / Embedded
5、as the embedded environment, powerful and comprehensive GUI development tools. KDE and other projects using Qt as the support library, so many Qt-based X-Windows program can be easily ported to Qt / Embedded version. Qt / Embedded with the advantages of object-oriented, cross-platform and interface
6、design, convenient and aesthetic, have been widely used.KEY WORD: Embedded ;Transplant And Program; Qt/Embedded; linux;S3C2440第一章前言41.1 嵌入式系统概述41.2 图形开发71.3 本文章节安排8第二章 QT编程环境92.1 Qt概述92.2 Qt开发环境搭建92.2.1 安装Qt对系统的要求102.2.2 Qt开发环境及工具102.2.3 Qt-Embedded-Linux安装102.2.4 嵌入式Linux中Qt环境变量112.2.5 Qt/X11安装122.
7、2.6 Qt/Embedded安装122.3 Qt在嵌入式Linux的应用132.3.1 在嵌入式Linux上运行Qt程序132.3.2 嵌入式Linux Qt显示管理142.3.3 输入设备键盘和鼠标的设置于管理15第三章 Qt应用程序开发实例173.1 软硬件平台173.1.1 硬件平台173.1.2 软件平台183.2 Qt开发流程193.3 应用程序实现20第四章 总结25参考文献26致谢27第一章 前言1.1 嵌入式系统概述嵌入式系统的出现最初是基于单片机的。70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用
8、、更快、更便宜。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。确切点说,这个时候的操作系统是一个实时核,这个实时核包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。嵌入式系统的分类如下:(1) 嵌入式系统的硬件从硬件方面来讲,嵌入式系统的核心部件是嵌入式处理器。据不完全统计,全世界嵌入式处理器的品种数量已
9、经超过1000多种,流行体系结构有30多个,其中8051体系占大多数。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。目前嵌入式处理器的寻址空间可以从64KB到256MB,处理速度从0.1MIPS到2000MIPS。 近年来嵌入式微处理器的主要发展方向是小体积、高性能、低功耗。专业分工也越来越明显,出现了专业的IP(Intellectual Property Core,知识产权核)供应商,如ARM、MIPS等,他们通过提供优质、高性能的嵌入式微处理器内核,由各个半导体厂商生产面向各个应用领域的芯片。 一般可以将嵌入式处理器分成4类,即嵌入式微处理
10、器(Micro Processor Unit,MPU)、嵌入式微控制器(Micro Controller Unit,MCU单片机)、嵌入式DSP处理器(Digital Signal Processor,DSP)和嵌入式片上系统(System On Chip,SOC)。 (2) 嵌入式系统的软件 嵌入式系统的软件一般由嵌入式操作系统和应用软件组成。操作系统是连接计算机硬件与应用程序的系统程序。嵌入式系统的特点:1) 系统内核小由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5KB而Windows的内核则要大
11、得多。 2) 专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时,针对不同的任务,往往需要对系统进行较大更改;程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。 3) 系统精简 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能的 设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 4) 高实时性 高实时性的操作系统软件是嵌入式软件的基本要求。而且软件要求固化存储,以提高速度。软件代码要求高质量和高可靠性。
12、5)多任务的操作系统 嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行;但是为了合理地调度多任务,利用系统资源、系统函数以及专家库函数接口,用户必须自行选配RTOS(Real Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 6)专门的开发工具和环境 嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算
13、机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。1.2 嵌入式系统图形用户界面现状由于受到硬件条件等的限制,现在许多嵌入式设备的用户界面仍然非常简单。看习惯了PC机上华丽美观的用户界面,总希望在这些设备上也能得到同样美的享受。随着嵌入式设备的硬件条件提高,对于嵌入式系统中轻量级图形用户界面的需求也越来越迫切。这些系统一般不希望建立在庞大累赘的、非常消耗资源的操作系统和图形用户界面之上,比如Windows。同时,嵌入式系统对图形用户界面轻量型和可定制方面有较高的要求,它们希望图形用户界面占用
14、资源少、性能高、可靠性高、易移植、可配置。本论文的选题正是结合Linux操作系统和嵌入式系统研究这两个热点领域,选择适合于嵌入式特点的图形用户界面QT来进行应用程序开发。1.3 本文章节安排论文的结构安排如下:第一章,前沿,分析并阐述了本课题研究背景及意义。第二章,QT编程环境,首先介绍了QT的概述, QT环境的搭建以及要求。第三,QT应用程序开发实例,介绍了QT应用程序开发所涉及的软、硬件平台,完成应用程序实例,并移植到GT2440开发板。第四章,总结,对已完成的工作进行了简要总结,并指出了其中的不足,并对今后的做了展望。第二章 QT编程环境2.1 Qt概述Qt是一个跨平台的 C+ 图形用户
15、界面库,由挪威 TrollTech 公司于1995年底出品。Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员 就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出。2008年1月31日,Nokia公司宣布通过公开竞购的方式收购TrollTech公司,旗下包括Qt在内的技术都归入Nokia旗下。并且Nokia针对自己的移动设备平台规划的需要,将Qt按不同的版本发行。Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全
16、类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。Qt包括多达250个以上的 C+ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。还包括下列功能:(1)支持 2D/3D 图形渲染,支持 OpenGL 大量的开发文档; (2)XML 支持; (3)Webkit 引擎的集成,可以实现本地界面与Web内容的无缝集成。2.2 Qt开发环境搭建Qt/Embedded是基于Qt的嵌入式GUI和应用程序开发的工具包,它可运行多种嵌入式设备上,主要运行在
17、嵌入式Linux系统上,并且需要C编译器的支持,并为嵌入式应用程序提供Qt的标准API。 Qt/Embedded 的API是基于面向对象技术的。在应用程序开发上使用与Qt相同的工具包,只需在目标嵌入式平台上重新编译即可。使用所熟悉的桌面开发工具,来编写和保存一个嵌入式应用程序的源代码树,在移植到多种嵌入式平台时,只需要重新编译代码。 Qt/Embedded提供自身的轻量级窗口系统,比使用Xlib和X Window更加紧凑; Qt/Embedded 的设计原则是不依赖于X server或者Xlib,而是直接访问帧缓存,同其他解决方案如Qt/X11相比这样做最显著的效果是减少了内存消耗。只需要一个
18、Qt/Embedded动态链接库就足以替代X server、Xlib库和其他嵌入式解决方案的图形工具包2.2.1 安装Qt对系统的要求安装qt的过程在不同的平台上会有所不同,主要在嵌入式linux平台上安装。若需要提供对OpenSSL的支持,需要通过单独安装OpenSSL Toolkit,来获得Secure Sockets Layer (SSL)。对于不同的平台上,会有不同的要求。如果要在qt上对QtWebKit模块的支持,必须使用uClibc 0.9.29或者更高的版本,以对pthread的支持。在内存方面的要求主要取决于体系架构以及在编译过程中使能的QT选项。2.2.2 Qt开发环境及工具
19、Qt/Embedded的应用程序也可以使用标准工具在用户熟悉的环境下的工具开发,如Window平台下的Visual C和Borland C Builder,Unix平台下的KDevelop等。在Unix平台下编译Qt/Embedded应用程序,可以在独立的控制台模式,也可以用X11应 用程序虚拟的帧缓存。通过指定目标设备的长、宽和色深,虚拟帧缓存可以点对点的模拟物理设备,免除了调试过程中反复擦写闪存,加快了编译、链接、运行的环节。Qt/Embedded提供许多支持嵌入式开发的工具,其中两个非常重要的Qt工具qmake和Qt Designer。Qmake可以为Qt/Embedded链接库和应用程
20、序生成makefile文件。Qmake可以从项目文件(.pro)为多种平台 生成makefile文件,通过不同设置可以使应用程序方便的在多种平台间移植。Qt Designer可以使用可视化的方式设计对话框、窗口的,替代了设计代码手工编写。在Qt Designer中还可以使用布局管理器来平滑的设置窗口部件的布局,使用代码编写器编写代码,并且整合了qmake。2.2.3 Qt-Embedded-Linux安装(1)下载源码包,解压;qt news:qt downloads:qt Quarterly:qt bugs:qt Supported Platforms:qt Version Changes
21、:qt books: (2)建立支持库 通过./configure来设置,主要配置可以通过-help来获得帮助;之后用make命令,然后用make install 命令。将库安装到指定的路径下面。其中的设置包括指定安装的路径;未配置的话,默认的路径是/usr/local/Trolltech/QtEmbedded-4.5.0;(3)设置环境变量 为了能够使用Qt for Embedded Linux, 必须导出的PATH变量有qmake, moc 以及其他Qt for Embedded Linux 的工具, 以及LD_LIBRARY_PAT。 执行:PATH=/usr/local/Trollte
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 S3C2440 QT 移植 编程 实现 毕业设计 论文 23
限制150内