




已阅读5页,还剩53页未读, 继续免费阅读
(模式识别与智能系统专业论文)基于嵌入式linux的学习机软件系统开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人连理丁大学硕士学何论文 摘要 由于人们对知识的渴求和学习方式的多样化,学习机做为一种学习的辅助工具正大 规模走入学生的学习生活。并且随着电子技术和嵌入式技术的迅猛发展,其功能不再局 限于电子词典的范畴,正朝着多学科、多功能和专业化的方向发展。本课题是实验室与 大连爱丁数码有限公司的合作开发项目,主要研发针对职业教育的下一代“翰林提”学 习机产品。 本文采用以$ 3 c 2 4 1 0 嵌入式处理器为核心的硬件平台。首先,搭建好了嵌入式l i n u x 平台,包括交叉编译环境的建立、b o o t l o a d e r 的移植、内核的配置以及根文件系统的制 作,并且在对m i n i g u i 所需附加库编译及m i n i g u i 交叉编译之后,成功地对其进行了 移植,为后续开发创造了条件。其次,基于m i n i g u i 实现了简单的客户) r 务器 ( c l i e n t s e r v e r ,c s ) 模型,用g n u 工具搭建了学习机的软件开发工程,实现了基于m a k e 管理工具的可移植工程模块的制作,完成了学习机软件系统的架构设计。之后详细介绍 了英语学习模块的功能、m i n i g u i 应用程序的结构、应用程序的开发以及基于s q l i t e 嵌入式数据库的词库查询技术,实现了单词、对话、专业词汇练习以及词典查询等英语 学习的功能。最后,设计了无线传输模块的通信协议,无线通信设备使用串行通信方式 与应用端进行数据的交互,采用n r f 2 4 0 1 射频收发芯片实现了学习机无线传输的功能, 并详细的介绍了发送与接收时数据帧的处理过程。 本课题由实验室三位同学共同合作完成硬件与软件的设计与丌发,在实验室环境下 对系统各个子模块进行了分别测试以及整合测试,测试结果表明,软件系统达到了合作 方的要求,具有较好的稳定性和实用性。 关键词:学习机;嵌入式l i n u x ;m i n i g u i ;s q l it e ;无线传输 基y - l i n u x 的学习机软件系统设计与开发 d e v e l o p m e n t o fl e a r i n gm a c h i n es o f t w a r es y s t e mb a s e do ne m b e d d e d l i n u x a b s t r a c t b e c a u s eo fp e o p l e si n c r e a s i n ga s p i r a t i o nf o rk n o w l e d g ea n dt h ed i v e r s i f i c a t i o no fs t u d y m e t h o d ,l e a r n i n gm a c h i n ei sw i d e l yu s e di ns t u d e n t s s t u d ya sak i n do fa s s i s t a n tt 0 0 1 m e a n w h i l e ,w i t ht h er a p i dd e v e l o p m e n to fe l e c t r o n i ca n d e m b e d d e dt e c h n o l o g y ,i t sf u n c t i o n i sn ol o n g e rl i m i t e dt ot h e c a t e g o r y o fe l e c t r o n i c d i c t i o n a r y ,b u td e v e l o p i n g t ob e m u l t i d i s c i p l i n a r y ,m u l t i f u n c t i o n a la n ds p e c i a l i z e d t h i ss u b j e c ti sd e v e l o p e db ya i d i n gc o r p a n do u rl a b o r a t o r y ,w h i c ha i m st od e s i g nt h en e x tg e n e r a t i o n h a n l i n t i l e a r n i n gm a c h i n e p r o d u c t t h ee m b e d d e dh a r d w a r ep l a t f o r mw i t h $ 3c 2 410p r o c e s s o ri su s e di nt h i sp a p e r f i r s t l y , t h ep l a t f o r mo fe m b e d d e dl i n u xh a sb e e ne s t a b l i s h e da f t e rs o m ec o r et a s k sw e r ec o m p l e t e d , i n c l u d i n gt h ec r o s s - c o m p i l i n ge n v i r o n m e n th a sb e e nb u i l t ,b o o t l o a d e rt r a n s p l a n t e d ,k e r n e l c o n f i g u r a t i o nd o n e ,a n dt h er o o tf i l es y s t e mm a d e ;a n dw i t ha d d i t i o n a ll i b r a r yh a v i n gb e e n c o m p i l e da n dm i n i g u ic r o s s c o m p i l e d ,t h em i n i g u ii st r a n s p l a n t e ds u c c e s s f u ll y ,t h e nt h e c o n d i t i o n sf o rt h ed e v e l o p m e n to ff o l l o w u pa r es u p p o r t e d s e c o n d l y ,t h es o f t w a r es y s t e m a r c h i t e c t u r eh a sb e e nd e s i g n e db yi m p l e m e n to fas i m p l ec sm o d e lb a s e do nm i n i g u i ,t h e s o f t w a r ed e v e l o p m e n tp r o j e c tb u i l tw i t hg n ut o o l s ,a n dt h ei m p l e m e n to fp o r t a b l ep r o j e c t m o d u l ew i t hm a k e m a n a g e m e n tt o o l s t h i r d l y ,t h ef u n c t i o no fe n g l i s hl e a r n i n gm o d u l e ,t h e s t r u c t u r eo fm i n i g u ia p p l i c a t i o n ,t h ed e v e l o p m e n to fa p p l i c a t i o np r o g r a m sa n dt h e t e c h n o l o g yo fl e x i c o nq u e r yb a s e do ns q l i t ee m b e d d e dd a t a b a s ea r ed e s c r i b e di nd e t a i l ;t h e f u n c t i o no fl e a r n i n ge n g l i s hi si m p l e m e n t e ds u c ha st h ee x e r c i s e so fw o r d s ,d i a l o g , s p e c i a l i z e dv o c a b u l a r ya n dt h eq u e r yo fd i c t i o n a r y f i n a l l y , t h ec o m m u n i c a t i o np r o t o c o lo f w i r e l e s st r a n s m i s s i o nm o d u l eh a sb e e nd e s i g n e d ,t h es e r i a lc o m m u n i c a t i o nm o d ei su s e di n d a t a e x c h a n g eb e t w e e nw i r e l e s sd e v i c ea n da p p l i c a t i o nt e r m i n a l ,t h ew i r e l e s st r a n s m i s s i o n f u n c t i o no fl e a r n i n gm a c h i n ew i t hn r f 2 4 0 1r ft r a n s r c v rc h i pi sr e a l i z e d ,a n dt h e f l a m eo ft r a n s r c v rp r o c e s si si n t r o d u c e di nd e t a i l w et h r e es t u d e n t si nt h es a m el a b o r a t o r yc o l l a b o r a t ea n dc o m p l e t et h ed e s i g na n d d e v e l o p m e n to fh a r d w a r ea n ds o f t w a r e ,t h e nr u nb o t hf u n c t i o n a lt e s ta n di n t e g r a t i o nt e s t t h e r e s u l t ss h o wt h a tt h es o f t w a r es y s t e mi ss t a b l ea n dp r a c t i c a b l e ,a n dm e e t sw i t ht h e r e q u i r e m e n to fp a r t n e r s k e yw o r d s :l e a r n i n gm a c h i n e ;e m b e d d e dl i n u x ;m i n i g u i ;s q l i t e ;w i r e l e s st r a n s m i s s i o n 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:壅重塞蕉兰兰! 丝鱼圣盟生筮鱼羞逢盈煮 作者签名:么丛日期:丝星年生月旦日 大连理。 大学硕十研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 蕉主毖。厶盛纽丛鱼刍茎塑查坠筮丝表蕴垂筮 作者签名: 导师签名: 日期:兰丝年旦月兰l 日 日期:兰丝g年上l 月鱼l 日 大迕理一【:大学硕士学1 1 :7 :论文 1绪论 1 1 课题背景与意义 随着电子技术、无线通讯技术、嵌入式软硬件技术的突飞猛进,掌上电子产品的应 用范围也越来越广泛。人们的日常生活越来越离不开这些电子产品,从最初的电子记事 本、电子词典到高级寻呼机、掌上电脑、手提电脑,再到智能手机,各种p d a ( p e r s o n a l d i 西t a la s s i s t a n t ,个人数据终端) 产品正大踏步地走入我们的日常生活。 同时,p d a 技术又向着多样化发展,除了通常意义上的个人数据终端,各种电子词 典、学习机越来越受到中小学生的欢迎。他们具有体积小、易于携带、易操作、信息量 大的优点。由于国内特定的教育环境,造成了相关教育产业的发展壮大。众多的消费类 电子厂商也发现了这一规模庞大而又稳定的教学辅助消费市场【l 】。目前市场上学习机的 主要功能是英语词典、试题题库,用户主要是中小学生,产品同质化严重。 随着学习机软硬件功能的日益强大,其完全可以在具有通用学习机功能的基础上具 有专有的特性,来替代成本较高的计算机,比如说在职业培训领域的五笔学习。同时职 业培训学校对这样性价比极高的学习机产品也具有相当大的需求。大连爱丁数码有限公 司敏锐的发现了这个市场,并开发了用于职业教育的学习机,此产品可外接标准键盘来 实现五笔练习、英文练习、日文练习等通常需要计算机平台才能完成的功能,同时还具 有英汉词典、记事本等常用学习机的功能,获得了非常好的效益。随着市场的发展和技 术的进步,基于5 1 单片机的上代平台已经不能满足市场的需求,因此教研室和爱丁公 司合作开发基于a r m 9 平台的新一代产品。 1 2 学习机的技术发展现状和趋势 1 2 1 学习机的技术发展的现状 数码学习机的发展主要经历了电子词典、英语复读机、学习机三个阶段。第三代的 数码学习机凭借微型掌上电脑软硬件技术,集成了复读机、电子辞典、电子书、u 盘、 m p 3 、录音笔等众多功能。主要的学习机生产厂商有:文曲星、诺亚舟、快译通、好记 星等。 目前市场上的学习机按采用的处理器可大致分为两类:一类是采用8 位或1 6 位单 片机作为处理核心;另一类是采用3 2 位嵌入式微处理器( 如a r m 核心的3 2 位处理器) 作为处理核心【2 】。下面具体分析这两类产品的硬件和软件技术特性。 基于l i n u x 的学习机软什系统设计与开发 一类产品由于采用的是计算性能有限的8 位或1 6 位单片机( 如5 1 系列) ,片内存储 单元有限,可扩展能力差。局限于处理核心的计算能力和硬件资源的数量,此类产品无 法运行大部分主流嵌入式系统,用于人机交互的显示屏通常是单色l c d 。同时商业实时 性嵌入式操作系统虽然占用资源少、稳定性高,但是由于成本昂贵,在消费类电子产品 中很少使用。因此大部分厂商都自己开发简单操作系统来实现资源的管理和人机的交 互。此类产品的功能较为简单,通常只有英汉词典互查、记事本、课程表和少量简单游 戏,目前市场上低端产品大多属于此类,价格多在5 0 0 元以下。 二类产品采用的是3 2 位多功能微处理器芯片( 如基于a r m 核心的$ 3 c 2 4 1 0 芯片) , 此类处理器拥有可与早期奔腾相媲美的计算能力,以及3 2 位地址线可扩展大容量的存 储单元,因此可外接多种存储设备,可外接多种外设,可以实现诸如彩色显示、触摸屏 输入、媒体播放、与网络互联等原先只能在高端p d a 产品上才具有的功能。如此众多 的硬件设备资源需要专用的操作系统来管理,消费类产品主要采用的嵌入式操作系统有 m i c r o s o f t 公司开发的w i n c e 和由开源社区维护的嵌入式l i n u x 系统等。用于实现用户 接口的嵌入式图形中间件主要有飞漫公司开发的m i n i g u i 和奇趣科技开发的q t e t 2 1 。 还有部分有实力的厂商自己开发嵌入式操作系统。此类产品的价格多在5 0 0 2 0 0 0 元。 1 2 2 学习机的发展趋势 作为消费类电子产品,随着嵌入式计算机技术的进步,学习机向着高性能、多功能 化、网络化、高可扩展性的方向发展。部分学习机在具有通用功能的基础上会突出专有 的行业应用。主要表现在如下几个方面: ( 1 ) 高性能。随着3 2 位嵌入式微处理器的日益普及,大容量存储单元的使用,触 摸屏技术的日益完善,学习机的性能也越来越强大。 ( 2 ) 多功能。除了原有的电子词典功能外,还有蓝牙、多媒体等功能。 ( 3 ) 网络化。可以通过有线或者无线的方式实现互联。 ( 4 ) 高可扩展性。可扩展多种外接部件。 1 3 本文主要研究内容与章节安排 本文介绍了“翰林提”学习机的应用6 订景、开发平台的建立和软件设计方法。重点 分析了学习机软件系统的丌发和实现。具体内容如下: 第一章,绪论部分。介绍了课题的背景与意义,学习机的技术分析与发展趋势,以 及所研究工作的内容概述。 第二章,嵌入式系统与m i n i g u i 概述。主要介绍了两者的定义、特点与优势。 大迮理1 :大学硕_ f 二学位论文 第三章,嵌入式l i n u x 平台的搭建与m i n i g u i 的移植。主要介绍了交叉编译环境的 建立,b o o t l o a d e r 的移植,内核的配置,根文件系统的制作,以及m i n i g u i 的附加库的 编译和交叉编译。 第四章,学习机软件系统的架构设计。介绍了学习机应用软件系统架构,微服务器 模块的设计与实现,以及使用g n u 工具实现多模块程序的开发与维护。 第五章,英语学习模块的实现。详细介绍了模块功能、程序结构、m i n i g u i 应用程 序的基本结构以及应用程序的开发,并对该模块中的词库查询功能模块做了详细介绍。 第六章,无线传输模块的实现。介绍了模块的功能,通信协议的设计以及学习机无 线传输功能的实现。 基t - l i n u x 的学习机软什系统设计与开发 2 嵌入式系统与m inig ul 概述 2 1嵌入式系统概述 2 1 1 嵌入式系统的定义及特点 嵌入式系统是随着计算机技术、微处理器技术、电子技术、通信技术、集成电路技 术的发展而兴起的,己成为计算机技术和计算机应用领域的一个重要组成部分。现在, 嵌入式系统在各行各业有着广泛的应用,但对它的定义还没有一个公认的标准。一般来 说,嵌入式系统被定义为:以应用为中心,以计算机技术为基础,软硬件可裁减的,适 用于实际应用中对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统【3 】。 嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统及应用软件系统等 组成,用于实现对其他设备的控制、监视或管理等功能。 嵌入式系统与专用计算机系统相比有五个明显的特点【4 j : ( 1 ) 专用性。专用性是指嵌入式系统通常是面向用户、面向产品、面向特定应用的, 可根据需要灵活定制,不具有通用性。而且为了降低成本,要求使用尽可能少的硬件资 源,在满足系统要求的基础上达到成本最小化。 ( 2 ) 可封装性。可封装性是指嵌入式系统隐藏于目标系统内部而不被操作者察觉。 ( 3 ) 实时性。实时性是指与实际事件的发生频率相比,嵌入式系统能够在可预知的 极短时间内对事件或用户的干预做出响应。 ( 4 ) 高可靠性。可靠性是因为嵌入式系统一般应用在现场控制领域,所以系统必须 非常的稳定可靠,不能出现系统崩溃或者死机等情况,在恶劣的环境或突然断电的情况 下,系统仍然能够正常工作。 ( 5 ) 软件固化存储。嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化 在只读存储器中或闪存中,而不是存储在磁盘等载体中。 嵌入式微处理器一般是指单芯片、外设控制器丰富的c p u 。常见的嵌入式c p u 的 内核体系有x 8 6 ,a r m ,m i p s ,s h 及d s p 等,其中a r m 体系的c p u 应用最为广泛。 2 1 2 嵌入式操作系统及嵌入式l n u n 最初,简单嵌入式系统只包括两部分:嵌入式硬件平台和嵌入式应用软件。但随着 嵌入式系统硬件的发展和任务的日益复杂化,嵌入式操作系统( e m b e d d e do p e r a t i n g s y s t e m ,e o s ) 已成为嵌入式系统的重要组成部分。嵌入式操作系统是连接硬件平台和 大连理丁大学硕士学位论文 应用软件的桥梁,通过引入嵌入式操作系统,开发人员可以避丌复杂的硬件操作程序, 像在普通p c 机上编程一样进行应用软件开发,从而大大提高了开发效率和速度【5 】。 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为 重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通 信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点, 如能够有效管理复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序 移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。除此之外, 与通用操作系统相比,嵌入式操作系统还具有以下特剧6 】: ( 1 ) 体积小。嵌入式系统不像一般的计算机系统那样具备硬盘这样的大容量存储介 质,它大多使用闪存( f l a s hm e m o r y ) 作为存储介质。这就要求嵌入式操作系统只能运行 在有限的内存中,不能使用虚拟内存,中断的使用也受到限制。因此,嵌入式操作系统 必须结构紧凑、体积微小。 ( 2 ) 实时性。一般的桌面操作系统基本上是根据人在键盘和鼠标上发出的命令进行 工作,人的动作和反应在时序上并不很严格。而大多数嵌入式操作系统工作在对实时性 要求很严格的场合,主要对仪器设备的动作进行检测控制,这种动作具有严格的、机械 的时序,因而要求嵌入式操作系统具有实时性。 ( 3 ) 强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这 就要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性。嵌入式操作系统的 用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。 ( 4 ) 可剪裁性。任何一个嵌入式系统都是针对特定应用而设计的,因此,只要从原 有的操作系统中把这个特定应用所需要的功能拿来即可,也就是说,嵌入式操作系统可 以根据硬件环境和应用环境的不同进行灵活的裁剪和配置,以适应嵌入式硬件平台的多 样性和低成本。 ( 5 ) 固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统 计算机的只读存储器( r o m ) 中,辅助存储器在嵌入式系统中很少使用。因此,嵌入式操 作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统代替。 ( 6 ) 可移植性。针对嵌入式平台的多样性和c p u 的快速更新,嵌入式操作系统要 具有良好的硬件适应性和可移值性。 ( 7 ) 统一的接口。嵌入式操作系统提供了各种设备驱动接口,包括块设备、字符设 备和网络设备接口,用户只需要丌发相应的板级支持包( b o a r ds u p p o r tp a c k a g e ,b s p ) 和上层程序即可。 基y - l i n u x 的学习机软仲系统设计与开发 常见的嵌入式操作系统有w i n d o w sc e 、v x w o r k s 、p a l mo s 、p s o s 、嵌入式l i n u x 、 e p o c 、l ac o s i i 等。它们中的大部分都是商业化产品的专用操作系统,价格高昂。国 际上用于信息电器的嵌入式操作系统有4 0 种左右,其中三种常用的嵌入式操作系统有: p a l mo s 、w i n d o w sc e 和嵌入式l i n u x ”。本文是以嵌入式l i n u x 作为嵌入式操作系统 的。 嵌入式l i n u x 就是将日益流行的l i n u x 操作系统内核进行裁剪、修改,使之能在嵌 入式计算机系统上运行、并满足系统硬件及特定应用要求的一种操作系统。嵌入式l i n u x 操作系统具有嵌入式操作系统的基本特点,与其他嵌入式操作系统相比,它还具有以下 特点【8 】: ( 1 ) 源码开放、价格低廉。l i n u x 系统与u n i x 系统兼容,内核代码完全免费开放, 不同领域、层次的用户可根据自己的应用需要很容易地对系统内核进行裁剪和添加改 造,在低成本的前提下,设计开发出满足自己需要的嵌入式系统。 ( 2 ) 内核精简。用户可根据自己的设计需要配置内核,裁减掉不需要的功能。 ( 3 ) 强大的网络支持功能。由于l i n u x 诞生于因特网并具有u n i x 的特性,所以它 支持所有的标准因特网协议,并且可以利用l i n u x 的网络协议栈将其开发成嵌入式的 t c p i p 网络协议栈,而不必像其他的操作系统那样要外挂t c p i p 协议包。 ( 4 ) 良好的可移植性。嵌入式l i n u x 适用于不同的c p u ,支持多种体系结构,如 x 8 6 、a r m 、m i p s 、a l p h a 、s p a r c 等。l i n u x 符合i e e ep o s i xl 标准,在其上丌发 的应用程序具有较好的可移植性。 ( 5 ) 驱动丰富。l i n u x 具有常用的嵌入式芯片驱动程序,支持大量的外围硬件设备。 ( 6 ) 嵌入式l i n u x 具备一整套工具链,具有很好的开发测试工具,容易自行建立嵌 入式系统的开发环境和交叉运行环境,可以跨越嵌入式系统开发中仿真工具 i c e ( i n c i r c u i te m u l a t o r ) 的障碍。一般的嵌入式操作系统的程序调试和跟踪都使用仿真 器束实现,而使用l i n u x 系统做原型时,可以直接用内核调试器来做操作系统的内核调 试和查错。嵌入式l i n u x 可以利用g n u 项目的c c + + 编译器g c c 来编译程序,使用 g d b 源程序级调试器来调试程序。 ( 7 ) l i n u x 的高度模块化使得添加部件非常容易。 2 2minig ui 概述 2 2 1minig ul 简介 m i n i g u i 原是由魏永明主持的一个自由软件项目( 遵循g p l 条款发布,现由北京飞 漫软件技术有限公司维护并丌展后续开发) 。其目标是为基于l i n u x 的实时嵌入式系统 大连理t 大学硕士学位论文 提供一个轻量级的图形用户界面支持系统。该项目自1 9 9 8 年底开始到现在,已经非常 成熟和稳定,并且在许多实际产品或项目中得到应用。目前,m i n i g u i 的最新稳定版是 1 3 3 【9 1 。 2 2 2minig 的技术特点 首先,m i n i g u i 是一个根据嵌入式系统应用特点量身定做的完整g u i 系统。它的主 要功能特点包括【1 0 】: ( 1 ) 遵循g p l 条款发布的自由软件,全部源代码以及开发指南、a p i 参考手册等, 均可以从网上免费获得。 ( 2 ) 提供了完备的多窗口机制和消息传递机制。 ( 3 ) 提供常用的控件类,包括静态文本框、按钮、单行和多行编辑框、列表框、组 合框、进度条、属性页、工具栏、拖动条、树型控件、月历控件等。 ( 4 ) 对话框和消息框支持。 ( 5 ) 其它g u i 元素,包括菜单、加速键、插入符、定时器等。 ( 6 ) 通过两种不同的内部软件结构支持低端显示设备( 比如单色l c d ) 和高端显示 设备( 比如彩色显示器) ,后者在前者的基础上提供了更加强大的图形功能。 ( 7 ) w i n d o w s 的资源文件支持,如位图、图标、光标等。 ( 8 ) 各种流行图像文件的支持,包括j p e g 、g i f 、p n g 、t g a 、b m p 等等。 ( 9 ) 多字符集和多字体支持,目前支持i s 0 8 8 5 9 1 i s 0 8 8 5 9 1 5 、g b 2 3 1 2 、g b k 、 g b l 8 0 3 0 、b i 9 5 、e u c k r 、e u c j p 、s h i f t j i s 等字符集,支持m i n i g u i 自定义r b f 和 v b f 点阵字体、q p f 点阵字体,以及t r u et y p e 、a d o b et y p e1 等矢量字体。 ( 1 0 ) 汉字( g b 2 3 1 2 ) 输入法支持,包括内码、全拼、智能拼音、五笔、自然码等。 ( 1 1 ) 针对嵌入式系统的特殊支持,包括一般性的i o 流操作,字节序相关函数等 等,方便系统移植。 ( 1 2 ) 最新的m i n i g u i 可在使用u c l i n u x 的低端嵌入式系统上顺畅运行。 其次,在m i n i g u i 多年的发展过程中,有许多值得一提的技术创新点。正是由于这 些技术上的创新,才使得m i n i g u i 更加适合实时嵌入式系统,而且也使得m i n i g u i 的 灵活性非常好,可以应用在包括手持设备、机顶盒、游戏终端等等在内的各种高端或者 低端的嵌入式系统当中。这些技术创新包括: ( 1 ) 图形和输入抽象层。图形和输入抽象层对顶层a p i 基本没有影响,但大大方便 了m i n i g u i 自身以及应用程序的移植、调试等工作。m i n i g u i 现在已经被验证能够在基 基于l i n u x 的学习机软件系统设计与开发 于i 3 8 6 、a r m ( 包括s t r o n g a r m 、x s c a l e 等) 、m i p s 、p o w e r p c ,以及低端的d r a g o n b a l l 、 c o l d f i r e 等c p u 的嵌入式系统上流畅运行。 ( 2 ) 多字体和多字符集支持。这部分通过设备上下文的逻辑字体( l o g f o n t ) 实现, 不管是字体类型还是字符集,都可以非常方便地进行扩充。利用d r a w t e x t 等函数时, 可通过指定字体而获得对各种字符集支持,比如g b 、b i g 5 、e u c k _ r 、u j i s 等。对于 一个窗口来说,同时显示不同语种的文字是可能的。m i n i g u i 的这种字符集支持不同于 通过u n i c o d e 实现的传统多字符集支持,这种实现占用资源少,更加适合于嵌入式系 统。 ( 3 ) 两个不同架构的版本。最初的m i n i g u i 运行在l i n u x 的线程库之上,这个版本 适合于功能单一的嵌入式系统,但存在系统健壮性不够的缺点。在0 9 9 8 版本中,引入 了m i n i g u i l i t e 版本,这个版本在提高系统健壮性的同时,通过一系列创新途径,避免 了传统c s 结构的弱点,为功能复杂的嵌入式系统提供了一个高效、稳定的g u i 系统。 m i n i g u i 新版本在图形方面的增强和提高,大大扩展它的应用领域,从而能够对嵌 入式l i n u x 上的多媒体应用、游戏开发等提供支持。 2 2 3minig ul 的优势 ( 1 ) 轻型、占用资源少 m i n i g u i 最初是为了满足一个工业控制系统的需求而设计和丌发的。这个工业控制 系统是清华大学为一台数控机床设计的计算机数控系统。在比较d o s 、w i n d o w s9 8 、 w i n d o w sn t 、l i n u x 等系统之后,该项目组决定选择r t l i n u x 作为实时操作系统,以 便满足2 m s 甚至更高的实时性。但是图形用户界面是一个问题,因为xw i n d o w 不适合 于实时控制系统,并且当时xw i n d o w 系统的本地化也不尽人意。于是,决定自己丌发 一套图形用户界面支持系统,这就是m i n i g u i 产生的背景。显然,m i n i g u i 一开始就针 对实时系统而设计,因此,在设计之初就考虑到了小巧、高性能和高效率。目前,这个 数控系统的开发已经完成,m i n i g u i 在其中担当了非常重要的角色。最新的研发成果表 明,m i n i g u i 能够在c p u 主频为3 0 m h z ,仅有4 mr a m 的系统上正常运行,这是m i c r o w i n d o w s 或者q t e m b e d d e d 所无法达到的。 ( 2 ) 高性能 m i c r ow i n d o w s 追求和x 的兼容,所以采用传统的基于u n i x 套接字的客户i i i 务器 系统结构。在这种体系结构下,客户建立窗口、绘制等等都要通过套接字传递到服务器, 由服务器完成实质工作。这样,系统非常依赖于u n i x 套接字通讯。而大家都知道,u n i x 套接字的数据传递,要经过内核,然后再传递到另外一个程序。这样,大量的数据在客 火连理一r 大学硕七学位论文 户内核月艮务器之间传递,从而增加了系统负荷,也占用了许多系统资源。加上m i c r o w i n d o w s 的图形引擎代码未经任何优化,因此,m i c r ow i n d o w s 的图形效率很低。 q t e m b e d d e d 是c + + 的函数库,影响其图形效率的原因主要是c + + 的臃肿和由此造 成的系统资源的极度浪费。从对用户操作的响应能力、应用程序的启动速度等方面看, q t e m b e d d e d 的速度是最慢的。 m i n i g u i 为提高整体性能,首先采用了独特的体系结构,其次对图形系统进行了大 规模的优化【l 。以下分别论述: m i n i g u i l i t e 版本所特有的体系结构 大家知道,m i n i g u i 最初的版本,即m i n i g u i t h r e a d s 采用了线程机制,这样,所 有的应用程序都运行在同一个地址空间,从而大大提高了程序之问的通讯效率。但这种 基于线程的结构也导致了系统整体的脆弱,如果某个线程因为非法的数据访问而终止运 行,则整个进程都将受到影响。不过,这种体系结构对实时控制系统等时间关键的系统 来讲,还是非常适合的。 为了解决m i m g u i 版本因为线程而引入的一些问题,同时也为了让m i n i g u i 更加 适合于嵌入式系统,开发了m i n i g u i l i t e 版本。这个版本保持与原先m i n i g u i 版本在 源代码级9 9 以上的兼容,不再使用线程库,可以同时运行多个基于m i n i g u i l i t e 的应 用程序,即多个进程,并且提供前后台进程的切换。 每个进程维护自己的主窗口z 序,同一进程创建的主窗口之间互相剪切。也就是说, 除这个进程只有一个线程和一个消息循环之外,它与原有的m i n i g u i 版本之间没有任何 区别。每个进程在进行屏幕绘制时,不需要考虑其他进程。建立了一个简单的客户服务 器体系,确保最小化进程间的数据复制功能。因此,在服务器和客户之间传递的数据仅 限于输入设备的输入数据,以及客户和服务器之间的某些请求和响应数据。有一个服务 器进程( m g i n i t ) ,它负责初始化一些输入设备,并且通过u n i xd o m a i n 套接字将输入设 备的消息发送到前台的m i n i g u i l i t e 客户进程。服务器和客户被分别限定在屏幕的某两 个不相交矩形内进行绘制,同一时刻,只能有一个客户及服务器进行屏幕绘制。其他客 户可继续运行,但屏幕输入被屏蔽。服务器可以利用a p i 接口将某个客户切换到前台。 同时,服务器和客户之问采用信号和s y s t e mv 信号量进行同步。服务器还采用s y s t e mv i p c 机制提供一些资源的共享,包括位图、图标、鼠标、字体等等,以便减少实际内存 的消耗。从传统c s 窗口系统的角度看,m i n i g u i l i t e 的这种设计,无法达到完整的多 窗口支持,这的确是一个结构设计上的不足和缺陷。不过,这实际是m i n i g u i l i t e 不同 于其他窗口系统的一个特征。因为处理每个进程之问的互相剪切问题,将导致客户和服 务器之i 、日j 的通讯量大大增加,但实际上在许多嵌入式系统当中这种处理是没有必要的。 基丁l i n u x 的学习机软件系统设计与开发 在类似p d a 的嵌入式系统中,往往各个程序启动后,就独占屏幕进行绘制输出,其他 程序根本就没有必要知道它现在的窗口被别的进程剪切了,因为它根本就没有机会输出 到屏幕上。所以,在m i n i g u i l i t e 当中,当一个进程成为最顶层程序时,服务器会保证 其输出正常,而当有新的程序成为最顶层程序时,服务器也会保证其他程序不能输出到 屏幕上。但这些进程依然在正常执行着,不过,服务器只向最顶层的程序发送外部事件 消息。 优化的新g a l 和g d i 接口 新的g a l 接口能够有效利用显示卡上显示内存,并充分利用硬件加速功能。在建 立内存d c 设备时,将默认在显示内存上分配内存,其次才考虑系统内存。这样,可以 充分利用硬件加速功能实现内存d c 之间的b i t b l t 位块传送功能。目前,新的g a l 引 擎对某些显示卡提供了硬件加速支持,这些加速功能主要有:矩形填充,透明、a l p h a 混和的b i t b l t 操作等。另外,新的g a l 接口支持g a m m a 校正和0 v e r l a y t l 2 】。 除上述特点外,新的g d i 还采用了新的区域算法,即xw i n d o w 和其他g u i 系统 当中广泛使用的区域算法,这种区域称作“x y b a n n e d ”区域。区域由互不相交的非空 矩形组成,又可以划分为若干互不相交的水平条带,每个水平条带中的矩形是上对齐的。 区域中矩形的排列,首先是在x 方向( 在一个条带中) 从左到右排列,然后按照y 坐标从 上到下排列。 ( 3 ) 高可靠性 从1 9 9 9 年m i n i g u i 的第一个版本发布以来,就有许多产品和项目使用m i n i g u i , m i n i g u i 本身也不断从这些产品或者项目当中获得发展动力和新的技术需求,不断提高 了自身的可靠性和健壮性。到目前为止,m i n i g u i 已经在如下几个产品及项目中得到了 应用,并以实际运行效果证明了其可靠性:联想公司h a p p y l i n u x 发行版1 0 的安装程 序,百资公司l i n p u s l i n u x 发行版5 0 的安装程序,清华大学虚拟轴机床数控系统,清 华大学高性能机床数控系统,蓝点软件有限公司基于v t e c hh e l i o 的p d a 产品,深圳元 征公司的汽车检测用p d a 产品,梅特勒托利多的车辆衡终端,深圳某公司的医疗设备, 武汉某公司的激光控制器系统,上海大学丌发的多媒体信息终端。 ( 4 ) 可配置 通过l i n u x 下的a u t o m a k e 和a u t o c o n f 接口,实现了大量的编译配胃选项,通过这 些选项可指定m i n i g u i 库中包括哪些功能而同时不包括哪些功能。大体说来,可以在如 下几个方面对m i n i g u i 进行定制配置: 指定生成基于线程的m i n i g u i t h r e a d s 版本还是基于进程的m i n i g u i l i t e 版本。 指定要采用老的g a l g d i 接口还是新的g a l g d i 接口。 大连理j :大学硕十学位论文 指定需要支持的g a l 引擎和i a l 引擎,以及引擎相关选项。 指定需要支持的字体类型。 指定需要支持的字符集。 指定需要支持的图像文件格式。 指定需要支持的控件类。 指定控件的整体风格,是三维风格还是平面风格。 指定m i n i g u i 运行的平台,l i n u x 或u c l i n u x ,以及对应的交叉编译器。 其它。 总之,m i n i g u i 是一个非常适合于工业控制实时系统以及嵌入式系统的高效、可靠、 可定制、小巧的图形用户界面支持系统。 肚rl i n u x 的学习机软t 1 系统改汁,开发 3 嵌入式l i n u x 平台的搭建与m i n i g u l 的移植 31 嵌入式l i n u x 平台的搭建 311学习机硬件开发平台简介 本文软件平台的硬件 发环境是基于曲 圳市优龙科技确限公司的y l 2 4 1 0 开发板 硬件的丌发工作由项1 7 组其他同学完成。 下面简单介绍一下硬什实验平台,如图31 所不。 幽3 i 堙什寅验平台 f i g3 1 p l a t f o m i o f h a r d w a r ee x p e r i m e n t y l 2 4 1 0 ,r 发板采用的处理器核心是三星公州丌发的基于a r m 9 内核的s 3 c 2 4 1 0 , e 频2 0 3 m h z ,6 4 m 内存,6 4 m 的n a n df l a s h 存储器,具有两个在线异步串口,1 0 m 网络接口和1 0 0 m 网络接几,一个u s bh o s t 和u s bd e v i c e 接口,j t a g 调试接口,l c d 和触摸屏接e l ( ,r 发过枰中没有使f f j 的部分暂且略过) 。这个开发平台完全满足项目中与 网络互联、外接柏、准键盘、大容量存储、触摸屏输入等要求。 312 交叉编译环境的建立 交叉编译的概念是指存一个平台上编泽阿在月一个半台上远 亍的“,执行程序。如本 文选择的a r m 平台,限j 二自身的运算能力,无法自t z 编译自己运仃的桂厅,此时需要 另外的运尊能力强大的平台米为具编译,如桌向p c 。即所篙要 自主机( j i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤矿地面建设施工方案
- 余热利用工三级安全教育(班组级)考核试卷及答案
- 药油肩颈套盒培训课件
- 房地产营销方案名称高级
- 推广渠道效果评估报告
- 线上教学论坛活动方案策划
- 迪庆法律咨询方案
- 儿童摄影活动引流方案策划
- 线上粉丝群营销方案设计
- 双十一睡衣营销方案策划
- 个人成长经历课件
- 计算机网络基础IP地址TFTP协议NAT配置等知识试卷
- 中考语文一轮复习:标题的含义与作用(学生版)
- T/CAQI 96-2019产品质量鉴定程序规范总则
- 机动车检测工资格证考试题(附答案)
- 护士沟通技巧与人文关怀护理课件
- 2025人教部编版语文四年级上册教学计划(含进度表)
- 模具开发技术协议书
- 冷色暖色美术课件
- 拆除安全合同协议书
- 领养猫咪合同协议模板
评论
0/150
提交评论