基于嵌入式画图板的设计与实现.docx
- 文档编号:29350212
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:36
- 大小:2.06MB
基于嵌入式画图板的设计与实现.docx
《基于嵌入式画图板的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于嵌入式画图板的设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。
基于嵌入式画图板的设计与实现
济源职业技术学院
毕业设计(论文)
题目
基于嵌入式画图板的设计与实现
系别
信息工程系
专业
班级
姓名
学号
指导教师
日期
二零一二年九月
基于嵌入式Qt的画图板设计与实现
——画图板
总计:
毕业设计(论文)39页
图表35幅
摘要
随着数字信息技术和网路技术的高速发展,嵌入式系统已经广泛的参透到各行各业以及人们的日常生活中,嵌入式系统技术已经成为目前最热门的技术之一。
嵌入式系统硬件平台的核心是嵌入式微处理器,ARM处理器以其小体积、高性能、低成本、低消耗的优势成为目前应用最广泛的32位高性能嵌入式RISC处理器。
在工业控制、移动通信、多媒体数字消费、手持设备等嵌入式解决方案中据着非常重要的地位。
本文以嵌入式技术的需求为背景,提出了一种适用于嵌入式系统的画图板设计方案,在此基础上设计并实现了基于Linux/Qt的嵌入式Qt画图板,实现了基于Qt的嵌入式画图板系统。
本文的目标是设计和实现嵌入式终端下的画图板。
论文首先介绍了Linux的优点和QT开发环境的搭建,着重分析了QT在软件开发中的编程机制,并具体分析了画图板具体界面的设计,最后简要介绍了嵌入式应用的特点和嵌入式终端下的移植过程。
本文根据画图板的主要功能,设计并实现了画图板的相关基本功能,如:
新建、打开、退出、放大、缩小、还原、旋转和拉伸等。
最后运行结果符合设计要求,方案可行。
关键词:
嵌入式操作系统;Linux;QT;图形用户界面;画图板
ABSTRACT
Withthedevelopmentofdigitalinformationtechnologyandnetworktechnologyrapiddevelopment,theembeddedsystemhaswidelypenetratedintoallwalksoflifeandpeople'sdailylife,theembeddedsystemtechnologyhasbecomethemostpopularone.
Embeddedsystemhardwareplatformisthecoreoftheembeddedmicroprocessor,ARMprocessorwithitssmallsize,highperformance,lowcost,lowconsumptionofadvantagetobecomethemostwidelyusedhighperformance32bitembeddedRISCprocessor.Inindustrialcontrol,mobilecommunication,multimediadigitalconsumer,handhelddevicesandembeddedsolutionsaccordingtoaveryimportantposition.
Basedontheembeddedtechnologydemandasabackground,putforwardakindofembeddedsystemapplicabletothedrawingboarddesign,onthebasisofthedesignandimplementationofLinux/QtbasedembeddedQtdrawingboard,basedontherealizationoftheembeddedQtdrawingboardsystem.
ThegoalofthispaperistodesignandRealizationofembeddedterminaldrawingboard.ThepaperfirstintroducestheadvantagesofLinuxandQTdevelopmentenvironmenttobuild,focusesontheanalysisofQTinthedevelopmentofsoftwareprogramming,andspecificanalysisofthedrawingboardandthespecificinterfacedesign,andfinallyintroducedtheembeddedapplicationandthecharacteristicsofembeddedterminalunderthetransplantationprocess.Accordingtothedrawingboardtothemainfunction,thedesignandimplementationofdrawingboardrelatedbasicfunctions,suchas:
thenew,open,exit,amplification,narrow,reduction,rotationandstretching.Thefinalresultsmeetthedesignrequirements,theschemeisfeasible.
Keywords:
embeddedoperatingsystem;Linux;QT;graphicaluserinterface;drawingboard
第1章引言
1.1研究背景
近年来,随着计算技术、通信技术的飞速发展,特别是互联网的迅速普及和3C(计算机、通信、消费电子)合一的加速,微型化和专业化成为发展的新趋势,嵌入式产品成为信息产业的主流。
嵌入式产品的发展,往往要求嵌入式操作系统有网络和图形的功能。
利用源代码开放的Linux搭建的嵌入式操作系统,由于强大的网络功能和低成本,近来得到了越来越多的应用。
主要体现在以下几个方面[1]。
①嵌入式应用软件的开发需要强大的开发工具和操作系统的支持
随着因特网技术的成熟、带宽的提高,ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样。
像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。
为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。
②互联网成为必然趋势
为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。
针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警,灯光能源控制,影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。
为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML、WML等。
③支持小型电子设备实现小尺寸、微功耗和低成本
为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片。
这就相应提高了对嵌入式软件设计技术要求。
如,选用最佳的编程模型和不断改进算法。
④提供精巧的多媒体人机界面
嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习惯的方向盘、脚踏板和操纵杆。
人们与信息终端交互要求以GUI屏幕为中心的多媒体界面。
手写文字输入、语音拨号上网,收发电子邮件以及彩色图形、图像已取得初步成效。
1.2研究目的和意义
虽然市场上现在已经有了众多的优秀的GUI应用软件,但随着近年来计算机技术的迅速发展,当新硬件、新技术出现时,计算机的体系结构、指令系统和操作系统都可能发生相应的改变,这势必会导致一部分应用软件在新环境下无法正常运行。
如果舍弃原有软件而重新开发,将会耗费大量的人力和资金,而且浪费了许多成熟的软件成果。
而QT在源代码级上实现了跨平台特性,极大的支持了跨平台通用软件的开发。
QT可以用同一个源程序在不同平台上编译链接,生成目标代码,并取得相同的运行效果,这种技术称之为“一次编写,随处编译”,利用这种方法充分实现了程序的跨平台运行。
这种基于源代码的跨平台特性不仅解决了性能的问题,而且可以发挥各个平台的优势,充分利用每个平台自身的特点;并且即可以在新环境下实现原有软件的功能和特点,减少开发费用,还可以改进原有软件的不足,增加新的需求,从而提高软件的质量,延长软件生命期。
针对嵌入式产品的高度个性化,其外观、与用户交互的界面千差万别的特点,故而系统的设计目标是意在打造一个能在嵌入式终端运行、通用的、可以方便的支持各种控件、各种图形格式,具有体积小、可裁剪、可移植的这样一个面向嵌入式的应用程序系统,使各种嵌入式设备也同样能具有美观的用户界面,相对比较丰富的功能,操作起来简单而又直观[2]。
本文通过对嵌入式Linux和QT的分析,在嵌入式QT的基础上,开发了面向嵌入式终端的画图板应用软件。
画图板不仅支持新建、保存等功能,还支持图片的打开,另外还有如放大、缩小、旋转等各种方式下的图片浏览。
它们体积小,移植方便,适用于掌上电脑、智能电话及一些高端的嵌入式设备中。
此外它作为一种小型GUI解决方案,可用于那些对GUI大小要求苛刻的各种应用系统中。
第2章嵌入式操作系统
嵌入式系统,就是以应用为中心、以计算机技术为基础、软件硬件可剪裁、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
本章首先通过嵌入式系统选择对比,介绍了嵌入式系统的优缺点,最后根据系统方案要求重点叙述了选择的嵌入式Ubuntu操作系统。
2.1嵌入式系统概述
综观嵌入式系统的发展,大致经历了三个阶段。
第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、指示设备相配合的功能。
这种系统大部分应用于工业控制系统中,一般没有操作系统的支持。
第二阶段以嵌入式实时操作系统为标志。
这一阶段系统的主要特点是:
嵌入式操作系统能运行于各种不同类型的微处理器上,操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),嵌入式应用软件丰富,但与互联网无关。
第三阶段是以基于因特网为标志的嵌入式系统,这是一个正在迅速发展的阶段。
目前大多数嵌入式系统还孤立于因特网之外,但随着因特网的发展以及因特网技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与因特网的结合将代表着嵌入式技术的真正未来[2]。
Linux是个和Unix相似,以Unix核心为基础、完全内存保护、多任务多进程的操作系统。
其程式源码全部公开,任何人可以修改并在GNU通用公共许可证(GNUGeneralPublicLicense)下发行,这样开发人员可以对操作系统进行定制。
同时由于有GPL的控制,大家开发的东西大都相互兼容,不会走向分裂之路。
Linux用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,这使最困难的问题也有办法解决。
Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。
Linux还提供了强大的网络功能,有多种可选择窗口管理器(Xwindows)。
其强大的语言编译器gcc、g++等也可以很容易得到。
不但成熟完善、而且使用方便,为嵌入操作系统提供了一个极有吸引力的选择。
Linux已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目是很有吸引力的。
原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。
Linux可以随意地配置,不需要任何的许可证或商家的合作关系。
它是免费的,源代码可以得到。
这是最吸引人的。
毫无疑问,这会节省大量的开发费用[3]。
Linux还有以下优点。
①它本身内置网络支持。
②Linux的高度模块化使添加部件非常容易。
③Linux在台式机上的成功,使大家看到了Linux在嵌入式系统中的辉煌前景。
嵌入式产品中选择什么样的操作系统极为重要,嵌入式Linux由于其开源特性、实时性好、可移植、内置网络支持等优点在嵌入式领域成为主力军。
如今,业界已经达成共识:
即嵌入式Linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。
2.2嵌入式操作系统
2.2.1嵌入式系统特征
这些年来掀起了嵌入式系统应用热潮的原因只要有几个方面:
一是芯片技术的发展,使得单个芯片具有更强的处理能力,而且使集成多种接口已经成为可能,众多芯片生产厂商已经将注意力集中在这方面。
另一方面的原因就是应用的需要,由于对产品可靠性、成本、更新换代要求的提高,使得嵌入式系统逐渐从纯硬件实现和使用通用计算机实现的应用中脱颖而出,成为近年来令人关注的焦点。
从上面的定义,可以看出嵌入式系统的几个重要特征[4]。
①系统内核小。
由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
比如Enea公司的OSE分布式系统,内核只有5K,而Windows的内核却是没有可比性的。
②专用性强。
嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。
同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。
③系统精简。
嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
④高实时性的系统软件(OS)是嵌入式软件的基本要求。
而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。
⑤嵌入式软件开发走向标准化,就必须使用多任务的操作系统。
嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-TimeOperatingSystem)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
⑥嵌入式系统开发需要开发工具和环境。
由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。
开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。
图2-1嵌入式Linux开发模式一般流图
2.2.2常见嵌入式Linux系统优缺点
Linux的版本可以大体分为两类,一类是商业公司维护的版本,一类是社区组织维护的版本,前者以Redhat(RHEL)为代表,后者以Debian为代表。
本节对常见的几个版本的优缺点进行简要分析[4]。
①Redhat系列优缺点
这个系列包括RHEL(RedhatEnterpriseLinux,也就是所谓的RedhatAdvanceServer,收费版本)、FedoraCore(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。
Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,有很多的专业人士只用这一个版本的Linux。
所以这个版本的特点就是使用人群数量大,资料非常多,能够很容易的找到运用过程中所遇到的问题,而且目前一般的Linux教程都是以Redhat为例来讲解的。
Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。
稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是FedoraCore的稳定性较差,最好只用于桌面应用。
②Debian系列优缺点
这个系列包括Debian和Ubuntu等。
Debian主要运用在社区类Linux之中,也是迄今为止最遵循GNU规范的Linux系统。
Debian最早由IanMurdock于1993年创建,分为三个版本分支(branch):
stable,testing和unstable。
其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。
testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。
而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。
Debian最具特色的是apt-get/dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。
另外,Debian的资料也很丰富,有很多支持的社区。
③Ubuntu系列优缺点
Ubuntu是世界上最流行的Linux发行版,它使用deb的软件库(linux界最大的自由软件库,由deb维护)。
对硬件配置要求不高,用起来还很方便,画面极为简洁,任何人、不论任何目的,都有使用、改写、重新散布、发布改写版Ubuntu的自由。
Ubuntu没有所谓的企业版,不用购买授权就可以把它用于商业或其他任何用途。
而且可以把Ubuntu安装在任意台电脑上,也可以装在移动硬盘或U盘等设备上,甚至可以自己定制安装盘。
图形界面很强大,系统超级稳定先进的内存管理机制。
linux拥有缓存机制,调入内存的数据,不使用时不会立马删除。
这样,当系统再次使用该数据时,只要从内存调用就行了。
本系统所使用的是Linux系统是ubuntu。
ubuntu的强项主要体现在:
能够使deb的软件库、图形界面很强大、系统超级稳定、有着先进的内存管理和先进的磁盘管理。
与大多数发行版附带数量巨大的可用可不用的软件不同,ubuntu的软件包清单只包含那些高质量的重要的应用程序。
所以最终选择ubuntu为本设计的操作系统。
第3章基于嵌入式Qt画图板的硬件平台搭建
本设计选用的硬件开发平台是采用Samsung公司基于ARM920T内核的S3C2410X微处理器。
本章节主要介绍ARM处理器及其特点,简要介绍了基于S3C2410X的嵌入式系硬件平台的各功能模块。
3.1ARM微处理器
3.1.2ARM微处理器的特点
ARM微处理器一般具有几个特点[5]。
①体积小、低功耗、低成本、高性能。
②支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件。
③大量使用寄存器,指令执行速度更快。
④大多数数据操作都在寄存器中完成。
⑤寻址方式灵活简单,执行效率高。
⑥指令长度固定。
3.1.3ARM微处理器系列
ARM微处理器目前包括下面几个系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。
-ARM7系列-ARM9系列-ARM9E系列-ARM10E系列-SecurCore系列-Inter的Xscale-Inter的StrongARM
其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。
SecurCore系列专门为安全要求较高的应用而设计。
3.1.4ARM9微处理器系列介绍
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能,具有以下特点[6]。
①5级整数流水线,指令执行效率更高。
②提供1.1MIPS/MHz的哈佛结构。
③支持32位ARM指令集和16位Thumb指令集。
④支持32位的高速AMBA总线接口。
-全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。
-MPU支持实时操作系统。
⑤支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。
3.2S3C2410开发平台介绍
本系统使用开发平台在以S3C2410X微处理器为核心的基础根据具体需要上扩展了一系列外围功能器件,最终构成了系统的硬件平台,平台的硬件配置表如表3-1所示[6]。
表3-1硬件平台配置表
硬件
硬件名称
硬件参数
cpu
ARM920T结构芯片三星S3c2410X
工作频率203MHz
FLASH
SAMSUNGK9F1208
64MNAND
SDRAM
HY57V561620AT-H
32M*2=64M
EtherNet网卡
DM900AE
10/100M自适应
LCD
LQ080V3DG01
8寸16bitTFT
触摸屏
SX-080-W4R-FB
FM7843驱动
USB接口
4个HOST/1个DEICE
由AT43301构成USBHUB
AD
由S3C2410芯片引出
3个电位器控制输入
扩展卡插槽
168PinEXPORT
总线直接扩展
IC卡座
AT24CXX系列
由ATMEGA8单片机控制
中断键
1个
ENT控制
LED
由3个IO口控制
调试接口
板载JTAG,直接支持下载与仿真
25针
S3c2410X芯片集成了大量的功能单元,包括。
①LCD控制器(最高4K色STN和256K彩色TFT),一个LCD专用DMA。
②三个通用异步串行端口(IrDA1.0,16-ByteTxFIFO,and16-ByteRxFIFO),2通道SPI。
③2个USBHOST,一个USBDEVICE(VER1.1)。
④4个PWM定时器和一个内部定时器。
⑤看门狗定时器。
⑥8通道10位ADC和触摸屏接口。
⑦16/32位RISC体系结构,使用ARM920TCPU核的强大指令集。
⑧ARM带MMU的先进的体系结构支持WINCE、EPOC32、LINUX。
⑨指令缓存(cache)、数据缓存、写缓冲和物理地址TAGRAM,减小了对主存储器带宽和性能的影响。
⑩ARM920TCPU核支持ARM调试的体系结构。
第4章基于嵌入式Qt画图板的软件介绍
QT是用于本地化跨平台应用开发的领先性框架。
QT应用程序接口与工具兼容于所有支持平台,掌握一个应用程序接口,便可执行与平台非相关的应用开发与配置。
本章节首先对Qt主要特性进行简要介绍,然
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 画图板 设计 实现