(信号与信息处理专业论文)基于嵌入式的图形界面控制技术研究与设计.pdf_第1页
(信号与信息处理专业论文)基于嵌入式的图形界面控制技术研究与设计.pdf_第2页
(信号与信息处理专业论文)基于嵌入式的图形界面控制技术研究与设计.pdf_第3页
(信号与信息处理专业论文)基于嵌入式的图形界面控制技术研究与设计.pdf_第4页
(信号与信息处理专业论文)基于嵌入式的图形界面控制技术研究与设计.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(信号与信息处理专业论文)基于嵌入式的图形界面控制技术研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 中文摘要 电子科学技术的迅猛发展、电子芯片的更新换代、嵌入式操作系统的开源性,给嵌入 式领域的研究和开发工作带来更加广阔的前景,随之而来的是嵌入式设备更加r - 泛地应用 到有关国计民生的各个领域,比如说国防、医疗、教育、体育、食品、商业、工业等。嵌 入式产品趋于智能化、小型化、并且朝着带有友好的图形界面控制功能和强大的网络功能 方向发展。 本文利用以s a n 聊i l g 公司s 3 k :2 4 4 0 处理器为楱心芯片的硬件平台作为开发平台,利 用嵌入式系统的开发技术、q f r 的图形界面设计技术、将带有比例积分微分的广义预测自 校正算法融合到q t 应用程序中,设计出套应用于工业控制领域控制系统,该系统带有 友好的入机界面,并且实现了多路温度的读取和设定以及视频监控功能。 设计过程主要分为四部分工作,第一:系统开发环境的建立,从硬件和软件两个角度 完成了嵌入式开发环境的准备;第二:实现了几个字符型设备触摸屏、按键、舢) c 硬件的驱动,同时加载了u s b 摄像头的驱动:第三:在控制界面的开发过程中引入挪威 奇趣公司发布的q i 细l l b c d d o d 库和c 岫p i a 开发平台,编写界面应用程序,构建控制界 面;第四:引入带有比例积分微分的广义预测算法口毋g p q ,通过仿真比较,说明该算法 更具有动态性能和抗干扰能力,将算法作为q t 应用程序中的控制函数,且控制参数可 调,更具有明显的工程含义。 关键词:嵌入式系统;q 丌:删;驱动 黑龙江大学硕士学位论文 a b s 们c t ,n l em p i dd c 、,c l o p m 耐0 fc l 。删c 妇啪,u 路础吨0 fe l 。蜘i cc l l i p s o p 饥删r o c 锄b e c i d e d 毗s y s 胁l l a s 咖班湖蛐删t o m c 唧b e d d c d a 麟0 f 删 觚dd e v 州触删b y ai n o f e 俐e l y 删d e v 溉a p p l i c d 幻a l la r e a s 删 t 0p e 0 | 脑l i v 删e m b e d d 。d 删u 傩t e i l d 抵l h 酬a n d 伽眦删y 脚糊 i i l l i 曲o e a n d m ep a 撇“删蛐哦t l l c 出,c l ( ,p l l 删锄遗0 f 锄删d 椰溉 ht l l j sp a 眦l e 咖a tw h 妯雠s a i 飒l i 蚺s 3 q 4 4 0i s 恤赡d l i pl l a s b 。e nu s e d 弱ad e v l q 删p k 瓶d 期炳删坂如蛔0 f 既i b 。d d o d $ 岫蜘 t 。d l n i q i 螨0 f 叮酬娥i 疏龃d 吐l c 窖e i l d i z c d 脚栅砌a 舯0 p o n i o t l a l 出神铭脚m u m 鹏骶f i l s e d 哑睁h e f 幻蛳a s e t0 f 训哪蛔ml l s 。d 缸 删删制蛐h a sa 吣幽慨m 咖a l s 0 跚栅a n d s e ta 腓 蛳觚m c 栅p 溅蛐袖此c s t a l 0 f 咖 d e v e 蜒臌锄t 印恼咖m e m 劬哪l l a 概锄ds a d p e 3 【s p 蒯v 够i i lt b e 跚妇d d e dd e v e 婶眦i e n t p l 潞斯t h c 晔咖0 f 此出,e 咖锄,i 1 0 砌衄:t ;t h 胁i t 劬0 d u o e s d e s 轴砷咄舾0 f 稆v c r a li i i l 脚h a 栅d 刊b 删 v e 氐毗锄心s 咖,k c y p a d ,a d ch a 抵抵 曲懿b 嘲咖删砌u s b 锄锄商v e r l l a s b 咖l o a i 蜕n 0 1 w e ;i a i l 删 们眦d i t s 细删断埘删唧a 蛐哪t 灿批劬删m e 蛐 蚴0 f 恤枇p 1 0 l 麟i sa l s 0 枞峨t i l c 如u l a t 帆t l l c 桃蜘t l l a t 恤a l 鲥岫i sb 蝴i i lkd y n 枷c 刚锄撒a n d 砒j 删啦蝴瑚酬m m j s i i l 0 0 唧删mn l e 咖n o l 劬咖惝i s i r ia t 卿i t s 咖的l 哗啪姗i s n 第1 章绪论 第1 章绪论 1 1 课题学术背景及意义 随着嵌入式技术在航空航天、工业控制、消费类电子、医疗保健、网络通信、汽车电 子等各个领域的广泛应用,嵌入式系统这个名词已经被各行各业的人所了解并且熟悉。嵌 入式系统是以应用为中心、w g b r l 技术为基础、软件硬件可裁剪、适应应用系统对功能、 可靠性、成本、体积、功耗严格要求的专用计算机系统吐嵌入式技术所应用领域十分广 泛,几乎包括了我们周围的所有电子设备,如电视机顶盒、掌上p d a 、移动计算设备、 多媒体设备、医疗仪器乃至路由器、交换机等。从上世纪七十世纪单片机技术的广泛使 用,电子技术得到了迅猛的发展,从而也为嵌入式技术突飞猛进地发展拉开了序幕,其发 展可以总结为四个阶段舅: 第一阶段是在以8 0 c 51 为代表的单片微型计算机即微型控制器的广泛应用,在工业 自动化控制,电子产品智能化疗面起到了重要的推动作用,最被人们熟知的应用是十字路 口的交通灯控制系统、电睇控制系统、工业领域的流水线控制系统。二十世纪八十年代初 期,单片机因其使用便蹙陆手口低成本曾风靡全球,但是瞵螺的功能彻2 在来香丕是非常 简单,处理效率低,处理器体系结构单并不能承担过于复杂的任务。 。 : 第二阶段,嵌入式中央处理器,这种处理器与单片机相比提高了处理效率,并目支持 简单的操作系统,但却缺乏通用性,不便专业人员进行开发。 第三阶段,是二十世纪九十年代之后,由于对软件规模的不断变大和对应用实时性要 求的提高,出现了像了w m c e ,p a l mo s 嵌入式l i m m ,n u c l e u x ,以及国内的h o p c n , d e l t ao s 等嵌入式操作系统,并伴随着a r m 系列处理器的更新换代,使得嵌入式设备在 处理任务的时候更具有先进性和智能性,顶层应用程序开发的技术人员不用拘泥于过去细 致具体的硬件结构,通过提供的接口函数实现复杂设备的操作。 第四阶段是g u i 技术和网络技术的融入。现代的通信和控制要求更加便捷和高效, g u i 技术为嵌入式设备提供了更加直观的图形界面,如现在市面非常流行的各种型号的 黑龙江大学硕士学位论文 触摸屏手机,m i b 等电子产品。网络技术使嵌入式设备键的通信更加高速和快捷,比如 视频监控设备的的图像信息要通过网络接口进行传输,因此网络技术和图形界面技术在嵌 入式领域的开发是未来嵌入式领域发展的个重要趋势。 嵌入式技术的研发涉及到多个方面的工作,要包括硬件电路的设计、开发环境的构 建、驱动程序的设计、内核的移植、根文件系统的制作、各种中间件以及应用程序的设 计,因此嵌入式领域的电子工程师嘶开发的领口或也不尽相同,彳抟门从事硬件电路设计的 工程师,有专门为底层暖件编写驱动的工程师也有只专注于应用程序设计的工程师。有的 时候,一些实际中的应用完全也可以通过程序设计,在一些未安装操作系统的裸板匕运 行,如同我们曾经使用单片机罚b 样,但是实际中大部分的应用是很复杂的,简单地应用单 片机技术并不能满足实际中的要求,而嵌入式开笈技术按照实际应用通过对特定的硬件平 台移植操作系统、编写硬伴黼相应用户空间的应用程序,使其设备内部能够更好地进 行资源管理、系统管理、中断处理、多任务管理、分配系统资源p 1 。 本文迎合嵌入式技术的发展趋势,重点研究嵌入式设各的工业控书i 肢术,遁迂 液晶触 摸屏实现显示和控制助能。触摸屏是把入和机器连为体的智能化界面蜘,通过触控笔的 点击来实现设置参数,设备状态监控的功能,实现了友好的人机交互界面,操作简单方 便。在传统的工盟蜷4 中,工控设备通过采集现场数据,蹄魄场进行本啦菇昔远程自动控 制,对工艺流程进行实时、动态地监视,并为生产、调度和管理提供必要的数据印。但是 传统的工控设备具有若干缺点牌: ( 1 ) 系统原因所造成的不稳定性。早期工控设备的开发平台和运行硬件平台多为 w m d o , 潮s 操作系统和d o s 操作系统。早期的w n x l o w s 操作系统稳定性能铰差,不适f 【 业现场,d o s 系统有磕操作复杂,性能争一的缺陷。 ( 2 、i 接口简单。传统的工控设备数据通常通过串口和并口进行传输,不利于数据在设 备之间传输,影响了效率。 ( 3 ) 高额成本。工控设备通常价格昂贵。 渺 形庞大,难于移动。工控设备需要在不同现场进行使用,庞大的外形给设备的 第l 覃绪论 移动带来很大的不便。 ( 5 询g 乏人棚控制界面。传统的的工控设备重要变量一般通过l e d 或l c d 屏进行显 示,很少具有友好的人机界面控制和设定功能,而是通过外部按键进行参数设置。 i 博法单r 工控设备多数采用p i d 算法,算法更新缺乏灵活性。 综上,单一的控制设备有诸多缺点,而带有g u i 控制界面的控制终端般由大型计 算机和专用的硬件设备构成,但是计算机机体积庞大、成本高,携带不便。嵌入式技术的 发展解决了这一问题,利用嵌入式g u l 领域中q r 技柯以实现图形界面的触摸控制功 能,并且设备日趋小型化。嵌入式g u i 具备以下几个特点1 7 1 :体积小;运行耗用资源 小;上层接口与硬件无关,高度可移植;高可靠性,高可裁剪性;某些应用场合应具备实 时性。因此,g u i 设计的般准则着掣:减少用户的认知负担;保持界面的致性;满促 不同目枋佣户的创意需求;用户界面友好性:图标识别平衡性:图标功能的骂【性:建立 界面与用户的互动交流。本文设计将q t 技术和p i g p c 控制算法相融合,通j 立嵌入式硬 件设备实现触摸屏的显示与参数设置功能,算法接口操作便捷,有利于更新新的算法函 数,所用算法先进,具栅的鲁棒性。整个设计过程为嵌入式工控设备的开发提出了可 行性思路,目的是实现控制设备的小型化,界面简单友好化,算法先进化,并目具有整个 应用程持晒嘻尊黼不同硬阡牛平台匕钒勇眵植的特点。 1 2 本文主要研究内容 本文是作者在硕士毕业论文准备期间所做的工作,包括四个主要部分: 第部分是开发环境的建立,包括硬件环境,和软件环境,这部分是后续开发工 作的基础。其中包括硬件资源的介绍,虚拟机下l i n u x 系统的安装,软件的下载,环境变 量的设置;介绍了v i v i 如何被移植,内核裁剪、配置、编译以及根文件系统制做的过 程,为后续工作做好铺垫。 第二部分有关于相应硬件驱动程序的设计,在这部分中,说明了驱动程序与硬件 电路的关系,字符型设备驱彩i 薹i 序的设计流程,详细阐述了按键驱动程序,触摸屏驱动程 序,a d c 驱动程序的设计过程,以及摄像头驱动的加载过程。 黑龙江大学硕士学位论文 第三部分是有关q t 应用程序的设计,通过比较嵌入式g u i 的开发软件,选择用q t 相关软件编写用户层应用程序,设计图形界面,建立触摸屏按键与硬件的按键的映射。该 部分详细阐述了应用程序的设计过程,以及说明内核空间与用户空间是如何逆! 彳亍玟互的, 进行交叉编译,将应用程序移植到硬件平台的过程。 第四御r 分是算法的设斟与仿真。通过对p i g p c 算法的阐述和分析以,论证了p i g p c 算挫渤笛遂性及在工业控制中的司- 靠性。 1 3 论文章节安排 第章绪论,介绍了论文的研究背景、研究意义及内容安排。 第二章嵌入式设计环境的构建,从硬件和软件m 度说明了嵌入式开发过程中所 进行的开发环境准备。 第三章设笤驱勰序,重点阐述八1 个重要硬悼甄勋程宁的设计流程并加载i b b 摄像 头驱动。 第四章基于q t 的嵌入式界面设计,介绍了q f r 环境的建立,图形界面朗程序设 计流程,信号与槽的机制,应用程序交叉开发的过程。 第五章阐述带有比例积分结构的广义预测控制算法结构、工作流程及推导过程,通 过给定锅炉系统函数进行仿真比较,说明p i g p c 算法的优良性。 总结:对本文工作进行总结,指出不足及并进行前景展望,为下步工作的施f j 趣到 指引作用。 第2 章嵌入式设计环境构建 第2 章嵌入式设计环境构建 嵌入式设计环境即指嵌入式系统的硬件平台部分和e 位机l i n u x 操作系统两个部分。 前者包括c p u 处理器、s d r a m 内存、l c d 显示、f l a s h 存储、网卡等接口资源,后 者包扩匕位机l i n u x 系统、应用程序开发环境、调试环境的建立。本文使用的硬件平台是 当今市面匕跪迂流行的款开发板,所用c p u 是韩国三星公司生产的$ 3 c 2 4 4 0 。有关本文 历涉及到的些硬件设备的原理以及驱矧讶呈序的设计将在下_ 章节割彳谳明和介绍,而本 章主要是对嵌入式开发的些软硬件环节进行介绍和说明。 2 1 嵌入式硬件平台设备 2 1 1a r m 处理器 a r m 有三重定义,一个公司的名字、一种技术、一类处理器。a r m ( a d v a n c e d r i s cm 砌1 i 1 1 哟公司在1 9 9 1 年成立于英国佥啦侨,目前a r m 处理器的使用,已经遍及通 讯应用、电子j 虹品、武器装备、工业控制、网络传输系统各个翎鸭咿。在3 2 位r i s c 微处 理器的市场份额中,有超过百分之七十被a r m 处理器所占据,a r m 技术开发的产品正 逐步给我们生活和工作带来快捷、方便和惊喜。 a r m 公司的主要工作并不是生产芯片,而是将设计许可! 靼铽眙獭公司以便f 出4 门生 产出自己的芯片,比如韩国三星公司生产的$ 3 c 2 4 10 x 、$ 3 c 2 4 4 0 。这些公司从a r m 公 司购买的是a r m 微处理器核,根据自身产品的需要,配蠕翳当的外围电路,使自己的芯 片更具有竞争优势,然后进入市场。a r m 微处理器具备a r m 体系结构的共同特点,每 一系列的a r m 处理器音隋各自的应用领蟛l 和特尉1 0 i : a r m 7 系列:目前使用最广泛的3 2 位嵌入式r i s c 处理器就是该系列的 a r m 7 t d m i 。其中t 表示支持支持1 6 位压缩指令集t h u m b 。d 表示支持片上d e b u g 。 m 表示内含嵌入式乘法器。i 表示支持片上断点和调试。 a r m 9 系列:在该系列中,有a r m 9 4 0 t 、a r m 9 2 2 t 和a r m 9 2 0 t3 种类型的微处 黑龙江大掌硕士学位论文 理器,在性黼高于a r m 7 系列。拥有5 级流水线,全性能的内存管理单元i 刚m i 】) , 支持包括l i n u x 在内的多科操作系统。支持数据c a c h e 和指令c a c h e ,具有更高的指令和 数据处理能力。 其他系列:s e c a 2 t l c o m 系列;s t r o n g a r m 系列:r m 9 e 系列;i n t e l 的x s c a l e 系列。 总结起来,a r m 处理器采用r i s c 架构,一般具劭口下优尉1 1 】: ( 1 煳小、低功耗、低成本、高性能。 ( 2 ) 支持t h u m b a r m 双指令集,对8 仞l6 位器件具有j 腑的兼容性。 ( 3 ) 寄存器数量繁多,读取数据快。 ( 4 ) 大多数据操作在寄存器中完成。 寻址方式简捷,具有高效的执彳亍性。 指令长度固定。 由于a r m 微处理器内核结构多样,内部功钧驻酷酩素复杂,因此在开发方案选择匕要 具体问题具体分析,般从内核、工作频率、存储容量、片内外围结构几个角度选择所用 芯岸翊。 本煳的是s a m s m g 公司的s 3 c 2 4 4 0 a r m 微姗,它采用削凇盯内核1 3 1 , 0 1 3 1 a m 的c m o s ( c o n 平l e m m t m ym e t a lo x i d es e m i 砒,- o 卒1 , 金属氧化物半导 体) 标准宏单元和存储单元,1 6 3 2 位微r l s c ( r e d m e d i k s u l c l i o ns e tc o m p u t i n g ,精简指 令集) 嵌入式微处理器。芯片片上资源十分丰富,采用a r m 9 2 0 t 的内核,0 1 3 , a m 的 c m o s 标准宏单元和存储器单元【1 4 1 。其低功耗,简单,优雅,目全静态设计特别适合于 对成本和功率要求比较高的硬件平台应用。它采用了新的总线架构a d v a n c e di v f i c r o c o n t r o l l e r 跳a 础岫鹏( a m b a ) 。我f 阿以通过$ 3 c 2 4 4 0 处理黝能框图i 出哆了解如 图2 - 1 所示可知: 第2 章嵌入式设计环境构建 l c d l c d 卜1 刊 b 内u j s c o n t c o u r t a h u s b h 硼c o n y 离 b i n t p t c o n t f _ x t m m m r 离 = 爿= = 一 b u s 占刊m m c = n 刷o r 。y 螨c o 矾n t 枷1 nanlb砌c=ntnandf l a s h l o d c r i u a r t o 、l 、2 陋 蚓1 2 c l u s b 晰i i 葛 p 蚓 1 2 s b s d i m v i c l葛 蚓o p i o w 訾i = = 蚓 r t c j u n i h b u s c o n t 0 l 一 b 蚓 a d c 州“玎,】)ccod。_ u spio1l # = - _ 1 o二34(intcrnnl)l 该款处理器价格低、功耗低、简单、优雅,目全静态设计特别适合于对成本和功率要 求比较高的硬件平台应用。它采用了新的总线架构a d v a n c e dm i 鲫龇b u s 的工作频率达到4 0 0 m h z ,执行效率更高。通过创3 a 总线将相关的片上资源和核心体系联系起来,包括以下两个总线,a h b 和a p b 嘲。 a h b ( a d v a n c e dh i g l l - p 器f 0 】锄锄b u s ) 为高性能总线,应用于高性能、高时钟频率 7 黑龙江大学硕士学位论文 的模块,在这个总线匕主要相关的片上功能如下: ( 1 ) l c d 集成控制器c o n t ,以及d m a 通道控制器: ( 2 ) 存储器控制器,n a n df l a s h 启动引导控制器以及s d r a m 控制器进行外部存储器 片选操作和逻辑控制; ( 3 ) 中断控制器,具备2 4 个外部中断源: ( 4 ) u s b 设备控制器: ( 5 ) 电源管理器,可以设置空闲、正常、慢速、和睡眠四种模式。 a p b ( a 慨呲e dp e r i p h e r a lb u s ) 为外部设备总线,通过桥( b 和萨) 进行与a h b 进 行联系,这是个本地二级总线,应用于对不需要高宽带的应用设备,与这条总线有关的 片上功能如下: ( 1 ) 1 2 c 总线接口、内音频编码和解码接口; ( 2 ) 通信接口,三个通道的u a k r ( u n i v e r s a la s y l h r o n o mr e c e i v e l o rt m n m 豳e , ) 串 口接口、两路s p i ( s e r i a lp e d p h m li n t e r f 戤) 总线接口、两路u s b 主设备c 遵从o h c i r e v 1 0 标准) 和一路u s b 从设备( 兼容u 沿v 嚣1 1 标尚; ( 3 ) 八通道的1 0 位横数转换器和触摸屏处理接口; ( 4 ) c 卡、s d 卡的燃口。 另外具有四路p w m 定时器、路内部t i m e r 定时器、w a t c hd o g 定时器。 2 1 2 存储器设备 ( 1 ) s d r a m ( s y n d 哝疆踯功眺r 锄d o m 燃m e m o r y ) 是同步动态随棚存取存 储器的缩写。通过同一时钟将c p u 和r a m 锁在起,使两者在同速度下工作,与 e d o 内存相比,s d r a m 访问速度提高近乎半。s d r a m 基于双存储体结构,内含两 个交错的存储阵列,当c p u 从个存储体或阵歹i 助问数据时,另个就已为读写数据做 好了准备,通过这两个存储阵列的紧密切换,读取效率就能得到成倍的提耐阍。硬件平 台将两片s d r a m 并接,提高了访问速度。所用型号为h y 5 7 v 5 6 1 6 2 0 f i p ,容量为3 2 m b y t e s 。 雾2 罩嵌入式设计环境构建 s 3 c 2 4 4 0 微处理器可以以两种方式进行启动,n a n df l a s h 启动或者n o rf l a s h 启动。 芯片引脚o m 1 :o 决定了启动方式,不同的启动方式下,各个片选的存储空间分配是不 同的,当从n o rf l a s h 启动时,0 x 4 0 0 0 0 0 0 x 4 0 0 0 昕1 下区域为处理器自带的内部4 k b b o o t s r a m ,而以下的区域被分成八个大小为1 2 8 m 的存储体,处理器通i 妙价片选信号 n g c s 7 :0 分别对存储体a a n k 7 :0 进行寻址。当从n a n df l a s h 启动时,s 3 c 2 4 4 0 具有 n a n df l a s hb o o tl o a d e r 功能,c p u 复位后,n a n df l a s h 控制器将存储在外部的n a n d f l a s h 起始区的4 k b 的用户程序复制到0 土睦l 趾开始b o o t s r a m 缓冲区中,然后从0 地址 开始执行这些程序1 7 1 。如图2 - 2 所示: 0 1 1 1 1 1 哪- l _ 州q n 岫k _ h b 晰酌jt u r b o o 加“h m 0 i f i g 2 - 2n i e i 唧a d i 恼a l l o c a t i o n ( 2 ) n a n df l a s h 作用相当于p c 机中的硬盘。由于n a n df l a s h 的价格远远低于n o rf l a s h 的价格,因而在实际应用中,通常将干弋i 石马存放在n a n df l a s h 中,而在s d r a m 中执彳亍。 n a n dh a s h 属于非线性存储器,并不是通过线性、连续的地址进行寻址的【1 8 1 。这一点区分 于n o rf l a s h ,它是通过线性、连续的地址进行寻址的。对n a r df l a s h 来讲,地址、指 黑龙江大学硕士学位论文 令、数据都通过8 位i o 端口进行传输,而通过揖令对其进行各种操作,比如读、写、块 擦除。这样做很大程度e 减少了引脚数量,同时利于不同容量在引脚、封装匕的兼容。本 文所用硬件平台采用两种启动方式,s s t 3 9 v f l 6 0 1 型n o rf l a s h 和i o f i g 0 8 型n a n d f l a s h ,划、分j ;u 为2 m b y t e 和1 2 8 m b y t e 。 2 1 3 接口设备 0 ) u s b 接口设备。硬件平台提供两种u s b 接口,分别是是u s bh o s t 和u s b s l a v e 。前者用接常用的u s b 外设,如摄像头、键盘、鼠标、移动硬盘等:后者用于构 建匕位机与硬件平台之间的联系,通过u s bs l a v e 将程序下载到目标平台中。 ( 2 ) 网络接口。因为在开发过程中经常需要建立网络文件系统,或者通过邱将文件 在匕位机与硬件平台之间传输,因i 比 斛台与上位机l i n u x 系统问的网络通信给整个开 发过程带来很大的便捷。目标板采用d m 9 0 0 0 网卡芯片 而网卡地址可以通过软件进行设 定。 2 1 4 “d 显示设备及电源设备 0 ) l c d 显示设备。本文所设计的控制系统所显示的的状态以及操控界面是通过液晶 屏幕所呈现出来的。$ 3 c 2 4 4 0 微处理器提供强大的l e d 的控制器,支持4 k 色s t n ,和 2 5 6 k 色的可耳屏幕。硬件平台所选用的液晶屏幕为统宝3 5 寸液晶触摸屏。 ( 2 ) 电源设备。由于硬件平台由多种电子元件构成,每个元器件的工作电压不尽相 同,硬件平台通过外接5 v 电源,利用降压芯片提供5 v 、3 3 v 、1 8 v 和1 2 5 v 几种电 压,给目标板各个元器件所用。 以_ k c r 绍了若干重要的硬件平台设备,以下是开发平台接口和资源汇总: 4 u s 日乇l e d s g 夺l 吟洲控制峪鸡器: 1 个e 配总线a e 丛幻0 8 芯片,用于珍c 总线测试; l 佃s b h o s t ; 令l 令u s bs l a v e b 型接e l ; 令 以太网刚_ 4 5 接口( 采用d m 9 0 0 0 网络芯片) ; 1 个可调电阻,用于a d 模数转换测试; 第2 章嵌入式设计环境构建 1 1 | 1 个s d 卡存储接口; 令l 路立体声音频输出接口,一路麦克风接口; 3 个串行口; 6 u s e r b u n o n s ( 带引出豳; l 爪2 0 r a m 间距1 0 针盯a g 接口; 夺1 - ? - 2 0m m 间跑0 p i n 摄像头接口。 如图2 - 3 w 际,给出了了硬件平台结构基本框图: 2 2 嵌入式软件平台建立 2 2 1 建立交叉编译环境 本文所采用的上位机操作系统是f e d o m 9 0 ,f 氍l o r a 是众多l i a u x 发行套件之一,它 是套从r e dh a ll i n u x 发展出来的免费l i n u x 系统。f e d o r a 是l i n u x 发行版中更新最快的 之一,起操作界面如图2 - 4 所示: 黑龙江大学硕士学位论文 图2 - 4 f e d o m 揉作- 屏囱 r i g 2 - 4f e d o m0 p 蛐砷e 而 交叉编译就是在个平台上生成可以在另个平台上执行的代码。在宿主机匕对即将 运行在目标机e 的应用程序进行编译,生成可在目枥砌上运行的代码格式【1 9 1 。采用交叉 编译的主要原因在于,多数嵌入式目标系统不能提供足够的资源戗编译过程使用,因而只 好将编译过程转移到高性能的主机中进行刚。 e 位机与硬件平台建立联系的方式被称为称为宿主机( h o s t ) 和目标机( t a r g e t ) 模 式。宿主机通过交叉编译,利用两者之间的连接,如串口、网络接口、u s b 接口,将可 在目标机e 运行的代码文件传递给目标机口1 1 。一般将通用的计算机或者工作站作为宿主 机,而具有通信端口的嵌入式硬件平台作为目标机。 交叉编译环境的建立还鼯掣: 下载源代码,包括b i n u t i l s 、g c c 、g 及l i n u x 内核的源代码( 以上源代码在 h t t p :w w w a t m g h o m e n e t 均可下到) 。般交叉编译环境的建立需要如下过程: ( 1 丌:载源文件、补丁和建立交叉编译目录。 ( 2 ) 建立内核头文件。 ( 3 ) 建立= 进制工具( b i 瑚i t j l s ) 。 第2 章嵌入式设计环境构建 ( 4 ) 建立初始编译器( b l 硎s 缸a pg e e ) 。 ( 5 ) 建立c 库( g d b c ) 。 ( 6 ) 建立全套编湖f u l lg e e ) 。 之前的系统,都需要这些步骤,要使用不同的编译器版本才能正常编译各个部分,因 此要在开发过程不断切换设置,这十分不方便,也降低了开发的效率,建立个交叉工具 链是一个相当繁琐和复杂的过程。在互联网上有很多已经编译好的可用的交叉工具链可以 下载,大大节省了开发时间,l i n u x 系统自从2 6 2 9 版本之后,交叉编译器统一为a r m - l i n u x - g e e - 4 3 2 ,本文所用的交叉工具器版本型号正是此版本,安装包可从g c c 网站 c h t t p j g c c g n u o 唱) 下载的。 图2 - 5 设置习浏琶嬗 f i g 2 - 5s e t i n g 枷v a r i a b l e s ( c 安装过橄下: 第步:解压安装文件撑t a rx v z f a r m - l i n u x g c c _ 4 3 2 t g z - c , 将a n n - l i n u x - g e e 安装到 u s r l o c a a n n 4 3 2 。 第二步:设置环境变量,把编译器的路径力1 1 入系统环境变量编辑协洲b 凶:】i c 文件, 在最后行添加:e x p o r tp a t h = $ p a t h u s r l o c a l a r r n 4 3 2 b i n ,如图2 5 所示,保存退 出,至埘窍蝴译环境建丑减功。 黑龙江大学硕士学位论文 2 2 2 移植b o o f l o a d e r b o o f l o a d e r 的功能相当于x 8 6 体系结构p c 中的b i o s ,完成开机时的硬件检测,然 后读取硬盘的引导扇区圆。b o o f l o a d e r 作为嵌入式系统的引导程序完成了p c 中b i o s 和 l i l o 等引导的程序完成的任务,它是在嵌入式操作系统之前执行的一段小程序。在嵌入 式系统中,b o o d o a d e r 初始化硬件设备,并建立相应内存空间映射表,从而为操作系统建 立个合适的软硬件条件。v i v i 整个运行过程如图2 - 6 所示: 关闭看门狗 禁止中断 初始化时钟 初始化内存 控制寄存器 复制涮到内存 初始化定时器g p i o 内存映射、启动m i d u 初始化维空间m r d 初始化州命令 启动内核 图2 - 6v i v i 运衙新百陧图 珊驻巧l h e n 0 蝴0 f v i v i w 墒骘 本系统采用由韩国嵌入式公司m i z i 开发刚删o a d 瞥_ 、i v i 。为了得蛰鼯洽嵌入式系 统使用的b o o f l o a d e r ,可以使用v i v i 提供的命令,对v i v i 进行特定的修改和编译。v i v i 执 行c 语言代码是从i n i g m a i n c 的m a h a 0 函数开始执行,依次: ( 1 y v - f f - d 比定时器和设置各g p i o 引脚功能。 ( 2 ) 建立内存页表和启动m m u 。 ( 3 ) 初始化系统的堆空间:内存动态分配函数i i l n l a l o c 就是从中划出一块空间内存 的,m f l e e 则将动态分配的某块内存释放回堆空间中。 第2 章嵌入式设计环境构建 i i i i i i i i ( 4 ) 初始化m 。 ( 5 ) 初始化v i v i 命令。 ( 6 ) 启动内核:调用b o o to rv i v i o i 戤,根据用户的选择进入v i v i 的命令行或者直接启 动内核。 获取v i v i 的源码后,需根据该a r m 核心处理系统的具体设计对 , 1 a n d 眦中各镜 像州v i 镜像、操作系统镜像、启动参数及文件系统镜像) 的初始地址进行相应的修改。对 应部分代码如下: 删叫岫i 蝴叫倒螂口= 彻n e : v i v i ”雁分区中放置b o o d o a d e l ,比如u - b o o t 和v i v i 撇 0 v i v i 初始地址 s i z e : o x 0 0 0 2 0 0 0 0 , n a g :0 , 1 1 a 1 1 蛤: 伽”陵分区为v i v i 的参数区 o f e s c t : o x 0 0 0 2 0 0 0 0 , 启动参数初始地址 s i z e : o x 0 0 0 1 0 0 0 0 , n a g :0 , 1 1 a n l e : k a n e l ”,该分区存放内核,可以放置定制的内核 o j 蕾s c t , :o x 0 0 0 3 0 0 0 0 , 操作系统内核初始地址 s i z e : o x 0 0 0 c 0 0 0 0 , f l a g :0 。 黑龙江大学硕士学位论文 一 ) , 删m : r o o t ”,该区存_ 粼系统,即存放y a 皿文件系统内容 。触 o x 0 0 10 0 0 0 0 ,橱啉系统镱嘲嫩皱趾 s i z e :0 x 0 0 14 0 0 ( o , f l a g :m f b o n f s ) ; # e l x t i f 一一 其中启动参数的初始设置为: v i 疃p 日捌魄! d e 钿】l l ;埘p 日腽嘶= c e 删1 2 。t m 咄卯e , m a c h _ i n i p e , m 肌) , m e d i a _ t 灌 , f fs 3 c 2 4 4 0 ,n u l l , t 埘卿如对,0 x a 0 0 0 0 0 0 0 , n r o l l ,彻换到操1 乍豸;统时 的寻址地址 吻舭”, u a r tb a u d _ r a t e , n u l l , 吣妇r , 1 ,n u l l , t - ) a 腻出:! 畔删, o n u l l ) , 铀咖啦衄邱嘣删,3 0 0 0 0 0 , n u l l , h 咖邱帕训, 10 0 0 0 0 0 , n u l l , 协! 蚓,0 x 1 0 0 0 1 ) 0 0 , n u l l ) ; 针对该部分内容需要修改v i v i a r c h s 3 c 2 4 4 0 拙文件中的源代码,修改后完成对 v i v i 源代码的修改后,就可以对源代码进行配置、编译。在编译之前需要修改v i v i 的 第2 覃嵌入式设计环境构建 m a k e f i l c 文件,正确设置编译环境,指定l i n u x 内核头文件所在的位置和系统豸硼的交叉 编译器。 v i v i 支持m e n t r 。o n f i g 文本模式的配置界面,因此在命令行模式下执行命令:m a k e m e a u c o n f i g ,出现驱动选顷的控制界面,然后选择l o a da l r l a l t e r n a t ec o n f i g u r a t i o nf i l e ,选 择配置文件。去掉不需要的测试和调试程序的选项,选择保存退出,接着就可以执行 m a k e i 的源码目录下生成i 的可执l 行文件,最后通过j t a g 口和计算棚并口建立 连接,把v i v i 下载到开发板匕,从而完成v i v i 的移植。 2 2 3 嵌入式系统l i n u x 内核的裁剪、配置和移植 内核源码有很多目录,分别放了各种子系统或者相关文件,结构如图2 - 7 所示: 各种设备驱动程序,t m l 寅1 d 脚、畸斌、s 一址、i 2 c 、姗c 等 内核文档 文件系统例如g 哪3 、j f e | 2 等 内核头文件ti n c l u d e i a a m 是体系结构相关的头文件,包括盯 i n 、a l a h a 、m 岫、w c r p c 等 进程问通信的代码 l i a u x 内核核心代码,这个部分更小 各种库的子程序,倒如lf l i b 、c r c 3 2 等 m m , 内存管理代码 同络支持代码。主要是网络协议 内部或者外部的使用的脚本文件 图”内核文件目录 f i 9 2 - 7k e r n e ld i r e c t o r y l i n t 操作系统是个完全开放的源代码操作系统,因此用户可以自己f 载、阅读、 修改并重新编译内核,从而使开发人员能够完全自己定制相关的操作系统功能以适应自己 的需要,当l i n u x 操作系统移植到个新的系统平台时需要进行代码修已列网,也就是系统 黑龙江大学硕士学位论文 移植。国内很多网站和论坛提供l i n u x 源代码的下载,本文所采用的方式是在虚拟机的 f e d o r a 系统下构建网络连接为桥接方式,在命令删行执行命令: w g e th t t p j w w w k e m e l o r g p u b l i n u x k e m e i v 2 6 i l i n u x - 2 6 3 2 2 t a r g z 这样即可获取l i n u x 内核2 6 3 2 2 版本的源代码。l i n u x 内核的主要模块分为,1 价部 分:存储管理、c p u 和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的 初始化引导、系统调用等陶。在内核下载好后要进行必要的修改和裁剪,由于目标是要 把内核移植到目标板e ,l i n u x - 2 6 3 2 2 的默认目标平台成应为a r m 的平台。在修改好 m a k e f i l e 文件后,进行些必要的配置,在内核的根目录执行n h a k e7 _ , t m a g e 命令,内核编 译成功。之后工作是移植文件系统,跟前面下载内核的步骤相类似,通过网络获取文件系 统源代码,并安装补丁。为了使内核被y a f f s 2 的文件系统所支持,需要重新对内核进 行配置和编译网。在内核源代码的根目录执行m a k em e n u e o n g f i g 命令,在内核中添加对 y a 脱文件系统的支持阎,如图2 8 所示: 图2 - 8 泐耐蛐文件裂箍i q 支持 f i 舀港蛾t k 唰o f y a 低舭妙舾璐 撕? m a k e 疝i l a g e 重新编译。由于硬件平台有多种外设,而并不是所有设备的驱动程 序已经编译进内核的,这就需要移植相应的去驱动,添加进内核网,并重新编译,比如 触摸屏驱动、按键驱动、a d c 驱动等,这才能使嵌入式设备完成具体的功能,有关驱动 编写及添加进内核的过程将在下章做阐述。 第2 章嵌入式设计环境构建 2 2 4 网络文件系统n f s 服务的配置 在开发过程中为了更加快捷和方便地实现系统开发,需要构建一n f s 服务。i , , i f s 是网 络文件系统的缩写,在硬件平台应用程序的开发过程中,n l 、s 服务可使下位机网络将上 位机文件服务器共享的档案挂载的到自身的系统中,如同使用本地文件样,如果有某一 个可执行文件在共享目录中,同样可以在命令终端对该文件进行操f 乍刚: 设置共享目录,命令终端执行拌鲫t d 欧即o f t s 命令,咖是惬服务的配置文件, 添加内容:t l o m e , x i a o m v 蛐* ( r w , s y n c , n o r o o t _ _ s q u a s h ) 。其中奉表示对此目录的挂载没 有任何限制,任何客户机都可以。r w 表示指定挂接该目录的客户机对此目录有读写权 力。n o _ r o o t _ s q u a s h 表示允许挂接此目录的客户机享有该主机的r 0 0 t 身份,如图2 9 所示: 图2 - 9 设置共享目录 f i 9 2 - 9 & 炳n g h 砌d i m c b d 巧 l i n u x 系统默认状态是开启防火墙的,为使n f s 能够正常要将防火墙设为禁用。启动 n f f s 服务,在串口终端执行命令:能t 【妇1 i l m 蠡s t a r t 。在串口终端执行命令:拌m o u n 【_ 乇咱盎 - on o l o c k 瓜瑚e 能踟i s l 豫i l d i r m n 哒样就把匕位机的共享目录挂载至旧l 件平台上。兰扑限s 设置好后也可以将n f f s 作为根文件系统启动硬件平台,使硬件平台的存储容量在逻辑匕变 得很大,在后续开发工作中,根文件系统如果经常做改变也不用每次都下载到硬件平台的 n a n d f l a s h 中。 黑龙江大学硕士学位论文 2 3 本章小结 本章主要介绍了嵌入式技术开发之前的准备工作,包括硬件环境和软件平台两个层面 的介绍。硬件环境主要从a r m 处理器的种类及特性、随机动态存储设备、n a n d f l a s h 存储设备、u s b 接口设备、网络接口、以d 显示设备、电源设备及_ 些外设和 接口资源做的介绍,主要说明了几价重要的硬件设备的功能、特性。在软件平台环境建立 的说明中,重点从如何建立交叉编译环境、移植b o o f l o a d c r 、l i n u x 内核的裁剪配置编 译、n f s 服务的建立几爪方面介绍了,在驱动程序设计及q t 应用程序设计之前,软件环 境的构建过程。本章是后续开发的准备,也是切嵌入式技术开发的基础。 第3 章设备驱动程序 第3 章设备驱动程序 3 1 设备驱动程序概述 设备驱动j 陧序可以看成噪作系统上的部分,其作用是让操作系统能正确识别和使用 设备,硬件设备不同;所对应的操作程序也是不同的p 。嵌入式l i n u x 的显要特点是像处 理文件叫洋处理所有的设备,这种文件被称为设备文件。在驱动程序的具体操作中,应用 程序可以像对普通文件操作一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论