




已阅读5页,还剩71页未读, 继续免费阅读
(电子科学与技术专业论文)基于fpga的以太网音频广播系统的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
e t h e r n e ta u d i ob r o a d c a s ts y s t e md e s i g nb a s e do nf p g a at h e s i ss u b m i t t e dt o d a l i a nm a r i t i m eu n i v e r s i t y i np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t sf o r t h ed e g r e eo f m a s t e ro fe n g i n e e r i n g b y x u y u a n ( e l e c t r o n i c ss c i e n c ea n dt e c h n o l o g y ) d i s s e r t a t i o n t h e s i ss u p e r v i s o r :p r o f e s s o rb a ig u i x i n j u n e2 0 1 1 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博硕士学位论文 = = 基王坠的丝态圆童麴亡搔丕红的丝进:。除论文 中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文 中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公 开发表或未公开发表的成果。本声明的法律责任由本人承担。 j巧 学位论文作者答名:稻。冶, 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论 文全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式 出版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密口( 请在以上方框内打“4 ”) 论文作者躲藉焉导师躲彳秒哏 日期:户f 年莎月日 1 中文摘要 摘要 传统的广播系统传送的是模拟音频信号,抗干扰能力比较弱,随着距离的增 加,势必会造成信号的衰减,音频信号质量的下降,同时施工及维修比较困难。 随着互联网技术和数字音频流技术的发展,音频信号的传输和处理逐渐向数字化 转变。基于以太网的音频广播采用数字化技术传输音频信号,可以实现实时点播、 多路分区播音,避免了传统音频广播在传输多路音频信号时需铺设多线路的缺点, 同时具有良好的可靠性、稳定性、低失真度、易于安装布线等优点,有着广阔的 发展及应用前景。 本文结合数字音频及成熟的网络技术,采用基于f p g a 的嵌入式系统实现以 太网的互联,接收以太网传来的数字语音信号,实现网络广播功能。本文的主要 工作如下: 首先对p o w e r p c 4 0 5 硬核处理器和f p g a 芯片技术的研究,分析网络音频广播 系统的功能,进而利用e d k 工具,在v i r t e r - i ip r o 中完成了p o w e r p c4 0 5 硬核处 理器的嵌入,并生成了外设总线接口、r s 2 3 2 接口等,通过i p i f 在系统内总线上 构建音频解码接口口核,并利用e d k 开发工具提供的核资源添加e t h e r n e t 接 口口核,最后连接所有组件,设计完成了f p g a 嵌入式系统硬件平台。 然后在软件平台上对x i l k e m e l 系统进行配置,完成l w l p 协议栈在x i l k e m e l 上的实现,设计实现了平台上设备驱动程序,并根据网络数字音频广播的传输协 议,从任务、数据结构等几个方面完成了x i l k e r n e l 操作系统下的程序设计。 最后通过对系统的调试,系统达到了实际的要求,完成了预定目标。 关键词:以太网音频广播;p o w e r p c ;x il k e r n e l 操作系统;l w l p b r o a d c a s t ,u s e sd i g i t a lt e c h n o l o g yt ot r a n s m i ta u d i os i g n a l s i ta v o i dt h es h o r t c o m i n g so f m u l t i l i n e l y i n gi n t r a d i t i o n a la u d i ob r o a d c a s tw h e ni tt r a n s m i t sm u l t i c h a n n e lo f m u l t i c h a n n e la u d i os i g n a l s ,i ta l s oh a v eg o o dr e l i a b i l i t ya n ds t a b i l i t y ,l o wd i s t o r t i o n ,e a s y i n s t a l l t i o na n dw i r i n g ,e r e i th a sab r o a dd e v e l o p m e n ta n da p p l i c a t i o n t h i sp a p e ri n t e g r a t e sd i g i t a la u d i oa n dm a t u r en e t w o r kt e c h n o l o g y , u s e se m b e d d e d s y s t e mb a s e do nf p g at oi n t e r c o n n e c te t h e m e ta n dr e c e i v ed i g i t a lv o i c es i g n a lc o m i n g f r o mt h ee t h e m e t t h es y s t e mr e a l i z e sn e t w o r kr a d i of e a t u r e t h em a i nw o r ki nt 1 1 i s p a p e ri sa sf o l l o w s : f i r s t ,t h i sp a p e rr e s e a r c h sp r o c e s s o r sb a s e do np o w e r p c4 0 5a n dx i l i n xf p g a c h i p t e c h n o l o g y , a n a l y z e st h ef u n c t i o no fn e t w o r ka u d i ob r o a d c a s t i n ga y s t e m ,u s e se d kt o o l t oc o m p l e t ep o w e r p c4 0 5e m b e d e di nv i r t e r - i ip r o ,a n dt h e ng e n e r a t e st h ee m b e d d e d o n - c h i pp e r i p h e r a lb u si n t e r f a c e ,t h ep r o c e s s o rl o c a lb u si n t e r f a c e ,l o c a lm e m o r y , r s 2 3 2 i n t e r f a c e s d i fb u si nt h es y s t e mb yb u i l d i n go nt h ea u d i oc o d ei n t e r f a c ei pc o r ea n d d e v e l o p m e n tt o o l su s i n ge d k i pc o r er e s o u r c e sa v a i l a b l et oa d de t h e r n e ti n t e r f a c ei p c o r ea n df i n a l l yc o n n e c ta l lt h ec o m p o n e n t sd e s i g no ff p g ae m b e d d e ds y s t e m h a r d w a r ep l a t f o r m t h e n ,t h i sp a p e rc o n f i g sx i l k e r n e ls y s t e m ,i m p l e m e n t sl w i pp r o t o c o ls t a c k ,d e s i g n a n dr e a l i z ea u d i od e v i c ea n ds u d i od a t aa c q u i s i t i o no nt h ep l a t f o r m ,a n dt h e nc o m p l e t e s p r o g r a m m i n g si nx i l k e m e lo p e r a t i n gs y s t e mf o r mt a s k 、t h ed a t as t r u c t u r ea n do t h e r a s p e c t s f i n a l l yt h es y s t e mm e tt h ea c t u a lr e q u i r e m e n t sa n dc o m p l e t e dt h ei n t e n d e dt a r g e t s t h r o u g ht h ea c t u a lh a r d w a r ea n ds o f t w a r ed e b u g 1 英文摘要 k e yw o r d s :e t h e r n e t ;a u d i ob r o a d c a s t i n g ;p o w e r p c ;x i l k e r n e lo p e r a t i n gs y s t e m ; l w i p 目录 目录 第1 章绪论1 1 1 以太网音频广播产生及发展1 1 1 1 传统音频广播的局限1 1 1 2 数字网络技术1 1 1 3 以太网技术的特点及发展2 1 2f p g a 技术的发展现状一2 1 2 1f p g a 原理与发展2 1 2 2f p g a 上的嵌入式系统3 1 3 论文的主要工作及章节安排4 第2 章系统开发环境及相关理论5 2 1 系统硬件开发平台5 2 1 1 系统硬件资源5 2 1 2 片内微处理器p o w e r p c 6 2 2 系统开发工具e d k 。9 2 2 1e d k 组件介绍9 2 2 2e d k 开发流程1 0 2 3x i l k e m e l 操作系统1 l 2 3 1x i l k e r n e l 的模式12 2 3 2x i l k e m e l 应用程序的构建1 4 2 3 3x i l k e m e l 进程模型15 2 4 嵌入式协议栈相关理论1 6 2 4 1o s i 参考模型1 6 2 4 2t c p i p 协议族17 2 4 3l w i p 协议栈18 2 5 本章小结2 3 第3 章系统总体设计2 4 3 1 服务器端设计2 5 3 1 1 语音数据的采集与发送2 5 3 1 2 数据传输协议选择2 7 3 1 3 数据传输模式选择2 8 3 2 网络音频终端设计2 8 目录 3 2 1 音频终端硬件设计2 9 3 2 2 音频终端功能设计3 0 3 2 3 音频终端软件结构31 3 3 本章小结3 2 第4 章以太网音频广播终端的实现3 3 4 1 基于p o w e r p c 的硬件平台搭建。3 3 4 2 定制与添加外设口核3 6 4 2 1 添加口核e t h e m e tm a c 一3 7 4 2 2 用户口核o p ba c 9 7 的实现38 4 3 连接所有组件4 5 4 4 基于x i l k e r n e l 的软件设计4 6 4 4 1x i l k e m e l 操作系统的配置4 6 4 4 2l w l p 在x i l k e m e l 下的实现。5 0 4 4 3 应用程序的设计5 1 4 5 系统调试5 5 4 6 本章小结5 7 第5 章结论5 8 参考文献。5 9 致 射6 1 研究生履历6 2 基于f p g a 的以太网音频广播系统的设计 第1 章绪论 1 1 以太网音频广播产生及发展 1 1 1 传统音频广播的局限 传统音频广播传输都是以模拟信号的方式传输的,都必须铺设专门的线路, 对于信号源较多而且分散的场合,布线会有很大难度,而且出现故障不易维护。 音频设备在空间上比较分散,对于模拟音频设备的监视和管理很难有较好的解决 方法,设备出现问题时,对问题的诊断,以及备份设备的自动切换等都很难得以 实现。为了保证音频设备的正常运转的可靠性,通常得采用主、备两套设备。 模拟音频技术中的音频信号的振幅是连续变化的,他的记录及处理存在着机 械传输抖动、本地噪音和非线性失真等缺陷,并且模拟信号抗干扰能力弱,长距 离的信号传输势必造成信号的衰减,很难保证声音质量。 由于传统音频广播存在着种种不足,因此改变以前的音频传输方式就显得尤 为重要。随着数字化时代的到来,新的音频广播传输系统应运而生【l 】。 1 1 2 数字网络技术 自从第一代计算机网络出现以来,网络技术得到了高速发展,并且迅速普及 到千家万户,网络传输也得到了很大的提高。通过网络这个新的传输媒介,能使 数字音频信号的传输得到很好的保障【2 】: 灵活性大大增加。传统的信号传输需要专用的线路,实现的是点对点的传输 方式,不灵活也不可配置。相对而言,使用网络传输信号,不需要铺设专用的线 路,一个输入信号端点可以连接多个接收端点,如果出现通讯问题,可以很方便 的更改系统配置来完成故障的修复,使信号的传递有着很好的保障 3 】。 网络系统可以快捷的完成功能的切换。传统的一套系统刚出现的时候需要多 次的更改和验证,才能逐渐的达到理想效果,大量的浪费了人力物力。相对于网 络系统,通过软件对设备的管理,能够对网络进行实时的监控,迅速快捷地排除 网络传输故障,极大提高了系统的可靠性和安全性。 网络上进行传送,解决了布线难度大、系统维护复杂、音频信号传输易受影响等 问题 6 】【7 】。使用以太网技术的广播系统可以实现多路播放,快捷的切换功能,管理 逐渐走向智能化,突破了传统广播的局限。以太网广播系统具有良好的稳定性、 低失真度、易于安装布线等优点,有着广阔的发展及应用前景,目前已广泛应用 于校园广播、大型商场及公司内部广播。 1 2f p g a 技术的发展现状 1 2 1f p g a 原理与发展 f p g a 是在p a l 、g a l 、e p l d 等可编程器件的基础上进一步发展的产物 8 】。 f p g a 的工作机理基于查找表( l o o k u p t a b l e ,l u t ) ,u j t 其实就是一个r a m 。 目前很多f p g a 中多使用4 输入的l u t ,当用户通过h d l 语言描述了一个逻辑电 路以后,f p g a 的开发软件会自动计算逻辑电路所有可能的结果,并事先把计算好 的结果记入r a m 中 9 1 。 基于f p g a 的以太网音频广播系统的设计 f p g a 采用了逻辑单元阵列l c a ( l o g i cc e l la r r a y ) ,内部包括可配置逻辑模块 c l b ( c o n f i g u r a b l el o g i cb l o c k ) 、输入输出模块i o b ( i n p u to u t p u tb l o c k ) 和内部连 线( i n t e r c o n n e c t ) 三部分。由于l u t 主要适合于s r a m 工艺生产,必须外加一片 专用配置芯片。在加电时,f p g a 芯片将e p r o m 中数据读入片内编程r a m 中, 配置完成后,f p g a 进入工作状态 1 0 1 。 随着数字电路技术的不断进步,f p g a 芯片的集成度及功能会不断提高。f p g a 中嵌入式处理器也成为f p g a 的一个发展趋势,就像x i l i n x 公司的v i r t e x i ip r o 开发板,内嵌了一个p o w e r p c 4 0 5 的硬核处理器,让整个系统的移植成为了可能, 真正做到了s o c 的设计。 1 2 2f p g a 上的嵌入式系统 嵌入式系统是以专用芯片为核心的专用系统,其软硬件可裁减,对功能、可 靠性、成本、体积、功耗等综合性能有严格要求。具有高可靠性、实时性、软硬 件一体化及软件固化等特点。尽管嵌入式系统在- - = - 十年前就已经出现,但其蓬 勃发展是由上世纪9 0 年代开始的,到本世纪初全球嵌入式系统产业得到了快速发 展。从独立单机使用发展到联网设备;从以模拟电路为主发展到以数字电路为主, 进而进入全数字化时代【1 l 】。 基于f p g a 的可配置嵌入式系统开发技术,融入了微处理器技术、数字信号 处理技术、可编程系统级芯片设计和软硬件协同设计【1 2 】,提供了新的设计方法, 能够很好地对f p g a 设计的嵌入式产品量身定做。 x i l i n x 公司的嵌入式以r i s c 结构的3 类微处理器为核心,p i c o b l a z e 和 m i c r o b l a z e 是可裁剪的软核处理器,p o w e r p c 为硬核处理器。 p o w e r p c 4 0 5 是3 2 位p o w e r p c 嵌入式环境架构【13 1 ,主要应用于较高处理能力 的控制领域。其确定的若干系统参数,用以保证在应用程序实现兼容,增加了其 设备扩展的灵活性。 此外,x i l i n x 公司为用户提供了丰富的i p 核、操作系统平台、开发工具以及 开源或不开源的应用软件,使用户能够更便捷的使用f p g a 开发嵌入式产品。 1 3 号, 实现、网络音频广播系统应用程序的开发。 本论文的章节安排如下: 第1 章为“绪论”部分,主要对以太网音频广播的产生和发展现状进行了概述, 并简单介绍了f p g a 的原理及f p g a 嵌入式系统的发展概况,指出了课题研究的 主要工作及内容安排。 第2 章主要介绍“系统开发环境及相关理论 ,对开发使用的硬件平台x u p v i r t e x i ip r o 、p o w e r p c 微处理器、开发工具e d k 进行了详细的概述,并介绍了 嵌入式协议栈的相关理论,重点介绍了t c p i p 协议族及l w l p 协议栈。 第3 章为“系统的总体设计”,采用服务器端和音频广播终端的架构,实现 了语音数据的采集和发送,并对数据传输协议的选择,对音频终端硬件设计及软 件结构做了介绍。 第4 章为“以太网音频广播终端的实现”,从基于p o w e r p c 的硬件平台的搭 建、定制与添加外设、基于x i l k e r n e l 操作系统的软件设计几个方面介绍了嵌入式 的开发过程,并对系统进行了调试。 第5 章是总结与展望,概述了主要成果及不足,并对前景进行了展望。 。它由p o w e r p c 处 收发器( m g t ) 、 块存储器( b l o c k r a m ) 、可配置逻辑块( c l b ) 、数字时钟管理器( d c m ) 、可 编程输入输出模块( i o b ) 等基本模块组成【l 4 1 。 多吉比特收发器( m g t ) 嵌入到f p g a 中,支持单芯片时钟综合与恢复,发 送端到接收端的串行回送和并行回送,传输速率可达1 0 3 1 2 5 g b i t s ;c l b 用于实 现组合逻辑和时序逻辑,并且提供了丰富的多路复用结构和数据通道;d c m 模 块主要用于时钟分频及倍频、消除时钟相位偏移,调整时钟输出相位。 板卡的处理器芯片是v i r t e x i ip r o 系列的f p g a ( x c 2 v 3 0 f f g 8 9 6 c ) ,主控板 实物如图2 1 所示。f p g a 芯片嵌入有p o w e r p c4 0 5 处理器内核,拥有3 0 0 万门逻 辑单元,含有2 g b 的d d rs d r a m 。板上有两路立体声音频输入输出接口、r s 2 3 2 d b 9 串行接口及两路p s 2 接口,配备有一路板上x s g a 输出,一路板外m g t 扩 展接口和3 路s a t a 接口。提供一路u s b 电缆配置端口和一路j t a g 配置端口。 在时钟方面有1 0 0 m h z 系统时钟和7 5 m h zs a t a 时钟。 图2 1 主控制板 f i g 2 1m a i nc o n t r o lb o a r d 2 1 2 片内微处理器p o w e r p c ( 1 ) p o w e r p c 体系结构 p o w e r p c 是由苹果、i b m 公司和摩托罗拉公司共同开发的微处理器结构,采 用精简指令计算架构( r i s c ) 【1 5 1 。 p o w e r p c 提供了用户指令集结构( u i s a ) 、虚拟环 境结构( o e a ) 三个不同层面的应用,这种层次结构提 境结构( v e a ) 和操作环 供了软件兼容的灵活性。 麓一 饿m 量删 嚷 黼 黧一 。 基于f p g a 的以太网音频广播系统的设计 p n w e r p c 4 0 5 枋丰季由朴理暴糙换、1 4 卜内存谔垄吕= 协卜硼照茧寻韩制照和此壤 v ”v 儿v v ,i , 口组成【1 6 】 17 1 。处理器模块结构如图2 2 所示: p l b 主方:式读接口 ji 指令存储器 f i 内存管理单元c p u 1 + 搀耀左o 】日了钦1 r i = 1 了敬1 j 。 耿收 取指 队列控制器 指令通道 译码定时器 指令缓存单元 逻辑 队列 i 定时器和 缓存单元 逻辑控制 调试器 数据缓存单元 i1r 数据缓存数据缓存 1 数据通道 处理单元0 圈;音;窘 署 , 7 斗 3 2 x 3 2 队列控制器 g p r a l um a c jlj l jl t i 上 1 r1 t l峪 指令 1 :数据存储器外部【 l 怫i 搴 苴步 图2 2p o w e r p c 4 0 5 硬核的内部结构示意图 f i g 2 2p o w e r p ch a r dc o r eo f t h ei n t e r n a ls t r u c t u r eo ft h ed i a g r a m ( 2 ) p o w e r p c 总线接口 p o w e r p c 处理器采用c o r e c o n n e c t 技术,增加了使用的灵活性。p o w e r p c 具有 l m b 和o p b 总线,用于分别访问低速外设、片内高速存储器以及高速外设【1 8 】。 o p b 总线能在不影响o p b 仲裁器和其余设备的基础上添加周围设备,同步于 系统时钟。l m b 总线提供单时钟访问片内双口r a m ,并提供了简单的同步协议。 p l b 总线是p o w e r p c 的高带宽总线,6 4 位数据总线宽度,分离的地址、读写 数据总线,具备分别传输的能力,同时执行的读写传输能最有效利用总线,在单 周期内可传输两个数据;此外,p l b 总线地址通道能叠加一个新的写请求到一个 正在 线反 f i g 2 3p o w e r p cb u s c o n n e c t i o nd i a g r a m ( 3 ) p o w e r p c 寄存器 p o w e r p c 的寄存器可分为5 大类,如表2 1 所示: 基于f p g a 的以太网音频广播系统的设计 表2 1p o w e r p c 寄存器 t a b l e2 1p o w e r p cr e g i s t e r 寄存器分类寄存器名称读写权限功能描述 通用寄存器 r 0 r 3 1 日j 1 买j 写完成和内存的数据交互 机器状态寄存器 m s r 可读可写给出机器工作状态 条件寄存器 c r 可读可写 完成各类判决和跳转语句的响应 专用寄存器众多,部分可读可写,部分只操作p o w e r p c 所有系统资源 不一一列举可读,部分只可写 芯片控制寄存器 d c r 可读可写用于控制同一芯片内的其余外设 基时寄存器 t b l t b u 只读 t b lt b u 个3 2 b i t ,合成6 4 b i t 计数器 2 2 系统开发工具e d k e d k 提供了软件和硬件两个方面的集成,以优化其特性、性能、尺寸和成本。 e d k 采用灵活的可编程平台,可进行3 2 位嵌入式处理器的开发,并拥有丰富的 核资源 1 9 】。 2 2 1e d k 组件介绍 e d k 包含两大类工具:x p s 、s d k 。x p s 用于构建硬件结构和生成b s p ,s d k 用于编写和调试软件应用程序【2 0 】。 x p s 重点在硬件的构建和调试方面。它提供了完善丰富的图形界面( g u i ) , 可以在此以最快的方式构建需要的硬件体系结构,并减少由于硬件匹配不当造成 的错误。在x p s 主界面里包含两大部分:窗口和菜单。窗口提供形象的配置,编 译界面。菜单按功能分类提供集成化命令【2 l 】。 s d k 提供一套全面的软件设计工具。 第2 章系统开发环境及相关理论 2 2 2e d k 开发流程 i 使用b s b 向导构建硬件平台 0 设定工程选项 士 创建硬件 + l 设置软件选项和生成软件库 0 l 创建一个新的软件工程项目 + i 配置f p g a 并验证设计功能 图2 4 e d k 开发流程图 f i g 2 4e d kd e v e l o p m e n tf l o wc h a r t 在b a s es y s t e mb u i l d e r ( b s b ) 平台向导中对处理器类型( m i c r o b l a z e 或 p o w e r p c ) 、处理器和总线频率、调试接口、内存大小及通用外围设备进行配置f 2 2 】。 然后从x p s 的界面菜单调出“p r o j i e c t p r e o j e c to p t i o n ”对话框,在“d e v i c ea n d r e p o s i t o r y ”标签中可以看到通过b s b 向导选择的开发板的设备信息。在“h i e r a r c h y a n df l o w 标签中可以选择设计的模式。 从x p s 的界面菜单调出“s o f t - w a r e s o f t w a r ep l a t f o r ms e t t i n g s 对话框,在 “o s & l i b r a r ys e t t i n g 中可以选择一个用于设计的可选操作系统。x p s 支持 s t a n d a l o n e 、x i l i n xm i c r o k e r n e l 、m o n t av i s t al i n u x 和v x w o r k s 操作系统,其他 的操作系统可以通过安装m i c r o p r o c e s s o rl i b r a r yd e f i n i t i o n ( m l d ) 文件来实现。 在这里也可以添加相应的库来实现一些具体的功能,如添加l w i p 可以支持网络功 能。 以太网音频广播系统的设计 s o f t w a r e a d ds o f t w a r ea p p l i c t i o np r o j e c t 对话 加软件工程目录。新添加的软件工程项目将保 当完成代码编写后,可以先通过e d k 进行交 c ec o n f i g u r a t i o n d o w n l o a d sb i t s t r e a m 对话框, ,然后可以通过超级终端进行交互来验证设计 2 3xiik e r n ei 操作系统 x i l k e m e l 是x i l i n x 提供的用于e d k 系统的小型、模块化的嵌入式操作系统内 核,它支持m i c r o b l a z e 核与p o w e r p c 4 0 5 核。x i l k e m e l 与e d k 形成的硬件系统紧 密结合,具有高可定制的特点,并支持可移植操作系统界面p o s i x ( p o r t a b l e o p e r a t i n gs y s t e mi n t e r f a c e ) 放结构,这是嵌入式实时内核的核心功能【2 3 】。 x i l k e m e li p c 服务可以用来实现诸如网络、音频、视频等高级别的服务,然后运行 应用程序使用这些服务。x i l k e r n e l 的结构如图2 5 所示: x i l k e r n e t 模块 用户应用 用户层咩 1 1 1r 系统调试 时间表中断和异常处理 软件时钟线程管理信号灯 消息队列共享内存 动态内存管理 图2 5x i l k e r n e l 的结构 f i g 2 5x i l k e r n e ls t 】 u c t u r e 断 第2 章系统开发环境及相关理论 x i l k e m d 的特点: ( 1 ) 提供了一套符合p o s i x 的a p i ; ( 2 ) 其内核功能如下: 符合p o s i x 的r o u n d r o b i n 调度或绝对优先级调度; 符合p o s i x 的信号灯同步机制与互斥锁; 符合p o s i x 的进程间通信i p c ( i n e r p r o c e s sc o m m u n i c a t i o n ) 消息 内容; 动态缓冲池内存分配; 软件计时器; 用户态中断操作。 ( 3 ) 所有系统调用带有参数合法性检查保护,并返回符合p o s i x 的错误代码; ( 4 ) 通过加载或卸载不同的功能模块,实现内核的高可扩展性; ( 5 ) 内核配置界面已集成到e d k 工具中,可以非常方便快捷地设置,并形成 完整系统; ( 6 ) 在内核启动时静态地创建线程。 虽然x i l k e r n e l 是一种专用的操作系统内核,但它具有嵌入式内核完整的功能, 而且占用c p u 资源较少,运行速度快,是中小型设计的理想操作系统。x i l k e r n e l 本身不带有文件系统处理与t c p i p 协议栈,但它与l w l p 具有良好的接口,加上 其他x i l i n x 库( 如l i b x i lm f s 提供文件系统支持) ,可以形成比较复杂的嵌入式 系统,使用与小型网络接入设备、手持设备、机顶盒、v o i p 设备、小型网络视频 设备和车载移动设备等领域。 2 3 1xi ik e r n ei 的模式 x i l k e m e l 和用户应用程序可以建立在两个不同的模式: ( 1 ) 独立的可执行模式 在这种模式下,用户应用程序和内核可以被编译为独立的可执行文件。应用 程序的入口点地址可以在l i b g e n 的配置中被定义,它在l i b g e n 配置中使用参数 s e p a r a t e _ e x e c _ _ p r o c e s s _ t a b l e 、s e p a r a t e _ e x e c _ p t h r e a d _ t a b l e 。应用程序可以从内核得 1 2 基于f p g a 的以太网音频广播系统的设计 到使用系统调用接口的服务。这些系统可调用包装通过与l i b s y s c a u a 链接的封装 器。这种模式提高了开发的灵活性并且可以单独地动态载入每一个应用程序。 对于用户应用程序该堆栈将不得不作为一个e l f 文件的一部分,内核没有建 立特殊的堆栈。仅仅当进程上下文在操作系统说明的下一个模式没有被配置时, x i l k e m e l e l f 才被生成。 ( 2 ) 核捆绑可执行模式 在这种模式下,用户应用程序和内核捆绑在一起,并编译成一个单一的可执 行e l f 文件。对于一个应用程序的入口点是一个函数的名称,它被指定在m s s 中 使用的参数k e r n e lb u n d l e dp r o c e s st a b l e 和k e r n e lb u n d l e dp t h r e a dt a b l e 。构建 x i l k e r n e l 使用l i b g e n 产生l i b x i l k e m e l a 库。这可以被所有需要运行关于x i l k e m e l 的 用户应用程序所链接,生成一个内核捆绑可执行文件。由于所有的用户应用程序 是可执行的一部分,所以符号名称,如全局变量和函数名是唯一的。尽管用户应 用程序可以直接调用前缀为s y s 的系统调用,但它们将在内核调用系统调用之前 不得不锁定和解锁。为了简化这_ 个过程,在单独可执行模式下的应用程序可以利 用一个锁定内核的系统调用封装器,执行系统调用,然后解开内核。堆栈是由关 于单个e l f 应用程序的内核设置的。捆绑的可执行模式的内核是一个单独的可执行 模式的超集。应用程序是独立的可执行文件,它仍然可以动态地与单内核的可执 行映像接口,l i b s y s c a l l a 使用系统调用a p i 。这些系统调用将被系统调用处理程序, 这些系统调用处理程序存在于内核映像中。两个x i l k e r n e l 模式的构建和链接的阐 述如图2 6 所示: 第2 章系统开发环境及相关理论 k e m e ls o u r c e s s e p a r a t ee x e c u t a b l em o d e k e m e lb u n d l e de x e c u t a b k _ v丫 l i b s y s c a l l a l i b x i l k e m e l a x i l k e m e l e l f 1r c + i l i b s y s c a m al - le x e c u t a b - e 匕 n o - +l i b x i i k e r n e l a1 c o l i b s y s c a l l ah e x e c u t a b l e _c + o 暑o o k e r n e la n da p p l i c a t i o n g e l f f i l e sk e r n e lb u n d l e da p p l i c a t i o n 图2 6x i l k e m e l 模式的构建 f i g 2 6x i l k e m e lm o d e lc o n s t r u c t i o n m o d e 2 3 2x ii k e r n e l 应用程序的构建 应用程序应该在编译时定义dx m k 。定义这个标志适用某些来自g n u 包含文件的定义和声明,这些包含文件由x i l k e m e l 和应用程序所要求。因此, dx m k 应该跟着任意用户应用程序的编译器标志。 在单独的可执行模式中,m i c r o b l a z e 的应用程序应使用链接器标志 x 1 m o d e x i l k e m e l 来预防c n 模式覆盖中断和异常向量,这是由x i l k e m e l 在内存中 设置的。在p o w e r p c 中,除了默认的链接器脚本,一个不同的链接器脚本必须用 来防止c n 覆盖x i l k e r n e l 部分。此链接器脚本基本上在e l f 映像中启动部分。 在内核捆绑模式下,m i c r o b l a z e 的应用程序应该使用x 1 m o d e e x e c u t a b l eo r x 1 m o d e x m d s t u b 两个连接器标志之一,来连接最后的应用程序映像。这两种选择 取决于x m d s t u b 是否被用来调试。在p o w e r p c 中,内核捆绑应用程序必须使用 同一顶级链接脚本,此脚本存在于x i l k e m e l 处理器源文件夹中。例如,如果处理 器为p p c 4 0 50 ,则当形成最终内核捆绑映像时应用程序必须使用 p p c 4 0 50 l i b s r c x i l k e m e lv 20 0a s r c l i n k e l s h 计 接器脚本文件配置或者使 中除进程上下文之外被多 路复用。在完成调度进程中的水平。因此,线程和进程彼此之间为获得处理器优 先级而竞争。在x i l k e r n e l 中线程和进程之间的唯一区别是除了线程创建,所有其 它线程调用只能在线程之内是有效的。这包括基本的线程接口和线程互斥接口, x i l k e m e l 也支持这些接口。所有其他的接口不论是否由线程还是进程唤起都完成 一样的工作。线程和进程都可以由分离的e l f 文件或者是单一e l f 文件以内的定位 静态的创建。相对进程,线程无论在哪一方面都没有进程那么重要。由于内存段 之间没有保护,因此进程和线程可以共享彼此的内存。进程和线程唯一的区别是 进程是被动态创建成假定的e l f 文件,它作为e l f 文件映像一部分被分配了一个栈 空间。根据不同的编程模型,用户可以使用进程或者线程或者两者混合来进行系 统设计。 特别要注意在内核中被静态分配的进程上下文结构的总数取决于已配置的进 程和线程最大数量的总和。这也是系统中允许的进程上下文的最大数量。当创建 新的进程和线程时x i l k e r n e l 不设装载机。它创建进程和线程上下文开始从内存的 映像假设被初始化。因此,如果任何e l f 文件依赖于初始化数据段,那么下一次 同样的内存映像是用于创建过程中,初始化部分将是无效的,除非在创建进程之 前一些外部机制来重新载入e l f 文件映像。 每个进程上下文是在以下五个状态中的任何一个:p r o cn e w 、 p r o c r e a d y 、p r o c r u n 、p r o c w a i t 、p r o c d e a n 。 这些进程的状态如图2 7 所示: 第2 章系统开发环境及相关理论 图2 7 进程的状态图 f i g 2 7s t a t ed i a g r a mt h ep r o c e s s 2 4 嵌入式协议栈相关理论 2 4 10 s i 参考模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商品交易合同协议
- 《2025协商解除劳动合同协议书范本》
- 合租店铺房屋合同范本
- 话费卡购销合同范本
- 2025年村庄土地承包合同模板
- 医疗设备装机合同范本
- 2025年纳米微晶石企业工程项目设备采购合同管理
- 养老服务协议合同范本
- 饭店财产租赁合同范本
- 住宿行业劳务合同范本
- 保安员资格考试复习题库及答案(800题)
- 乡村公路沥青铺设施工方案
- 2024年中考物理压轴题专项训练:电磁继电器核心综合练(原卷版)
- 矿山事故应急报告制度
- 2024-2025学年山东省淄博市桓台县四年级上学期数学期中考试试题
- DB1402T36-2024农村居家养老服务规范
- 中国发电企业碳中和数字转型白皮书-埃森哲
- ISO27001信息安全管理体系培训资料
- 《绝对值》教学课件
- Unit 6 Work quietly!(教学设计)2023-2024学年人教PEP版英语五年级下册
- 高考英语考纲词汇3500词(珍藏版)
评论
0/150
提交评论