已阅读5页,还剩65页未读, 继续免费阅读
(通信与信息系统专业论文)基于arm的嵌入式系统设备驱动及内核开发研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 由于其体积小、效率高、功率低的固有优势,嵌入式系统( e m b e d d e d s y s t e m s ) 正在各行各业得到越来越广泛的应用。它的定位非常清晰,因 此有着非常良好的发展前景。嵌入式处理器( e m b e d d e dm i c r o p r o c e s s o r u n i t ) 和嵌入式操作系统( e m b e d d e ds y s t e m ) 是嵌入式系统的核心。目前处 理器和操作系统的关键技术均由国外掌握,但国内的嵌入式系统正处于 飞速发展阶段,前景广阔。因此,对嵌入式系统的开发进行研究,具有 很重要的理论与现实意义。 本文对嵌入式实时操作系统c o s i i 作了深入的了解,并对嵌入式 系统的驱动开发和内核开发方法进行了研究。其中,基于a r m 7 嵌入式 处理器和c o s i i 嵌入式操作系统进行了驱动开发的研究,基于a r m 9 嵌入式处理器和嵌入式l i n u x 操作系统进行了内核刀= 发的研究。 a r m ( a d v a n c e dr i s cm a c h i n e s l 是微处理器行业的一家知名企业, 基于a r m 结构的嵌入式处理器数量很多,应用也很广泛。本文对a r m 7 及a r m 9 处理器均有涉及。肛c o s i i 及嵌入式l i n u x 系统由于具备源码 开放的特性,因此非常适合开展研究工作。 本文的研究重点是嵌入式系统中的驱动开发和内核开发。可以说, 对于一个嵌入式系统而言,内核开发是在b o o t l o a d e r 成功下载之后所要 进行的首要的工作:而驱动开发则是在整个系统启动之后针对具体应用 环境而进行的进一步开发。我们在a r m 7 + i t c o s i i 平台上完成了f i f o 设备驱动的开发,从中可以体现出硬件连接以及良好的a r m 7 及 c o s i i 了解对于硬件驱动开发的重要性。另外,在a r m 9 + l i n u x 平台 上完成了内核的开发,包括2 4 1 9 版的l i n u x 内核以及最新的2 6 1 1 5 版的l i n u x 内核,从中可以看出新的内核带来了新的特性,也简化了开 发人员的工作。 本文实现了简单外设驱动的设计和嵌入式l i n u x 内核的开发,为今 后的产品开发奠定了良好的基础。 关键词:嵌入式系统:a r m ;“c o s i i ;l i n u x ;驱动程序;内核 华南理工人学工学硕上学位论文 a b s t r a c t t h ee m b e d d e ds y s t e m si s b e i n gu s e dm o r ea n dm o r ee x t e n s i v ei n e v e r yt r a d eb e c a u s eo fi t sc h a r a c t e r i s t i co fs m a l lv o l u m e ,h i g he f f i c i e n c y a n dl o wp o w e r i t sf i x e dp o s i t i o ni sv e r yc l e a r ,s oi th a v eav e r yg o o d d e v e l o p m e n tf o r e g r o u n d t h ee m p u ( e m b e d d e dm i c r o p r o c e s s o ru n i t ) a n d t h ee m b e d d e ds y s t e ma r et h ec o r e so ft h ee m b e d d e ds y s t e m s t h ek e y t e c h n i q u eo ft h ee m p ua n de m b e d d e ds y s t e mi sc o n t r o l l e db yt h ea b r o a d , b u tt h el o c a le m b e d d e ds y s t e m sa r ed e v e l o p e dq u i c k l y t h e r e f o r e ,c a r r yo n t h er e s e a r c ho ft h ed 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 sh a v et h ev e r y i m p o r t a n tt h e o r e t i ca n dr e a l i s t i cm e a n i n g s t h i st e x tm a k e sat h o r o u g hu n d e r s t a n d i n gt ot h ee m b e d d e dr e a l - t i m e o p e r a t i n gs y s t e m i x c o s - i i ,a n dc a r r i e so nt h er e s e a r c ho ft h ed e v e l o p m e n t o ft h ed e v i c ed r i v e ra n ds y s t e mk e r n e l a m o n gt h e m ,c a r r i e so nt h er e s e a r c h o ft h ed e v e l o p m e n to ft h ed e v i c ed r i v e rb a s e do na r m 7e m p ua n d i x c o s i i ,c a r r i e so nt h er e s e a r c ho ft h ed e v e l o p m e n to fs y s t e mk e r n e lb a s e d o na r m 9 e m p ua n dl i n u x t h ea r m ( a d v a n c e dr i s cm a c h i n e s ) i saw e l l - k n o w nb u s i n e s s e n t e r p r i s eo ft h em i c r o p r o c e s s o rp r o f e s s i o n ,t h e r ea r eal o to fp r o c e s s o r s w h i c ha c c o r d i n gt ot h eb u i l t i n p r o c e s s o ra r ms t r u c t u r e ,a n d t h e i r a p p l i c a t i o ni sa l s ov e r ye x t e n s i v e t h i st e x ti n v o l v e sb o t ht ot h ep r o c e s s o r o fa r m 7a n da r m 9 t h ei x c o s - i ia n dl i n u xs y s t e mi ss u i t a b l et ot h e r e s e a r c hw o r kb e c a u s eo fi t sc h a r a c t e r i s t i co ft h eo p e ns o u r c ec o d e t h et e x t u a lr e s e a r c hp o i n ti st h ed e v e l o p m e n to ft h ed e v i c ed r i v e ra n d s y s t e m k e r n e lo fe m b e d d e ds y s t e m s f o rae m b e d d e ds y s t e m s ,t h e d e v e l o p m e n to fs y s t e mk e r n e li s t h ec h i e f l yw o r ka f t e rt h es u c c e s s f u l d o w n l o a do fb o o t l o a d e r ;a n dt h ed e v e l o p m e n to fd e v i c ed r i v e ri sf u r t h e r d e v e l o p m e n ta i ma tt h ea c t u a lc o n d i t i o n w ec o m p l e t et h ed e v e l o p m e n to f t h ed r i v e ro ff i f 0d e v i c eb a s e do na r m 7 e m p ua n duc o s i i ,f r o mi t , w ec a nr e a l i z et h e i m p o r t a n c e o ft h eh a r d w a r ec o n n e c t sa n d g o o d k n o w l e d g eo fa r m 7a n d “c o s - i it o t h ed e v e l o p m e n to fd e v i c ed r i v e r m o r e o v e r ,w ec o m p l e t e dt h ed e v e l o p m e n to fs y s t e mk e r n e lb a s e do na r m 9 a n dl i n u x ,i n c l u d i n gl i n u xv e r s i o n2 4 1 9a n dv e r s i o n2 6 11 5 f r o mi tw e c a nr e a l i z et h a tn e wk e r n e lb r i n g sn e wc h a r a c t e r i s t i ca n dt h e r e f o r e i j a b s 仃a c t s i m p l i f i e st h ew o r ko ft h ed e v e l o p e r t h i st e x tc a r r i e so u tt h ed e v e l o p m e n to fs i m p l ed e v i c ed r i v e ra n d k e r n e lo fe m b e d d e dl i n u x ,t h e r e f o r e l a y ag o o df o u n d a t i o nf o rt h e d e v e l o p m e n to ft h ea f t e r t i m e k e y w o r d s :e m b e d d e ds y s t e m ;a r m ;c o s i i ;l i n u x ;d r i v e r ;k e r n e l ; i i i 华南理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立 进行研究所取得的研究成果。除了文中特别加以标注引用的内 容外,本论文不包含任何其他个人或集体己经发表或撰写的成 果作品。对本文的研究做出重要贡献的个人和集体,均已在文 中以明确方式标明。本人完全意识到本声明的法律后果由本人 承担。 作者签名:。别杂考乞日期:全万年占月膨日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的 规定,同意学校保留并向国家有关部门或机构送交论文的复印 件和电子版,允许论文被查阅和借阅。本人授权华南理工大学 可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位 论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密留。 ( 请在以上相应方框内打“4 ”) 作者签名: 导师签名: 列隶能 叶裙 日期:力嗲年占月彤日 日期:瑚歹年6 月c p 日 第一章绪论 第一章绪论 嵌入式系统( e m b e d d e ds y s t e m ) 是当前i t 领域发展的一个热点。嵌 入式系统的优点是相当明显的,它的体积较小,消耗的功率较低,性能 也比较理想。由于它面对特定的行业用途,因此相对来说功能比较单一, 这也是嵌入式系统固有的缺陷。然而,从“够用就好”的角度来说,嵌入 式系统是可以用于社会各领域的理想解决方案。 关于嵌入式系统的定义,目前尚未有统一的观点。下面列出几种不 同的关于嵌入式系统定义的描述,并在此基础上给出嵌入式系统的定义。 1 嵌入式系统是计算机软件和硬件的综合体,它是以应用为中心和 以计算机技术为基础的,并且软硬件是可以裁减的,能满足应用系统对 功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。 它可以实现对设备的控制、监视或管理等功能。 2 嵌入式系统描述的是一种智能系统,它嵌入在其他以非传统计算 机形态出现的产品中,智能系统是这些产品的控制、运算或信息处理的 中心。【2 】 3 嵌入式系统是以应用为中心,软硬件可裁减,适应应用系统对功 能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。 3 l 4 嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、 面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功 耗等综合性严格要求的专用计算机系统。【4 j 由以上几种描述,我们给出嵌入式系统的定义如下: 所谓嵌入式系统,指的是从特定行业应用出发而设计的,面向应用 的,包含可裁减软硬件的微型计算机系统,一般作为特定行业应用的控 制中心。与此同时,嵌入式系统还代表着一种系统的设计理念和设计方 法。 本文对嵌入式实时操作系统p c o s i i t5 j 作了深入的了解,并对嵌入 式系统的驱动开发和内核开发方法进行了研究。其中,基于a r m 7 嵌入 式处理器和“c o s i i 嵌入式操作系统进行了驱动开发的研究,基于 a r m 9 嵌入式处理器和嵌入式l i n u x 操作系统进行了内核开发的研究。 1 1 课题学术背景及意义 华南理工大学工学硕士学位论文 当今,以计算机和软件为核心的数字化技术已经取得了迅猛发展, 不仅广泛渗透到社会、经济、军事、交通、通信等相关行业,而且深入 到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化技术革 命。多媒体技术与i n t e r n e t 的应用迅速普及,消费电子、计算机、通信( 3 c ) 一体化趋势日趋明显,嵌入式技术已经成为一个研究热点。从2 0 世纪 7 0 年代单片机的出现,一直到现在大量嵌入式微处理器、嵌入式微控制 器的在各行合业的广泛应用,嵌入式系统已经走过了3 0 多年的发展历 程。纵观嵌入式技术的发展,大致经历了以下4 个阶段。【6 j 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有 与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专 业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言 编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要 特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小, 几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在 国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容 量存储介质的现代化工业控制和新兴的信息家电等领域的需求。 第二阶段是以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式 系统。这一阶段系统的主要特点是:c p u 种类繁多,通用性比较弱;系 统开销小,效率高;操作系统具有一定的兼容性和扩展性:应用软件较 专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程 序运行。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统 的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上, 兼容性好;操作系统内核短小精悍、效率高,并且具有高度的模块化和 扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗 口以及用户界面等功能;具有大量的应用程序接口( a p i ) ,开发应用程序 简单;嵌入式应用软件丰富。 第四阶段是以基于i n t e r n e t 为标志的嵌入式系统,这是一个正在迅 速发展的阶段。目前大多数嵌入式系统还孤立于i n t e r n e t 之外,但随着 i n t e r n e t 的发展以及i n t e r n e t 技术与信息家电、工业控制技术等结合日益 密切,嵌入式设备与i n t e r n e t 的结合将代表着嵌入式技术的真正未来。 嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统 组成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要 由一个单片机或微控制器( m c u ) 组成,而这些嵌入式c p u 目i j 多是8 位 和1 6 位的,与3 2 位或6 4 位的高性能处理器相比,具有很强的经济性和 第一章绪论 现实性。相关支撑硬件包括显示卡、存储介质( r o m 和r a m 等) 、通讯 设备、i c 卡或信用卡的读取设备等。嵌入式系统有别于一般的计算机处 理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存( f l a s h m e m o r y ) 作为存储介质。嵌入式软件包括与硬件相关的底层软件、操作 系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。 总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等 特点,可以嵌入到现有任何信息家电和工业控制系统中。从软件角度来 看,嵌入式系统具有不可修改性、系统所需配置要求较低、系统专业性 和实时性较强等特点。 我们目前正处于后p c 时代中,而嵌入式系统就是与这一时代紧密 相关的产物。它将拉近人与计算机的距离,形成一个人机和谐的工作与 生活环境。嵌入式系统可应用于人类工作与生活的各个领域,具有极其 广阔的应用前景。嵌入式系统在传统的工业控制和商业管理领域已经具 有广泛的应用空间,如智能工控设备、p o s a t m 机、i c 卡等;在家庭 领域更具有广泛的应用潜力,如机顶盒、数字电视、w e b t v 、网络冰箱、 网络空调等众多消费类和医疗保健类电子设备等:此外还有在媒体手机、 袖珍电脑、掌上电脑、车载导航器等方面的应用,这将极大地推动嵌入 式技术深入到生活和工作的方方面面。此外,嵌入式系统在娱乐、军事 方面的应用潜力也是巨大的。 1 2 国内外研究状况 嵌入式系统正处在一个飞速发展和激烈竞争的时代,未来的几年里 这种发展和竞争将达到白热化的程度。从嵌入式系统的技术和市场上来 说,国外发展速度极快,技术日趋成熟,市场格局基本形成。而国内发 展也增长很快,市场潜力很大。在国外,嵌入式系统硬件特别是嵌入式 c p u 处理能力提升较快,由8 位、1 6 位升级到3 2 位与6 4 位,掌上电脑、 p d a 、电脑手机、电脑汽车等新产品层出不穷,产业规模日益壮大。 在国内,嵌入式系统关键硬件主要靠从国外引进,技术基础比较薄 弱。然而以商务通为代表的p d a 系统市场火爆,联想掌上电脑、海信机 顶盒、数源机顶盒等系统进入市场后也获得用户好评,手机电脑市场前 景看好。 嵌入式c p u 是嵌入式系统的核心。嵌入式c p u 可以分为三类:嵌 入式微处理器、嵌入式微控制器、嵌入式d s p ( d i g i t a ls i g n a lp r o c e s s o r ) 。 嵌入式微处理器就是和通用计算机的微处理器对应的c p u 。在应用中, 华南理工大学工学硕士学位论文 一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入 式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。 目前的嵌入式处理器主要包括:p o w e r p c 、m o t o r o l a6 8 0 0 0 、a r m 系列 等等。在各式各样的3 2 位嵌入式c p u 中,基于a r mc p u 内核的嵌入 式微处理器所占的比例是最高的,而且它基于r i s c ( r e d u c e di n s t r u c t i o n s e tc o m p u t i n g ,精简指令集算法) 架构,利于学习和掌握。 嵌入式微控制器又称为单片机,它将c p u 、存储器( 少量的r a m 、 r o m 或两者都有) 和其它外设封装在同一片集成电路里。常见的有8 0 5 1 等。 嵌入式d s p 专门用来对离散时间信号进行极快的处理计算,提高编 译效率和执行速度。在数字滤波、f f t 、谱分析、图像处理的分析等领 域,d s p 正在大量进入嵌入式市场。 嵌入式操作系统是嵌入式系统软硬件资源的控制中心,它以尽量合 理的有效方法来组织多个用户共享嵌入式系统的各种资源。其中用户指 的是系统程序之上的所有软件。一般来说,嵌入式通过定义一些系统函 数来实现对系统硬件资源的访问,而用户程序可以通过调用这些系统函 数来使用系统的硬件资源。具体的访问过程从某种程度上说,对于用户 是透明的。 国外嵌入式操作系统已经从简单走向成熟,主要有w i n d o w sc e 、 p a l m o s 、p o w e r t v 、l a c l i n u x 、p c o s 、n u c l e u s 、p s o s 等,占据了机顶 盒、p d a 等的绝大部分市场。国内的嵌入式操作系统研究开发有2 种类 型,一类是基于国外操作系统二次开发完成的,如海信的基于w i n d o w s c e 的机顶盒系统;另一类是中国自主开发的嵌入式操作系统,如凯思集 团公司自主研制开发的嵌入式操作系统h o p e no s ( “女娲计划”) 、中国 科学院北京软件工程研制中心开发的c a s s p d a 等。 在上述这些操作系统中,w i n d o w sc e 内核较小,能作为一种嵌入式 操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理 器的选择以及非强行的电源管理功能。内置的标准通信能力使w i n d o w s c e 能够访问i n t e r n e t 并收发e m a i l 或浏览w e b 。除此之外,w i n d o w s c e 特有的与w i n d o w s 类似的用户界面使最终用户易于使用。w i n d o w s c e 的缺点是速度慢、效率低、价格偏高、丌发应用程序相对较难。 3 c o m 公司的p a l mo s 在掌上电脑和p d a 市场上独占其霸主地位, 它有开放的操作系统应用程序接口( a p i ) ,开发商可根据需要自行开发所 需的应用程序。 p o w e r t v 操作系统也是一套占有很大市场份额的操作系统,是一个 第一章绪论 高级可缩放的实时操作系统,为网络操作员和应用开发人员提供了广泛 的功能和更高的需求,它还可允许动态扩展和升级,以便提供新特性来 适应市场需求。 u c l i n u x 包含丰富的功能,包括文件系统、各种外设的驱动程序、 通讯模块,t c p i p ,p p p ,h t t p ,甚至w e b 服务器的代码。其代码经 过世界范围内的优化,稳定可靠而且高效,所有模块的代码都可以从 i n t e r n e t 上获得。可以进行模块移植。其最大的特点是源代码公开, 完全免费。 肛c o s 是一个用于微处理器的轻便、实时的多任务核心。它的代码 量小,但是实时特征明显,简单易学,提供了嵌入式系统的基本功能。 其核心代码短小精悍,如果针对硬件进行优化,还可以获得更高的执行 效率。但是i _ t c o s 相对商用嵌入式系统来说过于简单,而且存在开发调 试困难的问题。其源代码及目标代码对学生是公开的,但如果用于商业 用途则必须购买l i c e n c e 。l a c o s i i 对g c o s 有许多新的发展,同时向上 兼容l a c o s 。 n u c l e u s 是一个为对时间有严格限制的嵌入式应用而设计的多任务 核心。约9 5 的n u c l e u sp l u s 代码用c 语言编写,因此它能很方便地 被移植。同时可提供w e b 支持,网络,图形包,文件系统等模块。最大 的特点是全部提供源代码,无需购买l i c e n s e 。用户只需通过d l l 动态链 接库便可进行任务级调试,无需编写b s p ( b o a r ds u p p o r tp a c k a g e ,板级 支持包,像p c 的b i o s 一样,往下驱动硬件,往上支持操作系统) 。 p s o s 是一个完全可扩展的嵌入式实时操作系统,在中国市场占有率 是最高的,推出时问较早,因此它比较成熟,目前可以支持很多类型的 处理器,其板级支持包b s p 也比较全,能支持各种类型的评估板。其功 能模块完全独立,开发者可根据应用要求扩展系统功能和存储容量。 h o p e no s 是凯思集团自主研制开发的嵌入式操作系统,由一个体 积很小的内核及一些可以根据需要进行定制的系统模块组成。其核心 h o p e nk e r n e l 一般为1 0 k b 左右大小,占用空间小,并具有实时、多任 务、多线程的系统特征。 此外,嵌入式数据库( 或称移动数据库) 也是一个非常重要的研究方 向,一些商业数据库系统如s y b a s e 、o r a c l e 都己推出了移动数据库 的产品,以支持嵌入式的数据处理的要求。国内也有些单位正在开展这 方面的研究。在国内,大规模的嵌入式应用系统目前还非常少,预计今 后系统应用将重点转向基于i n t e r n e t 的各种嵌入式应用系统和信息家电 领域,包括浏览i n t e r n e t 、网上证券交易、i pp h o n e 和v o d 点播等等。 华南理工大学工学硕十学位论文 1 3 主要研究内容 鉴于a r m 系列处理器在当今嵌入式c p u 中的绝对主流地位( 基于 a r m 技术的微处理器应用约占据了3 2 位r i s c 微处理器7 5 以上的市 场份额) ,本文主要基于a r m 系列处理器进行开发工作。 其中,基于n e o m a g i en w s7 2 1 0 处理器( 使用a r m 7 2 0 t 核) 和 p c o s i i 系统进行了驱动软件的丌发工作,并对c o s i i 系统做了比较 深入的了解。基于a t m e la t 9 1 r m 9 2 0 0 处理器( 使用a r m 9 2 0 t 核) 和嵌入 式l i n u x 系统进行了系统内核的开发工作。其中,不仅对常见的2 4 1 9 内核进行了开发,也对最新的2 6 1 1 5 内核进行了开发工作。 1 4 本章小结 嵌入式系统是当前i t 领域的一个研究热点。由于它非常清晰的定 位,因此在行业应用方面有着非常良好的前景。 嵌入式处理器和嵌入式操作系统是嵌入式系统的核心。目前处理器 和操作系统的关键技术均由国外掌握,但国内的嵌入式系统正处于飞速 发展阶段,前景广阔。因此,对嵌入式系统的开发进行研究,具有很重 要的理论与现实意义。 a r m ( a d v a n c e dr i s cm a c h i n e s l ,既可以认为是一个公司的名字,也 可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。目 前,采用a r m 技术知识产权核的微处理器,即通常所说的a r m 微处理 器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系 统等各类产品市场。我们对a r m 7 和a r m 9 处理器都进行了开发工作。 我们使用a r m 7 内核的处理器和嵌入式操作系统h c o s i i ,对 f i f o ( f i r s ti nf i r s to u t ,先入先出1 设备的驱动进行了开发;另外,使用 a r m 9 内核的处理器和嵌入式l i n u x 操作系统,对嵌入式系统的内核进 行了开发。 第二章基于a r m 7 + p c o s - i i 的嵌入式驱动软件开发实践 第二章基于a r m 7 + p c o s i i 的嵌入式驱动软件 开发研究 a r m 7 是目前应用非常广泛的嵌入式处理器,对a r m 7 的相关内容 进行熟悉并在此基础上进行开发,具有非常重要的意义。i t c o s i i 则是 最简单的嵌入式操作系统,它的代码完全免费且短小精悍,是学习嵌入 式系统开发的一个很好的选择。因此,我们决定采用a r m 7 + p c o s i i 的开发平台。 我们使用了d i v i o 公司的n w 9 0 1m p e g 4 开发板【7j ,该开发板是 针对n w 9 0 l 这款m p e g 4 的视频压缩编码芯片捧】而进行设计的。 该开发板的功能如下:通过视频头采集到模拟视频数据,经过 s a a 7 1 1 4 视频解码芯片完成从模拟视频信号到数字视频信号的转换工 作,得到符合i t u 6 5 6 数字视频标准的数字信号,再经过n w 9 0 1 视频 压缩芯片,获得m p e g 4 视频码流。n w 9 0 1 是为基于s d 记忆卡的可携 式摄像机而设计的,开发板上生成的m p e g 4 视频码流是写入s d 卡, 我们将m p e g 一4 视频码流取出,发送到网络服务器模块一j 。 与网络服务器模块的中介,我们使用了f i f o 。在n w 9 0 lm p e g 一4 开发板这一边,我们将数据写入f i f o ,在网络服务器这边,则把数据从 f i f o 中读出,发送到i n t e r n e t 上。因此,需要编写在a r m 7 及9 c o s i i 下的f i f o 驱动程序。 2 1 嵌入式平台综述 n w 9 0 1m p e g 一4 开发板是针对n w 9 0 1 这款m p e g 一4 的视频压缩编 码芯片而进行设计的。 该开发板是为了对n w 9 0 1 这款m p e g 4 视频压缩芯片进行评估而 设计的。与此同时,也为开发人员展示了一个嵌入式系统的实例。 该开发板使用了双芯片的解决方案,分别是n w 9 0 1 和a r mc p u 。 我们可以通过键盘来控制该系统来实时查看摄像头采集的视频数据,同 时也可以通过s 端子与外部的诸如电视机之类的视频输出源相连接。 该开发板的视频帧率可以达到3 0 帧秒,视频和音频的回放能力同 样达到了3 0 帧,秒。同时该开发板还提供了s d 卡( s e c u r e d i g i t a l ) 接口, s d 卡可用于储存压缩好的m p e g - 4 视频文件。 该丌发板的技术参数如下: 华南理工大学工学硕上学位论文 处理器 n e o m a g i cn w s 7 2 1 0f 1 0 ,使用a r m 7 2 0 t 核 操作系统 i t c o s i iv 2 0 0 存储设备 f l a s h 处理器内部有1 k b y t e s s d r a m 一处理器内部有8 0 k b y t e s ,板上2 + 1 6 m * 8 b i t = 3 2 m b y t e s 接口 u s b 、r s 2 3 2 、1 0 m 1 0 0 m 网口 输入输出设备 键盘、l c d 、摄像头 下面是d i v i on w 9 0 1m p e g 一4 开发板的系统结构框图【7 图2 1 开发板系统结构框图 f i g2 - 1s y s t e mb l o c kd i a g r a m 由上可见该开发板的工作流程:通过视频头采集到模拟视频数据, 经过s a a 7 1 1 4 视频解码芯片完成从模拟视频信号到数字视频信号的转 换工作,得到符合i t u 6 5 6 数字视频标准的数字信号,再经过n w 9 0 1 视频压缩芯片,获得m p e g 4 视频码流。 8 第二章基于a r m 7 + p c o s q i 的嵌入式驱动软件开发实践 2 1 1a r m 7 处理器 我们使用的是n e o m a g i cn w s7 2 1 0 处理器,使用a r m 7 2 0 t 核。 处理速度为o 9 m i p s m h z ( 百万条指令每秒兆赫兹) 低功耗,高密度。是一款具备8 k b y t e 缓存的r i s c 处理器 片上1 k b y t ef l a s h 和8 0 k b y t e 的s d r a m 可支持最高达3 2 m b y t e 的外接s d r a m 八通道d m a 控制器 具备l c d 控制器,支持l c d 显示屏 支持s m a r tc a r d 、s i b 卡、m m s 卡和s d 卡 u s b 主从控制器 三个串口,支持最高速度4 6 0 k b s 支持三种红外线传输速率:低( 最高1 1 5 2 k b s ) ,中( 0 5 7 6 或 1 1 5 2 m b s ) ,高( 4 m b s ) 处理器内部的控制器包含中断控制器,计时器,实时时钟,键盘 接口,通用i o 端口( g e n e r a l p u r p o s ei o ,g p i o ) 两个晶振,分别是3 2 7 6 8 m h z 和3 6 8 6 4 m h z 对于即将进行的驱动程序的开发,我们将使用到a r m 7 中的中断控 制器和g p i o 口。 2 1 2 嵌入式实时操作系统i i c o s i i i _ t c o s ( m i c r o c o n t r o l l e ro p e r a t i n gs y s t e m ) hj 是源码公开的实时内 核,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至2 k 。在众多的实时内核中,c o s 是代码量最小的一 个。该实时核心于1 9 9 2 年首次发布。p c o s i i 对l a c o s 有许多新的发 展,同时向上兼容c o s 。 i _ t c o s i i 是在p c 上生成及调试的,但事实上u c o s i i 主要为嵌入 式系统所应用。 对实时内核,系统响应时间很重要。故“c o s i i 属于可剥夺型内核, 即最高优先级的任务一旦就绪,总能得到c p u 的控制权。当一个运行着 的任务使一个比它优先级高的任务进入了就绪态,当前任务的c p u 使用 权就被剥夺了,那个高优先级的任务立刻得到了c p u 的控制权。如果是 中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断 了的任务被挂起,优先级高的那个任务开始运行。 i _ t c o s i i 内核提供了任务调度与管理、时间管理、任务间同步与通 信、内存管理和中断服务等主要功能,主要适合一些小型控制系统。 9 华南理工大学工学硕士学位论文 下面,就r t c o s i i 系统中的一些情况作比较详细的说明。 2 1 2 1i a c o s i i 的一些基本情况 i j c o s i i 的代码是j e a nj l a b r o s s e 在一台运行w i n 9 5 的机器上写成。 b o r l a n di n t e r n a t i o n a lc c + + v 3 1 是编写代码所用的软件。因此, i - t c o s - i i 是在p c 上生成及调试的,但事实上l a c o s i i 主要为嵌入式系 统所应用。 1 i t c o s i i 的一些主要特性: 1 ) 关于可移植性,只要嵌入式处理器( e m b e d d e dm i c r o p r o c e s s o r u n i t ,e m p u ) 满足以下要求,则i - t c o s i i 就能够被移植到该处理 器上。 a ) 处理器的c 编译器能产生可重入代码: b ) 用c 语言就可以打开和关闭中断; c ) 处理器支持中断,并且能产生定时中断( 通常在1 0 至1 0 0 h z 之间1 : d ) 处理器支持能够容纳一定量数据( 可能是几千字节) 的硬件堆 栈; e ) 处理器有将堆栈指针和其它c p u 寄存器读出和存储到堆栈或 内存中的指令; 2 ) i _ t c o s i i 为嵌入式应用所设计,若有适当的工具( c 编译器,汇 编程序和连接器) ,则可以把i j t c o s i i 嵌入,作为产品的一部分。 3 ) p c o s - i i 可裁减,l - t c o s i i 所需存储器的大小是可以减少的( 包 括r a m 和r o m ) 。 4 ) i t c o s i i 是有完善抢占性的核心,i _ t c o s i i 总是运行准备好的任 务中优先级最高的那个。也就是说,i t c o s i i 能够进行任务调度, 确定哪个任务的优先级最高,下面该哪个任务运行了。 5 ) i t c o s i i 可以处理多达6 4 个任务,但系统保留8 个任务作为系 统所使用。故用户可有5 6 个应用任务。每一任务有其唯一优先 级,共6 4 个优先级。系统所保留之8 个任务,有四个优先级为 最高,四个优先级为最低。 6 ) i a c o s - i i 的内核负责管理各个任务,各任务有自己的优先级,有 它自己的一套c p u 寄存器和自己的栈空间。 7 ) 所有l a c o s i i 的功能及服务的执行时间是确定的。总是可以知道 r l c o s - i i 需要花多少时间来执行一个功能或服务。而且,除非只 有一个服务,否则所有# c o s i i 的服务的执行时间并不取决于在 应用程序中运行的任务个数。 1 0 第二章基于a r m 7 + p c o s l i 的嵌入式驱动软件开发实践 8 ) 每一个任务都有其自己的s t a c k ( 堆栈) ,g c o s i i 允许每一任务 有其不同的堆栈大小。这样可以在应用程序中减小所需r a m 的 数量。可以准确地决定每一任务事实上所需要的堆栈空间。 9 ) g c o s i i 提供大量的系统服务。比如信号量、邮箱、消息队列、 固定大小的存储区域、与时间相关的功能等等。 1 0 ) 关于中断机制,中断可以将一个任务的执行挂起,如果有更高优 先级的任务作为该中断的结果在中断服务子程序i s r 中被唤醒, 则最高优先级的任务在所有嵌套的中断完成之后将被运行。中断 可以有2 5 5 级深的嵌套。 2 g c o s i i 的主函数( 启动过程) g c o s i i 的启动过程: 调用系统初始化函数o s i i n t ( ) ,o s l n i t 0 初始化g c o s i i 所有的变量 和数据结构。同时,建立空闲任务和统计任务,使其进入就绪态,这两 个任务的优先级为最低; 通过调用0 s t a s k c r e a t e ( ) 或o s t a s k c r e a t e e x t ( ) ,建立任务,分配给 它运行参数,堆栈及优先级等等。在中断服务子程序i s r 中不能建立任 务。任务必须为无限循环结构且不能有返回点。 调用o s s t a r t 0 ,从任务就绪表中找出那个用户建立的优先级最高任 务的任务控制块,然后,o s s t a r t 0 调用高优先级就绪任务启动函数 o s s t a r t h i g h r d y ( ) ,使优先级最高任务真正开始运行。 图2 - 2g c o s i i 的启动过程 f i g2 - 2t h es t a r t u pp r o c e s so f “c o s - i i 1 l 华南理工大学工学硕上学位论文 o s i n i t o : o s i n i t 是i t c o s i i 系统初始化函数,它初始化了所有的变量和结构 类型,并且建立了两个系统任务:空闲任务和统计任务。空闲任务 o s t a s k l d l e 0 的优先级总是设成最低,即o sl o w e s tp r i o 。如果统计 任务允许o st a s ks t a te n 和任务建立扩展允许都设为1 ,则o s i n i t ( ) 还得建立统计任务o s t a s k s t a t 0 并且让其进入就绪态。o s t a s k s t a t 0 的优 先级总是设为o sl o w e s tp r i o 1 。也就是说,空闲任务o s t a s k l d l e 0 和统计任务o s t a s k s t a t o 的优先级是最低的。 o s c r e a t e t a s k ( ) : 建立任务,分配给它运行参数,堆栈及优先级等等。在中断服务子 程序i s r 中不能建立任务。任务必须为无限循环结构且不能有返回点。 另外,在函数中分配给任务的优先级不能是0 、1 、2 、3 以及 o s l o w e s t p r i o 一3 、o s l o w e s t p r i o 一2 、o s l o w e s t p r i o l 、 o sl o w e s tp r i o 。这些优先级已为系统所保留。 o s s t a r t o : 找出那个用户建立的优先级最高任务的任务控制块o st c b ,调用 优先级就绪任务启动函数0 s s t a r t h i 曲r d y ( ) 。 另外,必须在o s s t a r t 0 函数之后启动时钟节拍函数o s t i m e t i c k ( ) , 该函数用于通知l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年能源建设区块链应用开发合同
- 2026年环保开发工业互联网合同
- 2026年医疗咨询工程施工协议
- 2026年AI评估托管运营合同
- 生物一模模拟卷01-2026年中考第一次模拟考试(含答案)(江西专用)
- 村委财务管理工作制度
- 村心里咨询室工作制度
- 预防手足口病工作制度
- 领导包联重点工作制度
- 风险排查管控工作制度
- 2025年wset三级题库及答案
- 2025年高考物理电磁学专题训练解题技巧与真题试卷及答案
- 2026春教科版(新教材)小学科学三年级下册《发光发热的太阳》教学课件
- GB/T 31458-2026医院安全防范要求
- 雨课堂学堂在线学堂云《柴油机构造与使用(火箭军工程)》单元测试考核答案
- 乡镇卫生院医保审核制度
- 统编版(2024)八年级下册历史期末复习全册知识点提纲详细版
- BMS培训课件教学课件
- 物业新入职员工安全培训课件
- 休克课稿教案
- 《DLT 5428-2023火力发电厂热工保护系统设计规程》专题研究报告深度
评论
0/150
提交评论