收藏 分享(赏)

数字城市查询系统——嵌入式linux下的gui编程毕业论文.doc

上传人:无敌 文档编号:649537 上传时间:2018-04-16 格式:DOC 页数:31 大小:457KB
下载 相关 举报
数字城市查询系统——嵌入式linux下的gui编程毕业论文.doc_第1页
第1页 / 共31页
数字城市查询系统——嵌入式linux下的gui编程毕业论文.doc_第2页
第2页 / 共31页
数字城市查询系统——嵌入式linux下的gui编程毕业论文.doc_第3页
第3页 / 共31页
数字城市查询系统——嵌入式linux下的gui编程毕业论文.doc_第4页
第4页 / 共31页
数字城市查询系统——嵌入式linux下的gui编程毕业论文.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、数字城市查询系统嵌入式 linux 下的 GUI 编程摘要本设计以 EmbestS3CEB2410(ARM9)开发板为硬件底层,在 Linux 操作系统平台的基础上,利用开源 Qt 图形用户应用程序框架,基于 SQLite 数据库,开发出软硬件一体化的便携式嵌入式电子地图,功能包括数字建筑物的查询,以及相关公交系统查询的地图信息查询系统。本系统具有可扩展性好,实用性强、可移动的特点,易于移植到不同的硬件平台和其他操作系统软件环境关键词:S3CEB2410 , SQLite , Qt ,Linux , Map , EmbeddedDigital City for System DesignEmb

2、edded linux under the GUI ProgrammingABSTRACTThis design using the EmbestS3CEB2410(ARM 9) development board as bottom of hardware on the basis of the Linux operating system platform ,and it also using open source OT graphical user application framework ,basing on SQLite database,developed portable e

3、mbedded electronic map which is the integration of hardware and software.This system is expansibility well,useful and transplatable,and it is also easily to transplant to different hardware platforms and other operating system software environment.Key words:S3CEB2410 , SQLite , Qt ,Linux , Map , Emb

4、edded目录目录 .41 引言 .11.1 项目简介绍 .11.2 项目背景 .11.3 项目的创新点 .21.4 相关技术 .31.4.1 基于 ARM 处理器的硬件开发平台 .31.4.2 嵌入式数据库 .31.4.3 嵌入式操作系统 .51.4.4 Qt 开发语言 .61.5 定义 .82 系统需求分析 .82.1 功能需求 .82.2 开发环境 .92.2.1 硬件平台 .92.2.2 软件开发平台 .92.2.3 开发语言 .92.3 运行环境 .92.4 性能需求 .92.4.1 时间特性要求 .93 总体设计 .93.1 基本设计概念和处理流程 .94 系统 GUI 编程设计

5、.114.1 地图移动 .114.1.1 开始状态 .114.1.2 上下左右移动 .144.1.3 上下移动 .164.1.4 图片装载 .184.1.5 画布 .194.2 利用线程播放声音 .235 致谢 .246 参考文献 .24数字城市查询系统嵌入式 linux 下的 GUI 编程11 引言1.1 项目简介绍随着时代的进步,人们的活动领域不断地扩大,地理环境的不熟悉程度越来越大,人们迫切需要有一种方便快捷的地理信息查询工具。本项目的目的在于开发出价格更低廉、功能更实用、可移动性强、运行速度更快更稳定、软件移植性好、界面友好的电子地图信息查询系统嵌入作品,方便广大的用户,给用户最实用的

6、功能。项目是以 EmbestS3CEB2410(arm9)开发板为硬件底层,是以 Linux 为操作系统,是以 SQLite 为数据库,是以 C+为开发语言,是以 Qt来支撑 C+图形用户界面应用程序框架。最终开发出软硬件一体化的地图信息查询系统。本系统具有实用性强、可移动性好的等特点。本项目就是为了满足广大用户的需要具有在陌生的环境下寻找各个地点,并快速察看目的地的地理位置,查询到达目的地的行走路线。使用户处在一个陌生的环境里不会迷失方向。1.2 项目背景在当前数字信息技术和网络技术高速发展的后 PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商

7、业文化艺术以及人们的日常生活等方方面面中。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。Linux 从 1991 年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一;越来越多的企业和研发机构都转向嵌入式 Linux 的开发和研究上,在新兴的嵌入式操作系统领域内也获得了飞速发展。地图已成为人们日常工作、学习、旅行经常利用的工具!一张普通地图综合反映地面上物体和现象一般特征的地图,内容包括各种自然地理要素(地形、水系、植被等)和社会经济要素(居民点、行政区划、交通线路等) 。从古至今,人们已经形成一个意识:地图用来查找地理位置。生活中常常

