已阅读5页,还剩62页未读, 继续免费阅读
(计算机软件与理论专业论文)GUI与TCPIP协议在嵌入式系统中的移植与应用开发(1).pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程大学硕士学位论文摘要随着嵌入式系统的迅速发展,嵌入式产品开发已经涉及到各个领域,多数嵌入式系统产品的应用开发都需要g u i 接口和t c p 佃协议的支持。本文首先简单介绍了m m c 2 1 0 7 微控制器为核心的嵌入式硬件平台、心o s i i 嵌入式操作系统和c o d e w 枷o r 开发环境。其次研究了嵌入式系统软件中g u i 接口和t c p i p 协议的实现,包括g u i 的层次结构、图形生成算法以及窗口管理机制,t c p i p 协议的层次结构、实现原理以及用户接口,同时在m m c 2 1 0 7 微控制器为核心的硬件平台和u c o s 嵌入式操作系统环境中实现了g u i 接口和t c m p 协议的移植。在g u i 接口和t c p ,i p 协议移植的基础上,利用这两种软件的系统接口,在特定的硬件平台和操作系统环境中开发了两款典型的嵌入式系统应用软件:中文输入法和嵌入式w e b 浏览器。本论文详细阐述了汉字的显示方法、汉字库的制作以及中文输入的实现流程,设计并实现了使用触摸屏和液晶显示器完成中文的输入和显示的算法。在对几种常见的嵌入式浏览器结构分析的基础上,描述了嵌入式浏览器的一般层次结构,详细阐述了基于m c o r e 硬件平台的嵌入式w e b 浏览器设计开发流程以及具体模块实现机制。中文输入法和嵌入式浏览器的实现,为基于m m c 2 1 0 7 微控制器为核心的嵌入式系统的应用软件开发提供了良好的基础平台。关键词:嵌入式系统;“c o s - i i ;g u i ;t c p i p 协议;中文输入法;嵌入式浏览器第【v 页信息工程大学硕士学位论文a b s t r a c tw i t ht h cm p i d l yd e v e l o p m e n to ft h ee m b e d d e ds y s t e m ,e m b e d d e ds y s t e mp r o d u c te x p l o i t l l r eh 舔r e f e r r e dt om a n yd o m a i n s m o s to fe m b e d d e ds y s t e mp r o d u c 协n e e d 虹拉s 、】r p 吣o fg u ii n t e r f 如ea i l dt c p i ps t a c ki nt h i sl h e s i s ,w ef i r s t l yi n t r o d u c e ss i m p l yt h ee m b e d d e dh a r d w a r ep l a t f o m lw h i c hl l s e sm m c 2 1 0 7m i c r o c o n t r o l l e r 勰k e m e l ,u c o s - i ie m b e d d c do p e 戚n gs y s t e ma 1 1 dc o d e w a r r i o re x p l o i t i v cc i r c l 帆s t a n c e s e c o n d l y ,w er e s e a r c ht h eo fg u i 锄dt c p i pi nn l ee m b e d d e ds y s t e mr w a r e ,w h i c hi sh 垃1 u d e s 也eh i e r a r c h yo fg u i 、a l g o r i t h mo f 簪a p hb u i l da n dn 脚g e m e mm e c h a r i i 蝴lo fw i n d o w ,t h eh i e r a r c h yo ft c p i p 、i m p l c m e n tt b e o 群a n du s e ri 砷e r f 妇a t 出es 跚et i m ew ea c l l i e v e dt op o r tg u ia n dt c p i pt om ee n v 油胁e 呲o fm eh a r d w a r ep l a t f b 咖o fm m c 2 1 0 7m i c r o c o n t r o l l e r 硒k e m c l 觚dm e 心o s i ie m b e d d e do p e r a t i n gs y s t e m b a s e do nm ep o n i n gg u ia i l dt c p i p ,w eh v ed e v e l o p e dt w ot y p i c a le m b c d d e ds y s t e ma p p l i c a t i o ns o r w a r e :c h i n e s ei n p u tm e l h o d 觚de m b e d d e dw e bb r o w s e ro nm ec e r 咯i nh a r d w a r ep l a t f o r n la i l do p e r a t i n gs y s t 锄c h 岫s t 姐c e ,b yl l s i n gt h es y s t c r i ii l l t e r f a c e so fg u ia n dt c p ,mi n 血i sm e s i s ,w ee x p a t i a t eo nm ed i s p l a ym e t h o do fc h i n e s cc h a r a c t e 陪,t l l ee x e c u t i o n0 f c h i n e 辩c h m c t e 船d a t a b a s ea n dt h ei m p l e m e n tn o wo fc h i n e s ei n p u t w ea l s od e s i g n e da n da c t l i e v e dt l l ea l g o r i t h mo fc h i n e 辩c 胁c t e r s i n p u ta n dd i s p i a yb yu s i n gt o u c hs c r e e na n dl c d b 船e do na n a l y z i n gt h es e v e r a le m b e d d e db r o w s e 临,w ed e s c m et l l ei l i e r a r c h yo ft h ee m b e d d e db r o w s e r p a n i c u l a r i ye x p a t i a t et l l ed e v e l o p m e n tn o wo fe m b e d d e dw 曲b r o w s e rw l l i c hb a s e dm c o r eh a r d w a r ep l a t f 0 仰a i l dt l l ei m p l e m e n tm e c h a i l i s mo ft h ec e n a i nm o d u l e s ,t h ei i i i p l e m e n to fc 城n e s ei n p u tm e t h o da n de m b e d d e db r o w s e rp r o v i d e saf a v o r a b i eb 骶i cp i a t f o mf o rm ee ,【p l o i t a t i o no fe m b e d d e ds y s t e m 印p l i c a t i o ns o f t w a r e s 、柚i c hl l s em m c 2 1 0 7m i c r o c o m m l l e r 鹞k e m e l ,k e yw o r d s :e m b e d d e ds y s t e m ;心0 s i i ;g u i ;t c p i p ;c h i n e s ec h a r a c t c ri n p u tm e t h o d ;e m b e d d e db r o w s e r第v 页信息工程大学硕士学位论文图l图2图3图4图5图6图7图8图9图1 0图1 1图1 2图1 3图1 4图1 5图1 6图1 7图1 8图1 9图2 0图2 1图2 2图2 3图2 4图2 5图目录嵌入式系统组成框图2硬件平台整体框图7z l g g u i 的层次关系图1 2s 1 d 1 3 3 0 5 驱动流程t c p i p 协议四层模型。2 4z l g i p 结构框图数据报接收流程2 6数据报发送流程2 6r t l 8 0 1 9 a s 芯片初始化流程2 8r ,r l 8 0 1 9 a s 接收缓冲区循环链表2 9数据报接收程序流程3 0数据报发送程序流程3 lp k s t 结构中以太网部分3 2汉字字符集g b 2 3 1 2 8 0 结构图3 5“博”字的1 6 x 1 6 点阵字模3 5测量x 点时a d s 7 8 4 6 驱动流程3 7虚拟键盘组成3 8拼音输入法整体流程。嵌入式浏览器整体结构设计框图4 5系统整体工作流程s o c k e t 连接建立流程网络传输层流程。分词解析处理基本流程布局函数链表格式显示模块流程图。第1 n 页钉褐如乳钇原创性声明本人声明所提交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写过的研究成果,也不包含为获得信息工程大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文题目:学位论文作者签作者指导教师签学位论文版权使用授权书本人完全了解信息工程大学有关保留、使用学位论文的规定。本人授权信息工程大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密学位论文在解密后适用本授权书。)学位论文题目:g 型l 皇i 型堡垄壁厶式丕统生趁整焦皇座且珏筮信息工程大学硕士学位论文1 1 课题研究背景及意义第一章绪论嵌入式系统指的是把计算机系统作为一个信息处理部件嵌入到应用系统中而形成的系统,是适应具体应用系统在功能、可靠性、成本及功耗诸方面更多的综合要求的专用计算机系统,它是计算机技术追求经济型、小型化、可靠性、高速度和智能型的必然结果。嵌入式系统最初主要应用于工业控制、通信、仪器仪表和家用电器等领域,近年来,随着计算机、微电子、通信及网络技术的发展。嵌入式系统渗透到各个领域,广泛用于移动计算机平台、信息家电、无线通信设备、电子商务平台及军事设备【l l 。嵌入式系统工业是一个不可垄断的高度分散的工业。从某种意义上来说,通用计算机行业的技术是垄断的。占整个计算机行业9 0 的p c 产业,8 0 采用i n t e l 的8 x 8 6 体系结构,芯片基本上出自i n t e l 、a m d 、c y r i x 等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面,m i c r o s o f 【的w i n d o w s 及w o r d 占8 0 9 0 ,凭借操作系统还可以搭配其它应用程序。因此当代的通用计算机工业的基础被认为是由w i n t e l ( m i c r o s o f i 和i n t c l9 0 年代初建立的联盟) 垄断的工业。而嵌入式系统则不同,它是一个分散的工业,没有哪一个系列的处理器和操作系统能够垄断全部市场,这是由于嵌入式系统中各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部市场。因此嵌入式系统领域的产品和技术是高度分散的。另外,由于各个不同应用领域的不断向前发展,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌入式工业发展的强大动力。从2 0 世纪7 0 年代初出现第一个微处理器开始,嵌入式系统的发展已经有3 0 余年的历史了。嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8 1 0 年的时间。一个体系结构及其相关的片上外设、开发工具、库函数、嵌入式应用产品是一套复杂的知识系统,用户和半导体厂商都不会轻易地放弃一种处理器l 。嵌入式系统的发展致使在世界范围内对嵌入式系统软件的研究也越来越热门。随着计算机技术和互联网的发展,现在很多的嵌入式产品都将输入、输出设备和i m e n l e t 的接入设备作为基础设备。如同p d a 的开发,要求系统不但能够记录、显示信息而且可以通过互联网柬即时的获取信息,由于这种需求而使得显示设备和网络设备在可裁剪的嵌入式系统中成为了一种基础资源,也使得嵌入式系统中对g u i 接口和t c p i p 协议的研究越来越关注,使其在众多嵌入式系统软件开发中所占的比重变的越来越大。本课题来源于电子发展基金项目嵌入式系统通用开发平台,是项目中的一个子课题,主要是进行嵌入式系统软件开发相关研究。本课题使用以摩托罗拉公司出品的m m c 2 1 0 7 微控制器为核心的自主硬件平台。硬件的基础设备为触摸屏、液晶控制器和网卡等,软件中g u i 接口和t c p i p 协议为主要部分。当前世界上对嵌入式系统中高层软件的研究可以说是不计其数,无论是出于商业目的或个人兴趣爱好,研究者都十分众多。其中g u i第l 页信息工程大学硕士学位论文接口和t c p 几p 协议栈这两方面的研究资料在网上也是很多的。如今市面上的高层软件按开发目的不同主要分成两大部分:一是企业或公司为了商业目的所进行开发的软件。其所开发的软件功能全面,实用性强,且如果购买则厂方提供技术支持。不少项目选择商业的产品都是看重其强大的技术支持,比如m t e r p e a k 公司的t c p ,i p 协议栈;另一个就是免费开源的软件。由于嵌入式系统开发的爱好者甚多,现今开源的软件也已能够完成较多的功能且不断的完善,其相关的源码以及说明等资源都可以到相关网站上下载,只需要在使用时标注原作者即可,其中较有名的t c p i p 协议如l “p 协议。但是使用免费协议所承担的项目风险较商业的要大的多。嵌入式系统是专为应用开发的,有应用程序的支持才能体现这一点。对于国内在嵌入式系统应用开发中有两个比较典型的两个应用层程序:中文输入法和嵌入式浏览器。中文输入法在嵌入式系统中需要应用到g u i 接口,而嵌入式浏览器则同时需要g u i 接口和t c p i p 协议做基础。高层软件的分析对移植和开发都是十分重要的,通过对这些高层软件的分析和研究,能够清楚的理解嵌入式系统中各个高层软件的具体架构,细节以及应用程序是如何通过这些软件来工作的,这对嵌入式系统软件中软件的开发有一定的实用意义。1 2 嵌入式系统的层次结构嵌入式系统一般由硬件和软件两部分组成,硬件部分主要包括嵌入式处理器及各种硬件外设,软件部分主要包括嵌入式操作系统和各种协议及应用程序等。其组成如图l 所示:。图l 嵌入式系统组成框图i 2 1 嵌入式处理器分类嵌入式处理器目前根据发展现状,嵌入式处理器一般可以分成下面几类l ,嵌入式微处理器( e m b e d d e dm c r o p r o c e s s o r u n i l ,e m p u )第2 页信息工程大学硕士学位论文嵌入式微处理器的基础是通用计算机中的c p u 。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。目前主要的嵌入式处理器类型有a m l 8 6 ,8 8 、3 8 6 e x 、s c 一4 0 0 、p o 、f p c 、a r m 系歹f j等。2 、嵌入式微控制器( m i c r o c o m r o l l e ru i l i t ,m c u )嵌入式微控制器又称单片机。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成r o m p e p r o m 、r a m 、总线、总线逻辑、定时p 计数器、w h t c h d o g 、i p o 、串行口、脉宽调制输出、a p d 、d 队、f l a s h r a m 、e 2 p r o m 等各种必要功能和外设。目前较有代表性的包括8 0 5 1 、m c s 2 5 l 、6 8 k 和m c o r e 系列。3 、嵌入式d s p 处理器( e m b e d d e dd i g i t a is i g r i a ip r o c e s s o r ,e d s p )d s p 处理器对系统结构和指令进行了特殊设计,使其适合于执行d s p 算法,编译效率较高,指令执行速度也较高。目前应用比较广泛的是e m s 3 2 0 c 2 0 0 0 系列、m c s 2 9 6 和t r i c o r e 系列。4 、嵌入式片上系统( s y s t e m0 nc h i p )随着e d i 的推广和v l s i 设计的普及化,及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是s y s t e mo nc l l i p ( s o c ) 。各种通用处理器内核将作为s o c 设计公司的标准库,和许多其它嵌入式系统外设一样,成为v 乙s i 设计中一种标准的器件,用标准的v h d l 等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。比较典型的为p h i l i p s 的s m a nx a 【4 】a1 2 2 嵌入式操作系统现今嵌入式系统中操作系统的加入也成为了开发者管理系统的一种重要手段。操作系统是连接计算机硬件与上层软件的系统程序。操作系统有两个基本功能:使得硬件便于使用;高效的组织和正确使用系统资源。操作系统主要有4 个功能:进程管理、进程间通信与同步、内存管理和i ,o 资源管理。嵌入式操作系统可以分为实时操作系统和非实时操作系统两类。实时操作系统的首要任务是调度一切可利用的资源来完成实时控制任务,其特点是通过任务调度来满足对于重要事件在规定的时间内做出正确的响应。比较典型的实时操作系统为心o s i i 。对于分时操作系统,软件的执行在时间要求上并不严格,时间上的延迟一般不会造成系统的严重错误。而对于实时操作系统,软件必须在事件发生时在严格的时限内做出响应( 系统响应时间) ,如i 抽u ) 【则为典型的分时操作系统。s t a | ! l l ( o v i c 给出了实时系统的定义:“实时系统是这样一种系统,即系统执行的正确性不仅取决于计算的逻辑结果,而且还取决于结果的产生时间”。实时系统又可以分为“硬实时系统”和“软实时系统”。硬实时和软实时的区别就在第3 页信息工程大学硕士学位论文于对时间的响应时间。硬实时系统绝对不能错过事件处理的时限,比如飞机的控制系统。软实时系统是指在系统负荷较重的时候,允许发生错过时限的情况,比如液晶屏刷新允许有短暂的延迟。多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键。单纯的通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成。所以为了合理地调度多任务、利用系统资源、系统函数以及专家库函数接口,用户必须自行选配实时操作系统,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量嘶】。1 2 3 嵌入式系统软件在嵌入式系统软件的结构中,除操作系统内核之外,最重要的部分莫过于为具体应用提供基础支持的高层软件部分。高层软件运行在实时操作系统内核之上,应用于各种需要的嵌入式设备中。其中g u i 接口便于人机交互,极大地方便了使用。人们不再需要死记硬背大量的命令,而可以通过窗口、菜单进行操作。所以友好的( 村i 是嵌入式应用开发的关键。而要进行互联网的接入t c p i p 协议栈的加入也是必需的,有了t c m p 协议的基础支持开发者可以方便的进行在网络方面的应用开发。1 3 嵌入式系统软件开发及移植方法1 3 1 嵌入式系统软件开发流程嵌入式系统软件开发流程一般由5 个阶段构成:l 、需求分析:为确定设计任务和设计目标,系统需求一般分为功能性需求和非功能性需求两方面。功能性需求是值指系统的基本功能,如输入输出信号、操作方式等:而系统性能、成本、功耗、体积、重量等因素是非功能需求。2 、体系结构的设计:根据需求描述系统如何实现功能和非功能需求,包括对硬件、软件和执行装置的功能划分以及系统的软、硬件选型等。3 、硬件,软件设计:基于设计好的体系结构,对系统的软件、硬件进行详细设计。4 、系统集成:把系统的软件、硬件和执行装置集成在一起进行调试,并改进和修改。5 、系统测试:测试设计好的系统是否能够满足需求。1 3 2 嵌入式系统软件移植方法在嵌入式系统的软件开发中,根据需求进行软件移植是嵌入式系统开发中广泛应用的第4 页信息工程大学硕士学位论文一种手段。移植是对现有软件进行分析和修改使其能够运行在具体硬件环境中。在一般嵌入式系统开发中,自行设计软件是一项复杂的工作,在很大程度上影响着整体开发周期。移植可以有效的缩短开发时闻以及节省人力资源,移植最重要的一点就是移植对象的选择。如开发可接入i n t e m e t 的p d a 设备,系统中软件层次的g u i 接口和t c p i p 协议栈的选择就很重要,需要根据硬件资源和功能需求来进行选择。g u l 接口和t c p i p 协议栈在整个嵌入式系统软件中可供选择的种类很多,每款都有自己的特点和优势。有的软件功能十分强大,但是所需内存和存储空间由于成本等各种因素并不一定适应硬件资源需求。所以,在移植之前需要对移植对象进行全面分析,这是保证系统软件开发很重要的一步。选择好移植对象之后,所要做的工作主要就是分析移植软件的层次结构,确定移植所需修改的部分。移植一般有以下三个步骤:低层接口由于硬件平台上的差异,要按照具体的硬件配置来进行移植。一般的商层软件都有自己的底层接口,如何使软件和硬件驱动结合在一起是移植要考虑的一个方面;软件配置对软件按照需求进行配置,通过配置来对软件进行裁减,根据功能选择所需要的部分,这样不但可以使得系统精简且可以节省存储空间;嵌入式操作系统配置最后一个方面在多任务的嵌入式系统中比较常见,一般多任务的嵌入式系统通常都有一个嵌入式的操作系统来对系统整体进行管理,软件如何和操作系统的结合也是移植必须要考虑的。鉴于最后一个问题,很多公司在开发高层软件时都将其和某一款操作系统来进行绑定,使得在进行高层软件对操作系统的移植时能够更加方便。由于嵌入式系统和具体应用密切相关,另外升级换代也和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定1 7 】。1 4 课题研究目标课题研究目标主要如下:首先,在以m m c 2 1 0 7 微控制器为核心的硬件平台和心,o s i i 做为操作系统的基础上分析移植两款嵌入式系统软件:g u i 接口和t c p i p 协议。然后,在g u i 接口和t c p i p 协议移植完成基础上开发嵌入式系统应用层程序。本课题选择目前嵌入式系统中使用较为广泛的两个应用程序作为开发目标:一个是使用触摸屏、液晶控制器及g u i 接口完成的中文输入法模块:另一个是结合g u i 接口和t c m p 协议设计开发的嵌入式w 曲浏览器。第5 页信息工程大学硕士学位论文1 5 论文整体框架本论文的结构如下:第一章为绪论,主要介绍课题的背景、目的及意义;第二章介绍整个移植及应用开发中使用的软、硬件环境;第三章详细描述g u i 接口的层次结构和移植方法:第四章详细描述t c m p 协议的层次结构和移植方法;第五章叙述系统应用层程序的具体开发实现,主要分为两个部分:一个是中文输入法的设计和实现,第二个部分是嵌入式浏览器的设计和实现;第六章为结束语。文章中的三、四、五章为重点。第6 页信息工程大学硕士学位论文第二章移植开发环境介绍嵌入式系统的开发需要开发环境,本章分3 个部分,主要介绍系统移植和开发的具体软、硬件环境,最后一部分介绍系统在开发中使用的交叉编译工具。2 1 硬件开发环境介绍硬件环境主要是课题组自行开发的m c 0 r e 硬件平台,其中以微控制芯片m m c 2 1 0 7为核心,外设包括存储模块、液晶显示模块、触摸屏模块和网络接口模块。硬件平台整体如图2 所示:触摸屏模块l 一微控制器jlim m 【c 2 1 0 7篡刹高网络接口模块ul存储模块r a m 存储器llf l a s h 存储器其他外设等图2 硬件平台整体框图2 1 1 微控制器嵌入式系统按照需求不同选用不同种类的嵌入式处理器。开发平台选用的微控制芯片m m c 2 1 0 7 是m o t o r 0 1 a 公司设计生产的一款基于m 2 1 0m i c r o r j s cc o r ec p u 的3 2 位微控制器。m m c 2 1 0 7 微控制器最高系统时钟可达3 3 m h z 。平台上扩展了2 m 的f l a s h 存储器和l m 的s r a m 存储器,前者用于存放用户的应用程序,后者存放程序运行时使用的临时变量等数据。m m c 2 1 0 7 时钟模块包括晶体振荡器( o s c ) 和锁相环电路( p l l ) ,可以通过外部晶体提供的时钟基准产生系统时钟,并且可编程选择系统时钟频率( 最高不能超过3 3 m h z ) 。两个可编程间隔定时器( p 盯) 各有一个1 6 位自由运行计数器,计数到0 可产生中断请求;两个定时器模块( t i m ) ,各有4 个1 6 位的输入捕获输出比较通道和一个1 6 位的脉冲累加器,当不使用该功能时,对应引脚可以作为一般的i ,o 引脚使用:看门狗定时器( w d t ) 是一个独立的1 6 位减计数器,一旦减计数到o ,发生下溢时,发出复位信号;队列式刖d 转换器( q a d c ) ,提供1 0 位转换精度的转换结果;两个标准的全双工式的异步串行通信接口( s c i ) 以及一个串行外围接口( s p i ) ,可以方便的挂接外部设备。中断控制器管理微控制器内部和外部的中断源,总共4 0 个中断源,其中8 个中断是由边沿端口输入的外部中断。中断控制器控制各中断的优先级以及屏蔽中断等,并最终形第7 页笪:垦三堡盔堂翌主兰堡丝塞成送到c p u 的中断。两个t a p 控制器( t c s ta c c e s sp o f t ) ,其中的0 n c e 控制器( o n - c h i pe m u l a t i o n ) 可以访问到c p u 以及与d e b u g g e r 有关的寄存器,以支持微控制器调试开发工具上载下载与调试有关的数据【8 9 】。2 1 2 液晶显示模块图形点阵液晶显示模块由于其具有显示信息丰富、功耗低、体积小、质量轻、寿命长、不产生电磁辐射污染等优点,近年来被广泛应用于各种嵌入式系统的显示前端。随着s t n和t f t 液晶显示屏技术的成熟发展及制造成本的不断降低点阵式图形液晶显示屏也就成为了嵌入式系统中最主要的图形显示设备。本开发平台的液晶显示模块液晶显示模块由l c d 屏、l c d 控制器和显示缓冲存储器三部分组成,其中l c d 屏选用信利公司的m g 3 2 0 2 4 0 型黑白液晶显示屏,其上覆盖有四线电阻式触摸屏,l c d 控制器选用e p s o n 公司的s 1 d 1 3 3 0 5 芯片,显示缓冲存储器采用两片6 2 l 2 5 6 构成,共6 4 k b ;触摸屏控制模块中的触摸屏控制器采用的为a d s 7 8 4 6 ,在a d s 7 8 4 6 和m m c 2 1 0 7 之间通过标准的s p i 口相连。2 1 3 网络接口模块为适应系统接入i n t e m e t 网络的需求,硬件平台配置有网络接口控制器n i c ( n 或i r i t e r f k ec o n 仃o l o r ) ,作为网络接口设备。在微控制器上运行嵌入式t c p 佃协议通信模块,就可实现嵌入式系统与i m m e 以m e m e t 网的连接。台选用台湾r e a l t e k 公司生产的r t l 8 0 1 9 a s 以太网接口控制器。r t l 8 0 1 9 a s 具有较高的性价比,是常采用的网络接口控制芯片。r t l 8 0 1 9 a s 芯片内部集成了d m a 控制器、i s a 总线控制器和集成1 6 k s r a m 、网络p h y 收发器。用户可以通过d m a 方式把需要发送的数据写入片内s r a m 中,让芯片自动将数据发送出去;而芯片在接收到数据后,用户也可以通过d m a 方式将其读出。2 1 4 触摸屏模块触摸屏由于具有轻便、节省空间、易于交流等许多优点,已经应用了到大多数的嵌入式产品中。电阻式触摸屏不需要在屏边沿安装附加器件,透光度、清晰度、耐用度及分辨率也比较好,大量用于使用电池的嵌入式系统中。触摸屏输入系统中触摸屏采用信利公司的四线电阻式触摸屏,触摸屏控制器采用a d s 7 8 4 6 【,在a d s 7 8 4 6 和m m c 2 1 0 7 之间通过标准的s p i 口相连。2 2 嵌入式操作系统环境在嵌入式系统的开发中,软件环境具有极其重要的地位。本节介绍多任务管理和高层软件栈移植的基础嵌入式操作系统。随着硬件的发展,嵌入式系统的应用领域日益扩大,第8 页信息工程大学硕士学位论文提供的应用功能也越来越复杂,有许多功能需要由操作系统来提供。嵌入式操作系统是由于工程实践的需要而诞生的,而其所使用的技术,基本上是从台式计算机操作系统演变而来的。由于应用需要和硬件条件限制,嵌入式操作系统一般都注重占用空间与效率等因素。嵌入式系统中使用操作系统也成为了一种趋势【l l l 。由于课题研究的是一个多任务运行的嵌入式系统,以操作系统为基础来进行开发会带来很大便捷。本课题选择嵌入式操作系统u c 0 s i i i l 2 】为整个系统的基础。2 2 1 “c ,o s i i 简介“c o s i i 是一个免费的源代码公开的实时嵌入式内核,它为系统提供了硬件资源管理、消息管理、任务调度、异常处理等。肛c o s i i 可以管理6 4 级任务,其中系统保留了4 个最高优先级和4 个最低优先级,用户可以使用5 6 个应用任务。h c o s i i 为本课题的高层软件的移植和开发基础,课题使用的版本为2 5 2 。“c o s - 是一种基于优先级的可抢先的多任务内核。多任务运行的实现实际上是靠c p u ( 中央处理单元) 在许多任务之间转换和调度。c p u 只有一个,轮番服务于任务中的某一个。多任务运行使c p u 利用率很高,并使应用程序模块化。在实时应用中多任务的最大特点是开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计和维护。以上是“c 0 s i i 多任务实现机制简要分析。2 2 2 “c o s - i ia p i 简介肛c o s i i 提供了大量的a p i ( a p p l i c a t i o np r o f a m m i n gi n t e r f a c e ) 供用户使用,心o s 内核提供的a p i 大多和多任务息息相关。主要的有以下几类:任务类、消息类、同步类、时间类、临界区与事件类。任务类和时间类是最常用的两种的a p i ,其中较常用的如:0 s 1 a s k c r e a t e 函数函数至少在m a i n 函数中调用一次,在o s i n i t 函数初始化后调用。作用为创建一个任务。四个参数分别是任务的入口地址、任务的参数、任务堆栈的首地址和任务的优先级。调用函数后,系统会从t c b 空闲列表中申请一个空的t c b 指针。然后根据给出参数初始化任务堆栈,并在内部任务就绪表内标记该任务为就绪状态。o s k s u s p e n d 函数函数可以将指定的任务挂起。如果挂起为当前任务,则会调用系统执行任务切换函数o s s h e d 来进行一次任务切换。函数只有一个参数为指定任务的优先级。由于“c o s i i 不允许出现相同优先级的任务,所以优先级也就是任务的i d ,这样在系统内部不会造成混乱。o s 协k r e s 啪e 函数函数和0 s 亿k s u s p e n d 相反,用于将已挂起的任务恢复成就绪状态。如果恢复任务的优先级高于当前任务,则引发一次任务切换。其参数为任务的优先级。0 s _ e n t e 艮r j t i c a l 宏和o s _ e x i l c r i t i c a l 宏这两个宏是涉及特定c p u 的实现,一般都被替换为具体机器的嵌入式汇编代码。执行第9 页堡星三堡盔兰翌圭兰堡堡奎此条指令后系统进入临界区。这样,只要任务没有完成,别的任务是无法抢占c p u 的。0 s 1 1 m e d l y 函数函数完成功能为先挂起当起当前任务,然后进行任务切换,在指定的时间到来之后,将当前任务恢复为就绪状态,但并不一定运行,如果恢复后是优先级最高的就绪任务,则运行。也就是暂时放弃c p u 的使用权。在弘c o s i i 中,每个任务都有一个任务控制块( t 鹪kc o n t r o lb l o c k ) ,每个任务都有自己的专用堆栈。在任务控制块的偏移为o 的地址,存储一个指针记录了所属任务的专用堆栈地址。般把它们申明成静态数组,申明成0 s - s t k 类型。任务有了自己的堆栈,就可将每一个任务堆栈记录到任务控制块偏移为o 的地址。每当发生任务切换,系统必然先进入一个中断,然后系统会保存当前任务的堆栈地址,接着恢复要切换任务的堆栈地址。如此则达到了修改p c 为下一任务地址的目的。每一个“c 0 s i i 应用至少要有一个任务。而每一个任务必须被写成无限循环的形式。一般任务程序结构如下:v o i dt a s k ( v o i d + p da _ c a )i n t 8 ue 眦f o “;)应用程序代码2 3 交叉编译环境c o d e 、v a r r i o rc o d e w i 盯i o r i d e 是由m e t i _ o w e r k s 公司开发的用于调试m c o r e 系列微控制器应用程序的集成开发环境,包括工程管理器、源代码编辑器、类浏览器、编译器、连接器、调试跟踪器,适用于多种操作系统平台,可以调试多种语言编写的应用程序。利用该调试环境提供的图形用户界面可以方便地编写和调试程序。使用步骤如下:l 、建立工程文件( p r o j e c t ) :在c o d e w i r r i o r 中利用工程( p r o j e c t ) 来管理所使用的文件,包括头文件、库文件、源文件、连接文件、汇编语言文件等。在c o d e w 枷o ri d e 向导( 谢z a r d ) 的帮助下可以快捷地建立工程文件。在选取合适的m c 0 r e 开发扳并设置好开发板类型、d e b u g 接口( 如e b d i ) 和程序设计语言后,系统将自动生成一个基本的工程文件。在初始工程文件中只包含源文件、库文件和运行库文件,这些文件是工程文件最基本的组成部分。用户依据应用需要添加其它文件,如c 文件、头文件和汇编文件等。2 、工程文件设置:建立工程文件之后,需要对工程文件的属性进行设置。工程文件的属性包括目标属性、第l o 页信息工程大学硕士学位论文语言属性、生成代码属性、链接器设置、编辑器设置和调试器设置等。此处主要阐述如何设置m c o i 汪开发平台的存储器配置文件和初始化文件,其它属性用户可以依据需要选定。3 、设置链接文件l i n k e l l c f 链接文件是工程文件的重要组成部分,是对工程文件进行编译的依据,主要作用是安排用户程序在存储器中的位置和设置程序运行需要的栈和堆空间,栈中存放的是程序运行的现场,堆中存放的是程序运行中用到的临时变量等。c o d e w a m o r i d e 生成工程时,自动生成链接文件,并在该文件中对程序空间进行了最简单的分配,包括程序段、数据段和未初始化数据段,并指出各段的内容。应根据实际需要修改文本段、数据段、栈段、堆等的位置和大小。进行调试时,使用初始设置即可。4 、目标代码生成及下载:在上述工作完成之后,将工程文件进行编译连接,编译连接之后形成s 记录格式的可执行文件。m m c 2 1 0 7 支持从内部或者外部引导设备引导,是根据复位配置时的采样值决定的。m c o r e 开发平台上的跳线开关b 0 0 te n 的设置值决定了m m c 2 1 0 7 是从内部存储器还是外部存储器引导。如果选择片内r o m 引导的话,则可使用c o d e w a m o ri d e 自带的s y s d s 将可执行文件下载到m m c 2 1 0 7 的片内f l a s h 。如果要使用片外r o m 引导启动的话,则需要使用串口将可执行文件传入r a m 后再写入m c o r e 开发平台上的片外f l a s h中,加电后即可执行。除可执行文件外,需掉电保存的用户数据也可以生成s 文件下载到m c o r e 开发平台上的片内f l a s h 或片外f l a s h 内。5 、调试运行:c o d e w a r r i o ri d e 支持在线调试,调试中可以设置断点,进行单步跟踪,查看变量、寄存器和存储器的值等等f 14 1 5 ,1 6 1 。2 4 小结本章介绍了整个系统的开发环境,对硬件平台的配置进行了简要说明,对嵌入式操作系统环境“c o s i i 进行了介绍。交叉编译环境c o d e w 硎o r 作为整个课题使用的工具也进行了叙述。第1 i 页信息工程大学硕士学位论文第三章g u l 分析及移植图形用户接口( g r a p h i c su s e ri m e r f k e ,简称g u i ) 1 1 7 】是指计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。计算机的发展史不仅是计算机本身处理速度和存储容量飞速提高的历史,而且是计算用户界面不断改进的历史。嵌入式g u i 为嵌入式系统提供了一种应用于特殊场合的人机交互接口。嵌入式g u i要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。嵌入式g u i 具备以下特点:体积小运行时耗用系统资源小上层接口与硬件无关,高度可移植高可靠性在某些应用场合应具备实时性3 1 嵌入式g u i 的结构层次结构对于嵌入式系统来说是必不可少的一部分,好的层次结构可以使得开发人员或用户方便的开发应用。了解g u i 的层次结构对于分析g u i 有很大帮助。常见的g u i 层次结构如图3 所示:i用户层( 用户程序调用或o s 调用)善i高级接口层( 提供窗口、图标等)i基本图形层( 提供画线函数等)i 硬件驱动层( 数据转换、硬件驱动等)i显示设备( 用于图形输出)图3z l g ,g u i 的层次关系图随着嵌入式系统的日益发展,3 2 位嵌入式处理器及图形显示设备的广泛应用,目标产品对g u i 的需求越来越多。z l g g u i 是占用资源小、使用方便的嵌入式系统简易的图形用户界面软件,z l g g u l 提供了最基本的画点线圆形圆弧椭圆形矩形正方形填充等功能,接口功能有a s c 显示、汉字显示、图标显示、窗口、菜单等,支持单色、灰度、伪彩、真彩等图形显示设备【1 8 1 。笫1 2 页信息工程大学硕士学位论文3 1 1z l g g u i 的层次结构z l g g u f 明系统采用分层结构的设计思想,既是为了可根据需要分层进行修改,同时也是将各屡之问进行封装。应用程序在使用g u i 时,只能访问由a p i 层提供的一个标准用户程序接口,而其它所有有关对象的信息则被封装在图形引擎层中。对用户而言,这些对象信息己被隐藏起来,是不可见的;对象提供的一些服务,需要由用户通过向它发送消息来实现,用户是通过调用a p i 层提供的相应接口函数来发送消息的。通过对对象状态以及内部细节的隐藏,增强了g u i 的稳固性和可维护性。3 1 1 1g u i 层次说明本节将z l 例g u l 分为三个层次来进行说明:硬件驱动层:这一层主要负责硬件驱动将显示数据转换并发送给图形显示设备。用户在该层上进行显示设备硬件及显示缓冲区的设置、处理画点、水平线、垂直线等操作。对于不同的图形显示设备需要对这一层进行更改。z l 0 ,g u i 对于嵌入式系统图形显示设备一般为点阵式图形液晶显示模块,即l c m 。对于不同的图形设备可分为单色、灰度及彩色三种。它们的硬件控制操作初始化操作显示缓冲区的处理方法是不一样的。基本图形层:这一层提供了其本的画线、圆形、圆弧、椭圆形、四方形、矩形填充等功能。该层的主要特点是进行各种运算实现图形显示。这一层的程序会直接调用硬件驱动层的函数实现显示更新。高级接口层:主要为用户提供窗口图标菜单等图形接口。一般直接调用第二层的基本画图函数来实现。但为了加快刷新速度可以调用第一层的驱动函数发送数据。该层的主要特点是进行各种数据结构处理将它们转换为显示的具体参数,并控制画图操作。在实际较大型g u i 系统中其接口设置会更复杂一些,一般是以消息驱动为基础,具有大量的图形资源操作函数数据结构,这样即可实现代码的最大重复利用,形成一个规范的接口方式方便编程及扩展具有很好的图形效果。3 1 1 2g u i 文件组成在z l g g u i 的文件结构组成中,其函数是按功能分类的,并且分别编写到不同的文件中,如下所示:g u ib a s e c文件中包含基本图形操作函数g u is 1 d c k c c显示颜色管理函数c o n v e r t c 0 l o r c颜色转换操作函数f o n t 57 c5 7 a s c i i码字库及显示函数f o n t 8 8 c8 8 a s c i i码字库及显示函数第1 3 页信息工程大学硕士学位论文f o n t 2 43 2 c2 4 3 2 数字库及显示函数l o a d b i t c单色图形及汉字显示函数m e n u c图标菜单下拉菜单操作函数w i n d o w c窗口操作函数c o n f i q h声明常用宏包含所有项目所用的头文件( 方便项目管理)g u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南省公务员考试面试真题解析
- 成都市 2024-2025 学年小学五年级科学期中(第 1-4 单元)模拟卷及答案
- 2024-2025 学年成都市小学五年级语文期中模拟试卷及详细答案
- 高中语文必修上册同步练习 含答案-4 “探界者”钟扬
- 2025年高三数学下学期压轴题专项训练
- 2025年关于口腔的试题及答案
- 2025年草学综合试题及答案
- 2025年国家公务员录用考试公共基础知识预测押题试卷及答案(共十套)
- 2025年高中生物上学期期中模拟
- 个人简历模版(三页)带封面(可编辑)艺术总监岗位
- 2025年入团考试知识总结试题及答案
- 2025年健康险行业分析报告及未来发展趋势预测
- JJF 2291-2025辉光放电质谱仪校准规范
- 出租注册地址合同范本
- 统编版(2024)三年级上册道德与法治第二单元 爱科学 学科学 教案(4-6课)
- 2025年合肥文旅博览集团招聘笔试参考题库含答案解析
- 山东省烟台市2024-2025学年高二上学期期中考试政治试题 含解析
- 返工返修流程及作业指导书
- GB/T 16857.12-2022产品几何技术规范(GPS)坐标测量系统(CMS)的验收检测和复检检测第12部分:关节臂式坐标测量机
- FZ/T 81013-2016宠物狗服装
- 梁场设计布置与施工全解课件
评论
0/150
提交评论