8、会遇到这样一个问题:不知道想要去的目的地具体在什么地方,即问路问题。在以前,人们一般有两种解决方法。1、去问人;2、查找地图。第一种方式,实际效果并不是很理想;在大城市中,如广州,即使一个长年居住在那里的人也不能对该城市每一个地方都清楚;如果知道那个地方,未必能表述清楚,无法在询问者脑海中产生空间感、方位感。可见这种方式解决给问题,效果很一般。但是在目标地区附近询问他人,关于目标位置却是十分可行的办法之一!第二种方式,效果较好,但是很难提高查找效率;读者会有这一个理性的认识:地图上所含的信息内容多,要在地图上找到需要的信息,并非易事。尤其是找一些中小企业公司和后街小巷。在地图上这样相似信息多如

9、牛毛。一般需要几分钟到几十分钟,甚至上一个小时来看地图,找地方。可见两种传统的解决方式都有诸多不便之处!随着计算机电子技术的飞速发展,现在为上述问题提供了更方便的解决方式数字城市查询系统嵌入式 linux 下的 GUI 编程3-电子地图。电子地图的应用从上个世纪九十年代初就已经开始,那个时候的电子地图大多被企业内部所应用,随着它与网络的逐步结合,开始被诸多大众所接受和使用。2004 年年终 GOOGLE 推出了电子地图的服务,2005 年电子地图与搜索引擎的紧密接触,对电子地图的发展产生了巨大的推动作用,受众群体产生了巨大变化。从单纯的通过网站查询地图位置,到手机、车载 GPS 等各种导航定位

10、服务,电子地图与各种终端结合所产生的巨大价值,使其成为数字时代的新热点而被广泛关注起来。我们可以相信未来对电子地图的应用将更为普及。目前市面上使用的电子地图基于网站查询地图位置,手机、车载 GPS 等服务和产品。这些服务和产品对人们提供了不少的便利是毋庸置疑的。每一种方式都有其优点和局限性。网站查询地图位置。网络依赖性强,没有网络的支持无法服务,查询结果返回的快慢很大程度与网速有关;如果用个人 pc 机位查询终端,可移动性差、成本高。一般人只能在固定地点使用电脑查询地图,如果出门在外,这种方式不可行。优点:查询速度快。手机 GPS 产品。价格昂贵,手机产品能支持该功能或平台的售价至少要1500

11、 元以上;手机 GPS 功能的开通或使用也需要一笔费用。网络依赖性强,如果没有网络的支持,功能无法实现。查询速度慢,手机 GPS 必须通过无线网络进行通信,数据通过网络传输必定有时延,也会占用嵌入式系统有限的资源。软件的可移植性差,其软件产品只能在手机平台上使用。优点:可移动性。车载 GPS 产品。价格昂贵,产品售价一般 2000 元以上。网络依赖性强,如果没有网络的支持,功能无法实现。查询速度慢,车载 GPS 同样也必须通过无线网络进行通信,数据通过网络传输必定有时延,也会占用嵌入式系统有限的资源。优点:可移动性、软件可移植性我们的项目正是为了改进上面所提出不足的。该项目的目的在于开发出价格

12、更低廉、功能更实用、可移动性强、无网络依赖性、运行速度更快更稳定、软件移植性好、界面友好的作品,方便广大的用户,给用户最实用的功能。1.3 项目的创新点本项目将开发的“数字城市查询系统”应用于城市信息查询,主要具有以下几方面的优势: 软硬件相结合,软硬件一体化,可移动性好; 信息集成化,把最实用的功能集成到一起,地图搜索、公交查询、建筑介绍(历史、用途、娱乐服务内容、特色饮食、联系方式、营业时间、火车汽车轮船客货运输线路班次等) ; 有输入检测功能,有含糊查询功能; 查询速度快,有显示所需查询时间; 查询结果立体形象,图文相结合。既有地图标示、划线,也有文字信息; 具有声音提示功能,查询结果更

13、形象立体; 人性化的人机交互界面,采用人们习惯的界面风格(goolge 地图界面风4格) ,界面简单,符合用户使用的习惯,易上手便使用的特点。 软件相对独立性,软件系统可移植在多个硬件平台如:手机、mp4、个人 pc 机等,和多个软件平台上运行如: Windows、Linux 和 Unix 系统软件上使用。1.4 相关技术1.4.1 基于 ARM 处理器的硬件开发平台作为一种 16/32 位的高性能、低成本、低功耗的嵌入式 RISC 微处理器,ARM 微处理器目前已经成为应用最为广泛的嵌入式微处理器。ARM 技术还将不断发展。在嵌入式领域,ARM 已取得了极大的成功,造就了 IP 核商业化、市

14、场化的神话,迄今为止,还没有任何商业化的 IP 核交易和使用达到 ARM 的规模。ARM 系列芯片已经被广泛的应用于移动电话、手持式计算机以及各种各样的嵌入式应用领域,成为世界上销量最大的 32 位微处理器。ARM9 系列处理器是英国 ARM 公司设计的主流嵌入式处理器,主要包括 ARM9TDMI和 ARM9E-S 等系列。新一代的 ARM9 处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于 ARM7 处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。ARM7 处理器采用 3 级流水线,而 ARM9 采用 5 级流水线。增加的流水线设计提高了时钟频率

15、和并行处理能力。5 级流水线能够将每一个指令处理分配到 5 个时钟周期内,在每一个时钟周期内同时有 5 个指令在执行。在同样的加工工艺下,ARM9 TDMI 处理器的时钟频率是 ARM7TDMI 的 1822 倍。ARM9 系列微最适合用于对价位和功耗要求较高的消费类应用。ARM9 微处理器系列具有如下特点:1) 32bit 定点 RISC 处理器,改进型 ARMThumb 代码交织,增强性乘法器设计。支持实时(real-time)调试;2) 片内指令和数据 SRAM,而且指令和数据的存储器容量可调;3) 片内指令和数据高速缓冲器(cache)容量从 4K 字节到 1M 字节;4) 设置保护单

16、元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;5) 采用 AMBA AHB 总线接口,为外设提供统一的地址和数据总线;6) 支持外部协处理器,指令和数据总线有简单的握手信令支持;7) 支持标准基本逻辑单元扫描测试方法学,而且支持 BIST(built-in-self-test);8) 支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。ARM9 系列微处理器的主要应用领域为:无线网络设备、PDA 功能、移动电话等多种多媒体和嵌入式应用.ARM9 系列微处理器包括如下几种类型的核:ARM9TDMI,ARM920T,ARM940T,ARM9E-S。1.4.2 嵌入式数

17、据库什么是嵌入式数据库通常我们采用数据库来实现对数据的存储检索等功能,像 MySQL 这类基于 C/S 结构的关系型数据库系统虽然代表着目前数据库应用的主流,却并不能满足所有应用场合的需要。很多的应用仅仅利用到了这些数据库产品的基本特性而已。有时我们需要的可能只是一个简单的基于磁盘文件的数据库系统。这样就不必安装庞大的数据库服务器以简化数据数字城市查询系统嵌入式 linux 下的 GUI 编程5库应用程序的设计,在某些特殊应用场合,比如在嵌入式系统中,由于系统的硬件软件资源都有限,这些数据库产品就明显有一些臃肿甚至是不可实现的。在这些情况下嵌入式数据库的优势就特别明显了。嵌入式数据库的名称来自

18、其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机服务器配置相关的开销。嵌入式数据库实际上是轻量级的,在运行时,它们需要较少的内存。它们是使用精简代码编写的,对于嵌入式设备,其速度更快,效果更理想。嵌入式运行模式允许嵌入式数据库通过 SQL 来轻松管理应用程序数据,而不依靠原始的文本文件。典型嵌入式数据库比较目前,基于嵌入式数据库应用的市场需求已经进入加速发展的阶段,适用于嵌入式开发的嵌入式数据库主要有 mSQL、Berkeley DB、SQLite 等。 (1) Berkeley DBBerkeley DB 是一个开放源代码的嵌入式数据库管理系统,为许多编程语言提供了实用的

19、API 接口,包括 C、C+、Java、Perl、Tcl、Python 和 PHP 等。它通过调用这些 API 来完成对数据的保存、查询、修改和删除等操作,能够用来管理多达 256TB 的数据,并且在许多方面的性能还能够同商业级的 数据库系统相抗衡。 Berkeley DB 能够很轻松地应付几千个用户同时访问同一个数据库的情况。 另外,由于其应用程序和数据库管理系统运行在相同的进程空间当中,进行数据操作时可以避免繁琐的进程间通信,因此耗费在通信上的开销自然也就降低到了极低 程度。但是 Berkeley DB 不是关系型的数据库,不能应用标准的SQL 语句对数据库操作,缺少灵活性,而且学习起来有

20、一定难度,必然会加大开发成本。(2) mSQLmSQL 是一种简化的 SQL 数据库,体系结构小巧,占用系统资源少,特别适合在嵌入式 Linux 系统中使用。同时, mSQL 提供专门的 API 函数,使得用 C 语言编写的 CGI 程序可以与 mSQL 的数据库引擎进行通信。但它只有 30 天的使用期限,并非完全的开源。(3) SQLiteSQLite 是 D. Richard Hipp 用 C 语言编写的开源嵌入式数据库,是同类产品中的后起之秀,2005 年获得了开源大奖。SQLite 可以在所有主要的操作系统上运行,并且支持大多数计算机语 言。SQLite 还非常健壮。其创建者保守地估计

21、 SQLite 可以处理每天负担多达 100,00 次点击率的 Web 站点,并且 SQLite 有时候可以处理 10 倍于上述数字的负载。SQLite 采用单文件存放数据库,速度又比 MySQL 快上 12 倍,存储量也不是问题,在操作语句上更类似关系型数据库的使用,使用操作非常方便。其主要的特点:1. 支持多数 SQL92 标准2. ACID 事务支持,甚至在数据库崩溃和恢复时也支持3. 零配置无需安装和管理4. 整个数据库存储在单个文件中5. 支持数据库大小至 2TB6. 足够小,大致 3 万行 C 代码, 250K 二进制目标代码7. 大部分普通数据库操比一些流行的数据库还要快8. 提

22、供简单、易用、多种语言的 API9. 完全独立的,不具有外部依赖性10. 作为一款嵌入式数据库,SQLite 与 Berkely DB 一样,以库的形式提供,通过 C函数直接操作数据库文件( 也支持其他的访问方式,比如 Tcl)6SQLite 不是 Server,所以和 SQLServer 等不同,它和程序运行在同一进程,中间没有进程间通信,速度很快,而且体积小巧,易于分发,非常适合运行在单机环境和嵌入式环境。与 Berkely DB 相比, SQLite 功能虽较 Berkeley DB 略有逊色,但在开源组织的推动下差距正在缩小。实际上,很多情况,特别是在嵌入式系统应用中,并不需要存储过程

23、或复杂的表之间的关联,这时会发现 SQLite 在大小和功能之间找到了一个理想的平衡点。其次 SQLite 是关系型数据库,支持大部分 SQL 语句,这是它比 Berkely DB 优秀的地方。体积也比 BDB 小一倍。更重要的是,SQLiate 允许自由地用于任何目的甚至包括商业应用,故能大大降低开发成本。因此本项目嵌入式数 据库将采用 SQLite。1.4.3 嵌入式操作系统1.4.3.1 什么是嵌入式系统近年来随着微电子技术的迅速发展,实际应用领域产生了很大变化,各种各样的应用于工业设备、电子产品中专用的计算机大量涌现。这种计算机隐藏在各种产品和系统中,嵌入式计算机由此而得名。嵌入式计算

24、机系统正式定义为以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统和应用软件等组成。嵌入式系统是面向用户、面向产品、面向应用的,是针对具体应用的专用系统。它的硬件和软件都必须高效率地设计、量体裁衣去除冗余、力争在同样的硅片面积上实现更高的性能。1.4.3.2 经典嵌入式系统的比较嵌入式操作系统 EOS(Embedded Operating System)是一种用途广泛的系统软件, EOS 负责嵌入系统的全部软、硬件资源的分配、调度作业,控制、协调并发活动;它必须体现其所在系统的特

25、征,能够通过装卸某些模块来达到系统所要求的功能。以下对比了几种最常用的嵌入式操作系统。1. Windows CEWindows CE 是微软开发的一个开放的、可升级的 32 位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。它是精简的 Windows 95。Windows CE 的图形用户界面相当出色。它的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种 CPU。它不仅继承了传统的 Windows 图形界面,并且在 Windows CE 平台上可以使用 Windows 95/98 上的编程工具(如 Visual Basic、Visual C+等) 、使用同样的函数、使用同样的界面网格,使绝大多数的应用软件只需简单的修改和移植就可以在 Windows CE 平台上继续使用。2. Palm OS这是一种 32 位的嵌入式操作系统,主要运用于移动终端上。此系统最初由 3Com 公司的 Palm Computing 部开发,目前 Palm Computing 已经独立成一家公司。Palm OS 与同步软件 HotSync 结合可以使移动终端与电脑上的信息实现同步,把台式机的功能扩展到了移动

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报