




已阅读5页,还剩49页未读, 继续免费阅读
(计算机软件与理论专业论文)基于arm和μclinux的网络多媒体播放系统的研究及实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 液晶屏多媒体播放机已成为广告业中一种新的业务模式,在一些楼宇、商 场、超市里等都可以见到。从目前情况来看,大多传媒公司这种室内液晶屏多 媒体广告播放机采取的是单机循环播放,在成本和操作上都存在一些不便性。 本文提出了一种基于s i g m ae m 8 6 2 4 芯片的网络多媒体播放系统,这种播放系统 具有网络管理功能,基本上能满足市场的要求。 本文构建的客户、服务端软件具有较好的控制和交互功能,客户端软件在 控制多媒体播放机的同时,把信息存入服务端的数据库中。播放机得到命令后, 通过f t p 协议主动到服务端下载内容到本地硬盘中。播放端是基于i x c l i n u x 嵌入 式操作系统的,硬件是基于美国s i g m ad e s i g n s 公司的e m 8 6 2 4 芯片。服务端是 w i n d o w s 操作系统,整个网络采用b s 架构。 论文研究了基于a r m 7 t d m i 内核的s i g m ae m 8 6 2 4 芯片的应用,并完成 们l i n u x 的裁剪和移植,研究了b o o t l o a d e r 的工作原理并提出了嵌入式系统自动 升级的解决方案。结合实验完成了用户端与播放机之间的网络t c m p 通信和服 务端数据库存储w e bs e r v i c e 的实现方法,达到了远程控制终端的功能。在本文 的最后对工作进行了总结并对系统的应用进行了展望。 关键词:s i g m ae m 8 6 2 4 芯片;v c l i n u x ;b o o t l o a d e r ;t c 踟p 通信;w e bs e r v i c e a b s t r a e t a b s t r a c t l c ds c r e e nm u l t i m e d i ap l a y e r si nt h ea d v e r t i s i n gi n d u s t r yh a sb e c o m ean e w b u s i n e s sm o d e l ,w eo f t e nc a l ls e ei t si ns o m eb u i l d i n g s ,s h o p p i n gm a l l sa n d s u p e r m a r k e t s e t c j u d g i n gf r o mt h ec u r r e n ts i t u a t i o n , m o s tm e d i ac o m p a n i e st a k ea s i n g l em a c h i n ea n dc y c l ep l a y i n gm e a s u r e si nu s i n gs u c hi n d o o ra d v e r t i s i n gl c d s c r e e nm u l t i m e d i ap l a y e r s s o ,i tm u s tb r i n gal o to fi n c o n v e n i e n c ei nt e r m so fc o s t a n do p e r a t i o n i nt h i sp a p e r ,w h i c hp r e s e n t sa c y b e r - m u l t i m e d i ap l a y e rs y s t e mb a s e d o ns i g m ae m 8 6 2 4c h i p t h i ss y s t e mh a sn e t w o r km a n a g e m e n tc a p a b i l i t i e s ,i tc a n b a s i c a l l ym e e tt h er e q u i r e m e n t so f t h em a r k e t i nt h i sp a p e r , i th a sc o n s t r u c t e dt h ec l i e n t s e r v e ra r c h i t e c t u r et h a th a s9 0 0 d c o n t r o l l i n ga n di n t e r a c t i v ef e a t u r e s t h ec l i e n ts o f t w a r ec o n t r o l st h em u l t i m e d i a p l a y e r s ,a tt h e $ a n l et i m e ,t h ec o n t r o l l e di n f o r m a t i o nh a sb e e ns t o r e di nt h ed a t a b a s e s e r v e r w h e nt h ep l a y e rr e c e i v e so r d e r s ,i tw i l lb ei n i t i a t i v et od o w n l o a dc o n t e n t st o t h el o c a lh a r dd i s kt h r o u g hf t pp r o t o c 0 1 t h ep l a y e ri sb a s e do nt h ee m b e d d e d i u c l i n u xo p e r a t i o ns y s t e m t h eh a r d w a r ei sb a s e do nt h ee m 8 6 2 4c h i po fs i g m a d e s i g n si nu n i t e ds t a t e sa n dt h e 翻w e ru s i n gw i n d o w so p e r a t i o ns y s t e m t h ee n t i r e n e t w o r ku s e sb ss t r u c t u r e i nt h i sp a p e r , i th a ss t u d i e dt h ea p p l i c a t i o no ft h es i g m ae m 8 6 2 4c h i pw h i c hi s b a s e do na r m 7 t d m ik e r n e l a n dh a v es i m p l i f i e da n dt r a n s p l a n t e dt h ep c l i n u x o n t h eb a s i so ft h e s er e s e a r c h e s ,is t u d i e dt h ew o r k i n gp r i n c i p l eo ft h eb o o f l o a d e ra n d p r o p o s e dt h es o l u t i o no fa u t o m a t i cu p g r a d e se m b e d d e ds y s t e m ih a v ed o n ew e l lt h e t c p f l pc o m m u n i c a t i o n sb e t w e e nt h ec l i e n t sa n dt h ep l a y e r s 、i t i lt h ee x p e r i n a e n t s w h a t sm o r e ,ih a v ei m p l e m e n t e dt h es t o r a g em e t h o do fd a t a b a s et h r o u g hw e b s e r v i c eo i lt h es e r v e r - s i d e ,w h i c hc a nr e a l l ya c h i e v eaf u n c t i o nt or e m o t ec o n t r o lt h e t e r m i n a l i nt h ef i n a lp a p e r , is u m m e du pt h ew o r k sa n dp r o s p e c t e dt h ea p p l i c a t i o no f t h i ss y s t e m k e yw o r d s :s i g m ae m 8 6 2 4c h i p ;i u c l i n u x ;b o o t l o a d e r ;t c p i pc o m m u n i c a t i o n ;w e b s e r v i c e 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :廖永彳签字日期:2 哆哞2 月z 1 7 日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者繇黟爪手 签字日期:加吵年,2 - ) 1 矽日 刷醛轹铆 签字醐:7 和堋7 日 第1 章引言 第1 章引言 相对传统室内的广告发布系统来说,广告的发布向更清晰、更丰富、更动 态方向发展,广告片源格式更多样化,分辨率更高,更新更快。这样,集音频、 视频于一体的液晶屏播放机必定以更高的要求出现。 1 1 研究背景 在国内,分众传媒在液晶多媒体广告业中做得比较成功的,江南春先生可谓 是该行业中起到了革命性的重要人物。但是大多数液晶屏播放机发布广告时, 采用的是单机版,即把广告片源存在播放机的c f 卡或s d 卡中循环播放,这种 场合势必会存在一些不方便性,比如广告商想更新广告片源必须到现场去把c f 卡或s d 卡拔下来换上新的片源;或者,如果要发布最新的消息,以字幕的形式 显示,也要大动干戈;还有,如果播放机较多,都要逐台地去操作,也是挺费 时费力的。同时,传统的播放机是不带嵌入式操作系统内核的,这样,只适合 简单的应用,对复杂应用的开发,因为没有操作系统的调度和内存管理功能, 所以很多市场需求都无法实现。鉴于上述原因,研究出一种播放能力强,操作- 方便性好,后台管理优的多媒体播放系统已经成为一项迫切而重要的研究课题。 1 2 课题意义 由于广告商要求播放机解码能力强,且分屏显示不同内容等,本文选择 s i g m ad e s i g n s 公司生产的e m 8 6 2 4 芯片,该芯片特点是解码能力强,支持视频 格式多,而且软件开发灵活,支持网络功能,是一款性价比较高的播放机,目 前完全能满足用户的需求。本课题提出这种液晶屏网络多媒体播放系统,可以 利用网络方便地进行远程操作,而且还有广告时间段、广告内容等信息的查询, 便于广告运营商的运作。其中对播放端b o o t l o a d e r 工作原理的研究,实现了嵌入 式系统自动升级的方案,对同类产品起到了借鉴作用。在服务端利用w e b s e r v i c e 方法实现对数据库的访问具有一定的研究意义。 第1 章引言 1 3 液晶多媒体播放机简介及现状 现在室内广告发布媒介中,液晶多媒体播放机已成为主打产品,比如在楼 宇的电梯旁、商场、超市等都可以见到播放机播放的广告和发布的信息。因为 液晶的显示效果好,因此好多传媒公司都选择这种方式。由于播放广告的内容 要求越来越丰富,市场的要求也越来越独特,因此对芯片的处理能力也就越来 越高。就目前国内情况来说,这种嵌入式播放机大多采用的是单机播放模式, 而且芯片解码能力不强;另外,有些网络播放机,受到i n t e m e t 带宽的影响,很 少大规模地应用。本文提到的s i g m ae m 8 6 2 4 是美国s i g m ad e s i g n s 公司一款解 码能力非常强的芯片,内核是a r m 7 t d m i ,可以解码m p e g l 、m p e g 2 、m p e g 4 、 m p 3 、j p e g 、w m v 等通用格式,且支持高清解码,最大支持1 9 2 0 1 0 8 0 分辨 率的液晶屏,可支持c f 卡或2 5 寸硬盘作为外存储器,外带u s b 2 0 ,以太网 1 0 1 0 0 m 的自适应网卡【1 1 。加上服务端和客户端软件的实施,使得网络多媒体播 放机具有很好的市场价值。 本论文提到的液晶多媒体播放机播放的效果如图1 1 : 图1 1 播放效果图 如图所示:播放显示分为视频区, 告视频片源或广告图片放在服务器上, 放,滚动字幕由用户操作后即时显示。 滚动字幕区,图片区,天气预报栏。广 播放机通过f t p 下载到本地硬盘中再播 2 第1 章引言 1 4 论文所做的工作与创新点 在对网络多媒体播放系统客户端和服务端进行整体分析的基础上,着重论 述了嵌入式系统交叉编译环境的建立和服务端软件模块的设计与实现。论文的 主要工作的: 介绍s i g m ae m 8 6 2 4 芯片,分析a r m 体系结构特点,在此基础上确定 使用该芯片及u c l i n u x 嵌入式操作系统的合理性。 分析p , c l i n u x 的工作原理,论述了t t c l i n u x 的裁剪和移植过程,分析 b o o t l o a d e r 的工作流程,提出并实施了嵌入式系统的自动升级方案,对同类产品 起到了一定的参考作用。 设计服务端与客户端的网络架构,给出了t c p i p 协议的s o c k e t 套接字 接口的网络通信方案,并予以实施。 论述了w e bs e r v i c e 的技术并利用该技术进行数据库的存储,达到了瘦客 户端的作用。 对今后的进一步工作提出了建议。 1 5 本文的组织结构 本文是围绕网络多媒体播放系统的整体设计展开的,全文组织如下: 第一章引言。 第二章介绍了网络多媒体播放机采用的s i g m a d e s i g n s 公司生产的e m 8 6 2 4 芯片,该芯片是构建客户端硬件系统的核心部件。 第三章介绍了开发播放系统时采用的嵌入式操作系统p c l i n u x 及其裁剪和 移植,它是嵌入软件系统开发的基础,并介绍b o o t l o a d e r 的工作原理,在此基础 上论述了如何实现嵌入式系统的自动升级。 第四章论述了服务和用户端系统设计的实现过程,并结合嵌入式多媒体播 放机的特点给出了整个系统的方案,包括t c p i p 协议的s o c k e t 网络通信控制, 服务端w e bs e r v i c e 技术的研究与应用。 第五章是对全文的一个总结和展望。 3 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 一个完整的嵌入式系统包括硬件和软件两部分。随着微处理器的发展,价 格低廉、结构小巧的c p u 和外设连接提供了稳定可靠的硬件架构,嵌入式系统 发展就主要表现在软件方面。嵌入式操作系统是嵌入式系统中极为重要的组成 部分。随着系统功能变得越来越复杂,采用单片机的大循环架构( 简单的控制 逻辑) 已经不能满足要求,这就需要操作系统的支持。嵌入式系统需要一种稳 定可靠,应用广泛,易于开发并且价格低廉的操作系统。本文采用了s i g m a e m 8 6 2 4 芯片和公开源码的u c l i n u x 操作系统。 2 1a r m 体系结构介绍 2 1 1 硬件平台的选择 目前市场上有许多的嵌入式芯片,如何选择一片芯片来设计开发和调试平 台,是一个值得探讨的问题。与全球p c 市场不同,没有一种微处理器和微处理 器公司可以主导嵌入式系统,仅以3 2 位的c p u 而言,就有1 0 0 种以上嵌入式微处 理器。因为嵌入式系统设计差异性极大,这就是有1 0 0 种微处理器存在的原因。 调查上市的c p u 供应商,某些公司如m o t o r o l a 、i n t e l 很有名气,而一些小公司如 s i g m ad e s i g n s 虽, 然名气很小,但也生产很优秀的微处理器。另外,有一些公司, 如a r m 、m i p s 等,只设计而并不生产c p u ,他们把生产权授予世界的半导体制 造商。 “ m o t o r o l a 传统的6 8 k 结构仍是3 2 位c p u 的主流,虽然它起源于8 0 年代初,但 在1 9 9 7 年依然销售了8 0 0 0 万个。6 8 k 嵌入式微处理器最大的挑战者是m i p s 的授 权制造商。a r i v l 是另外一种近年来在嵌入系统有影响力的微处器制造商,a r m 的设计非常适合于小的电源供电系统。如a p p l e 在n e w t o n 手持计算机中使用 a r m ,除m i p s 和a r m 之外,就数p o w e rp c 和x 8 6 了,这两款微处理器在桌面系 统用量极大,但在嵌入式系统中的影响却不够大,主要由i n t e l 和a m d 公司生产。 选择芯片要考虑芯片的性能、功耗和专业化水平。考虑种种因素,我们选 4 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 择了基于a r m 7 t d m i 精简指令核的c p u 。a r m 7 t d m i 核成本上比较便宜,比较 适合做消费类产品,且功耗很低,是手机,p d a 的首选芯片。a r m 7 t d m i 的性 能也令人满意,相当于一个x 4 8 6 芯片的处理能力【2 】。本设计中选择美国s i 鲫a d e s i g n s 公司e m 8 6 2 4 芯片的主要原因是该芯片对视频的解码处理能力强,支持视 频码流格式多,功耗低,且集成了许多外围设备,有一个l o o m 1 0 m 的以太网接 口,两个u a r t ( 1 几,r s 2 3 2 ) 接口,一个u s b 接口等。这对快速开发是很有 帮助的,比较适合开发多媒体系统。 2 1 2 矾_ 处理器概述 a r m ( a d v 柚c e dr i s cm a c h i n e s ) 是微处理器行业的一家知名企业,设计了 大量高性能、廉价、耗能低的r i s c 处理器、相关技术及软件。a r m 公司既不生 产芯片也不销售芯片,它只出售芯片技术授权。采用a r m 技术核的微处理器遍 及汽车、消费电子、成像、工业控制、海量存储、网络、安保和无线等各类产 品市场。目前,基于a r m 技术的处理器己经占据了3 2 位r i s c 芯片大量的市场份 额。可以说,a r m 技术几乎无处不在。 根据内核的不同,a r m 处理器分为a r m 7 ,a r m 9 ,a r m 9 e ,a r m l 0 , s e c u r c o r e 等。a r m 7 t d m i 是世界上广泛使用的3 2 位嵌入式r j s c 处理器。它是目 前用于低端的a r m 处理器核,且应用范围很广。a r m 7 t d m i 各字原义如下:, a r m 7a r m 63 2 整形核的v 3 兼容版本 t1 6 位压缩指令集t h u m b d 在线调试( d e b u g ) 支持,允许处理器响应调试请求暂停。 m 增强型乘法器( m u l t i p l i e r ) ,与以前处理器相比性能更高,产生全 “位结果。 i嵌入式i c e 硬件提供片上断点和调试点支持。 a r m 体系的指令集功能不断扩大。同时,各版本中还有一些变种,这些变 种定义了该版本指令集中不同的功能。a r m 处理器系列中的各种处理器,其采 用的实现技术各不相同,性能差别很大,应用场合也有所不同,但是只要它们 支持相同的a r m 体系版本,基于它们的应用软件将是兼容的。a r m 处理器共有 7 种运行模式,如表2 1 所示。 5 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 表2 1a r m 处理器的7 种运行模式 处理器模式描述 用户模式( u s e r ,u s r ) 正常程序执行的模式 快速中断模式( f i q ,f i q ) 用于高速数据传愉和通道处理 外部中断模式( i r q ,i r q ) 用于通常的中断处理 特权模式( s u p e r v i s o r ,a v e )供操作系统使用的一种保护模式 数据访问中止模式( a b o r t ,a b t ) 用于虚拟存储及存储保护 未定义指令中止模式用于支持通过软件方法硬件的协 叫n d e f i n e d ,u n d ) 处理器 系统模式( s y s t e m s y s ) 用于运行特权级的操作系统任务 a r m 处理器共有3 7 个寄存器,其中3 1 个通用寄存器和6 个状态寄存器,包括 程序计数器( p c ) 在内,这些寄存器都是3 2 位寄存器p j 。 a r m 体系使用单一的平板地址空间。该地址空间的大小为2 3 2 个8 位字节。 这些字节单元的地址是一个无符号的3 2 位数值,其取值范围是0 2 3 2 _ l 。a r m 的 地址空间也可以看作是2 3 0 个3 2 位的字单元。这些字单元的地址可以被4 整除,也 就是说该地址的低两位为0 b 0 0 。地址为a 的字数据包括地址为a 、a + i 、a 十2 、 a + 3 四个字节单元的内容。 在a r m 版本4 及以上的版本中,a r m 的地址空间也可以看作是2 3 1 个1 6 位的半 字单元。这些半字单元的地址可以被2 整除,也就是说该地址的最低位为0 b 0 。 地址为a 的字数据包括地址为a 、a + i 两个字节单元的内容。 各存储单元的地址作为3 2 位的无符号数,可以进行常规的整数运算。这些运 算的结果进行2 3 2 取模。也就是说,运算结果发生上溢出和下溢出时,地址将会 发生卷绕。 在a r m 体系中,每个字单元中包含4 个字节单元或者两个半字单元;1 个半 字单元包含两个字节单元。但是在字单元中,4 个字节哪一个是高位字节,哪一 个是低位字节则有两种不同的格式:b i g e n d i a n 格式和l i t t l e - e n d i a n 格式。 在b i g - e n d i a n 格式中,对于地址为a 的字单元包括字节单元a 、a 十1 、a + 2 、 a + 3 ,其中字节单元由高位到低位字节顺序为a 、a + i 、a 十2 、a + 3 ;地址为a 的 6 第2 章s i g m a e m 8 6 2 4 芯片的硬件及软件系统 字单元包括半字单元a 、a + 2 ,其中半字单元内高位到低位字节顺序为a 、a + 2 ; 地址为a 的半字单元包括字节单元a ,a + 1 ,其中字节单元由高位到低位字节顺序 为a 、a 十l 。 在l i t t l e - e n d i a n 格式中,地址为a 的字单元包括字节单元a 、a + 1 、a + 2 及a + 3 , 其中字节单元由高位到低位字节顺序为a + 3 、a + 2 、a 十1 、a 。地址为a 的字单 元包括半字单元a 、a + 2 ,其中半字单元由高位到低位字节顺序力a + 2 、a ,地 址为a 的半字单元包括字节单元a 、a + l ,其中字节单元由高位到低位字节顺序 为a + 1 、a 。 2 1 3a 跚指令系统简介 在a r m 中允许指令预取。在c p u 执行当前指令的同时,可以从存储器中预 取其后若干条指令,具体预取多少条指令,不同的a r m 实现中有不同的数值。 预取的指令并不一定能够得到执行,比如当前指令完成后,如果发生了异常中 断,程序将会跳转到异常中断处理程序处执行,当前预取的指令将被抛弃。或 者如果执行了跳转指令,则当前预取的指令也将抛弃。 在不同版本a r m 实现中,预取的指令条数可能不同,当发生程序跳转时: 不同的a r m 实现中采用的跳转预测算法也可能不同。 a r m 指令集可以分为跳转指令、数据处理指令、程序状态寄存器( p s r ) 传输指令l o a d s t o r e 指令、协处理器指令和异常中断产生指令6 类。 a r m 指令字长为固定的3 2 位。一条典型的a r m 指令编码格式如下: 表2 2a r m 指令编码格式 3 12 82 72 52 4 2 12 01 9 1 6 1 5 1 2 1 l0 其中: o p c o d e 指令操作符编码。 c o n d指令执行的条件编码。 s决定指令的操作是否影响c p s r 的值。 i 埘目标寄存器编码。 r n 包含第1 个操作数的寄存器编码。 s h i f t e r 表示第2个操作数。operaad 7 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 a r m 指令的寻址方式可以分为数据处理指令的操作数的寻址方式,字及无 符号字节的l o a d s t o r e 指令的寻址方式,杂类l o a d s t o r e 指令的寻址方式,批量 l o a d s t o r e 指令的寻址方式,协处理器l o a d s t o r e 指令的寻址方式五种不同的寻址 方式。 对于数据处理指令,其第一个操作数存储在寄存器中,第二个操作数的寻址 方式有三种情况:立即数寻址方式,此时第二个操作数便是立即数;寄存器方 式,此时寄存器中的数值便是第二个操作数;寄存器移位方式,寄存器移位方 式的操作数为寄存器的数值做相应的移位( 或者循环移位) 。具体的移位( 或 者循环移位) 方式有算术右移,逻辑左移,逻辑右移,循环右移,扩展的循环 右移。 l o a d 指令用于从内存中读取数据放入寄存器中,s t o r e 指令用于将寄存器中的 数据保存到内存。a r m 有两大类的l o a d s t o r e 指令:一类用于操作3 2 位的字类型 数据以及8 位无符号的字节类型数据,另一类用于操作1 6 位半字类型的数据以及 8 位的有符号字节类型的数据。各种类型的l o a d s t o r e 指令的寻址方式由两部分组 成。一部分为一个基址寄存器,另一部分为地址偏移量。基址寄存器可以是一 个通用寄存器:地址偏移量可以有3 种格式:立即数,寄存器,寄存器及一个移 位常量。 一条批量l o a d s t o r e 指令可以实现在一组寄存器和一块连续的内存单元之间 传输数据,一条协处理器l o a d s t o r e 指令可以在a r m 处理器和协处理器之间传输 批量数据。 2 1 4 异常中断处理 当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处 理程序处执行。当异常中断处理程序执行完成后,程序返回到发生中断的指令 的下一条指令处执行。在进入异常中断处理程序时,要保存被中断的程序的执 行现场。从异常中断处理程序退出时,要恢复被中断的程序的执行现场。a r m 体系中通常在存储地址的低端固化了一个3 2 字节的硬件中断向量表,用来指定 各异常中断及其处理程序的对应关系。a r m 体系中的异常中断如表2 3 所示。当 多个异常中断同时发生时,可以根据各异常中断的优先级选择响应优先级最高 的异常中断。 8 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 表2 3a r m 体系中的异常中断 异常中断名称含义 当处理器的复位引脚有效时,系统产生复位异常中断,程 序跳转到复位异常中断处理程序处执行。复位异常中断通 复位常用在下面几种情况: 系统加电时, 系统复位时, 跳转到复位中断向量处执行,称为软复位。 当a r m 处理器或者是系统中的协处理器认为当前指令未 未定义的指令定义时,产生未定义的指令异常中断。可以通过该异常中 断机制仿真浮点向量运算。 这是一个由用户定义的中断指令。可用于用户模式下程序 软件中断调用特权操作指令,在实时操作系统中可以通过该机制实 现系统功能调用。 如果处理器预取的指令的地址不存在,或者该地址不允许 指令预取中止当前指令访问,当该被预取的指令执行时,处理器产生指 令预取中止异常中断。 。” 数据访问中止如果数据访问指令的目标地址不存在,或者该地址不允许 当前指令访问,处理器产生数据访问中止异常中断。 当处理器的外部中断请求引脚有效,而且c p s r 寄存器的i 外部中断请求 控制位被消除时,处理器产生外部中断请求( i r q ) 异常 中断。系统中各外设通常通过该异常中断请求处理器服 务。 , 当处理器的外部快速中断请求引脚有效,而且c p s r 寄存 快速中断请求 器的f 控制位被消除时,处理器产生外部中断请求( f i q ) 异常中断 a r m 处理器对异常中断的响应过程如下: 保存处理器当前状态、中断屏蔽位以及各条件标志位。这是通过将当前 程序状态寄存器c p s r 的内容保存到将要执行的异常中断对应的s p s r 寄存器中 实现的。各异常中断有自己的物理s p s r 寄存器。 设置当前程序状态寄存器c p s r 相应的位。 将寄存器l r - m o d e 设置成返回地址。 将程序计数器值( p c ) ,设置成该异常中断的中断向量地址,从而跳转到相 应的异常中断处理程序处执行。 从异常中断处理程序中返回包括以下两个基本操作: 9 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 恢复被中断的程序的处理器状态,即将s p s rm o d e 寄存器内容复制到 c p s r 中。 返回到发生异常中断的指令的下一条指令处执行,即将i t _ m o d e 寄存器的 内容复制到程序计数器p c 中。 5 1 1 6 1 复位异常中断处理程序不需要返回。在复位异常中断处理程序开始整个用 户程序的执行,因而它不需要返回。 2 2s i g m ae 9 8 6 2 4 芯片简介 e m 8 6 2 4 是s i g m a d e s i g n s 公司的一款采用a r m 7 m m i i 为核的高性能的嵌入 式芯片。主要用于多媒体播放,尤其支持高清片源播放的场合。该芯片的特点: 主频为1 6 6 m 唧2 0 0 m h z ( 可选) ,没有内存单元( m m u ) ,1 6 k b 的数据c a c h e 和1 6 k b 的指令c a c h e ,$ k b 的s r a m 、2 k b 的d s p ,外围总线接口支持s d r a m 、 静态存储器、f l a s h 并且有以太网( e t h e m e t l 0 1 0 0 ) 、u s b 2 0 接口,2 个u a r t 接 口等等。其中,主要模块有以下一些: 系统和处理器控制( s y s t e ma n dp r o c e s s o rc o n t r 0 1 ) 系统和处理器控制功能包括监控中央处理处理单元( c p u ) 的非法请求和协 调c p u 与芯片上其它元件。系统和处理器控制部分包括总线控制器,c p u 总线通 道和系统构造处理暂存器( s y s t e mc o n f i g u r a t i o nr e g i s t e r s ) 。 时钟控f b l j ( c l o c kc o n t r 0 1 ) 系统控制时钟也要控制所有其他块的复位条件。 中断控制器 中断控制器的中断都属于两种中断优先级之一,b o f i q 和i r q 。 存储器访问控制器 存储器访问控制器( m a c ) 提供访问外围存储器的功能,它能够使c p u 通 过六个独立的d m a 通道访问存储器。在系统启动时,m a c 提供访问1 6 位或3 2 位 存储器的功能,e m 8 6 2 4 芯片能够通过3 2 位的接口访问3 2 m 字节的s d r a m ( 本项 目开发板为2 块 3 2 = 6 4 m 字节) 。 音频解码与视频解码 音频解码器能够支持c d d a ,带有m l p 的d v d 音频,数字5 1 声道,c p p m 等多种音频信号。e m 8 6 2 4 芯片解码m p e g - i ,m p e g 2 和m p e - 4 的视频信号。解 1 0 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 码凇嚣g 2 帮m p e g - 4 信号可浚达到7 2 0 x 4 8 0 p 耪7 2 钕5 7 6 i 熬效栗。 其框架如图2 1 : 豳2 1s i 霹a l ae m 8 6 2 4 结构圈 2 。3 嵌入式撩佟系统l l e l i n u x 2 3 1 嵌入式l i n u x 综述 l i n u x 是一个秘u n i x 耜戳、戳核心为基确的、完全内存保护、多任务多进程 的操作系统。支持广泛的计算机硬件,源代码公开,这样,开发人员w 以对操 作系统进行定制。l i n u x 还提供了强大的网络功能,使用方便。因此,l i n u x 是嵌 入蕊操作系统翁簸餐选择之一。 嵌入式l i n u x 生要可以分为两类:第一搬是在利用l i n u x 强大功能的前提下, 使它尽可能的小,以满足许多嵌入式系统对体积的要求,如p c l i n u x :第二类是 将l i n u x 瑟发残实孵系统茏其怒疆实爨系统,痘瘸子一些荚键弱控裁场会,絮 r t l i n u x ( 实时搽作系统r t o s 应用场合) 。| ic l i n u x 本舞并没有关注寅时问题, 它并不是为t l i n u x 的实时性而提出的,但u c l i n u x 可使用r t l i n u x 的p a t c h ,从 蔼增强i 1c l i n u x 的实时性,使得驻c l i n u x 可以应用于工业控制、进程按制等一些 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 实时要求较高的应用。 一般来说,最小的嵌入式l i n u x 系统必须包括以下主要的要素:启动程序、 内存管理、进程管理、多任务处理的核心、初始化程序。为了达到嵌入式设备 的应用要求,而且为了保持最小的系统,一般还要添加硬件驱动程序、必须的 应用程序。 根据需要,可以增加以下功能:文件管理系统,可以方便、高效地管理和存 储数据;t c p 仰通信协议,用于实现嵌入式系统的网络接入功能。 2 3 2uc i i f l u x 操作系统概述 “:l i n u x 是当前广泛应用的一种嵌入式l i n u x 操作系统,也是本论文选定的开 发平台,i t c l i n u x 与u n i x 系统兼容。在uc i i n u x 这个英文单词中u 表示m i c r o ,小 的意思,c 表示c o n t r o l ,控制的意思,所以uc l i n u x 就是m i c r o c o n t r 0 1 l i n u x , 字面上的理解就是“针对微控制领域而设计的l i n u x 系统”。为了降低硬件成本 及运行功耗,有一类c p u 在设计中取消了内存管理单元( m e m o r ym a n a g e m e n t u n i t , 简称m m u ) 功能模块。标准的l i n u x 内核采用虚拟内存管理技术来提高系统 运行效率,这种设计在硬件上需要有微处理器内嵌的内存管理单元( m m u ) 的 支持。而“c l i n u x 是一种专为嵌入式系统设计的l i n u x 系统,它经过各方面的小 型化改造,形成了一个高度优化的、代码紧凑的嵌入式l i n u x ,虽然它的体积小, 但是仍然保留了l i n u x 的大多数的优点:稳定、良好的移植性、优秀的网络功能、 完备的对各种文件系统的支持、以及标准丰富的a p i 。 2 3 3i x c i f l u x 内存管理 标准l i n u x 使用虚拟存储器技术,这种技术用于提供比计算机系统中实际使 用的物理内存大得多的内存空间。使用者将感觉到好像程序可以使用非常大的 内存空间,从而使得编程人员在写程序时不用考虑计算机中的物理内存的实际 容量。为了支持虚拟存储管理器的管理,l i n u x 系统采用分页( p a g i n g ) 的方式 来载入进程。所谓分页既是把实际的存储器分割为相同大小的段,例如每个段 1 0 2 4 个字节,这样1 0 2 4 个字节大小的段便称为一个页面( p a g e ) 。虚拟存储器由 存储器管理机制及一个大容量的快速硬盘存储器支持。它的实现基于局部性原 理,当一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运 1 2 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 行的那些部分页面或段装入内存运行( c o p y o n w r i t e ) ,其余暂时留在硬盘上程 序运行时如果它所要访问的页( 段) 已存在,则程序继续运行,如果发现不存 在的页( 段) ,操作系统将产生一个页错误( p a g ef a u l t ) ,这个错误导致操作系 统把需要运行的部分加载到内存中。必要时操作系统还可以把不需要的内存页 ( 段) 交换到磁盘上。利用这样的方式管理存储器,便可把一个进程所需要用 到的存储器以化整为零的方式,视需求分批载入,而核心程序则凭借属于每个 页面的页码来完成寻址各个存储器区段的工作嘲。 标准l i n u x 是针对有内存管理单元的处理器设计的。在这种处理器上,虚拟 地址被送到内存管理单元( n 仉,) ,把虚拟地址映射为物理地址。计算机的存 储管理单元( m h 仉j ) 一般有一组寄存器来标识当前运行的进程的转换表。在当 前进程将c p u 放弃给另一个进程时( 一次上下文切换) ,内核通过指向新进程地 址转换表的指针加载这些寄存器。m m u 寄存器是有特权的,只能在内核态才能 访问。这就保证了一个进程只能访问自己用户空间内的地址,而不会访问和修 改其它进程的空间。当可执行文件被加载时,加载器根据缺省的l d 文件,把程 序加载到虚拟内存的一个空间,因为这个原因实际上很多程序的虚拟地址空间 是相同的,但是由于转换函数不同,所以实际所处的内存区域也不同。而对于 多进程管理当处理器进行进程切换并执行一个新任务时,一个重要部分就是为 新任务切换任务转换表。 虚拟系统并不是没有代价的。内存管理需要地址转换表和其他一些数据结 构,留给程序的内存减少了。地址转换增加了每一条指令的执行时间,而对于 有额外内存操作的指令会更严重。当进程访问不在内存的页面时,系统发生失 效。系统处理该失效,并将页面加载到内存中,这需要极耗时间的磁盘f o 操作。 总之内存管理活动占用了相当一部分e p u 时间( 在较忙的系统中大约占1 0 ) 。 对于p c l i n u x 来说,其设计针对没有m m u 的处理器,即p c l i n u x 不能使用处 理器的虚拟内存管理技术。c l i l l u x 仍然采用存储器的分页管理,系统在启动时 把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有m m u 管理,所以实际上p c l i n u x 采用实存储器管理策略( r e a lm e m e o r ym a n a g e m e n t ) ,即 物理内存,这一点影响了系统工作的很多方面。 l 【l c l i n u x 系统对于内存的访问是直接的( 它对地址的访问不需要经过m m u , 而是直接送到地址线上输出) 。所有程序中访问的地址都是实际的物理地址, 操作系统对内存空间没有保护,各个进程实际上共享一个运行空间,没有独立 1 3 第2 章s i g m ae m 8 6 2 4 芯片的硬件及软件系统 的地址转换表,一个进程在执行前,系统必须为进程分配足够的连续地址空间, 然后全部载入主存储器的连续空间中,与之相对应的是标准l i n u x 系统在分配内 存时没有必要保证实际物理存储空问是连续的,而只要保证虚存地址空间连续 即可。另一方面,程序加载地址与预期通常都不同,这样重定位的过程是必须 的。t t c l i n u x 对内存管理减少同时就给开发人员提出了更高的要求,开发人不得 不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板 到底有多少内存,从而系统将在启动的初始阶段对内存进行分页,并且标记已 使用和未使用的内存。系统将在运行程序时使用这些分页内存。【9 】【1 0 l 虽然t t c l i n u x 的内存管理与标准l i n u x 系统相比功能相差很多,但应该说这是 嵌入式设备的选择。在嵌入式设备中,由于成本等敏感因素的影响,普遍采用 不带有m m u 的处理器,这决定了系统没有足够的硬件支持实现虚拟存储管理技 术。从嵌入式设备实现的功能来看,嵌入式设备通常在某一特定的环境下运行, 只要实现特定的功能,其功能相对简单,内存管理的要求完全可以由开发人员 考虑。 2 3 4l l o ii n u x 的进程管理 标准l i n u x 的进程管理使用f b r k 后,内核会将父进程复制一份给子进程,但 是这样的做法相当浪费时间,因为大多数情况下都是程序在调用f o r k 后就立即调 用e x e c 。该调用提供一个进程去执行另一个进程的能力i l ”。e ) ( e c 调用覆盖旧有进 程存储器内容,这样刚复制来的进程区域又立即被新的数据覆盖掉。因此,l i n u x 系统提供一个系统调用v f o r k ,v f o r k 假定系统在调用完成v f o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 线上线下彩票业务合作框架协议
- 草牧场承包权流转与农业可持续发展合作协议
- 食品流通市场承包权转让合同范本
- 外债融资担保机构合作协议范本
- 桩基露筋防腐处理技术专题
- 预应力孔道智能压浆监控
- 中职学校教师培训
- 滨水带施工合同定交底
- 智慧用电服务体系建设方案智慧电能服务体系建设方案
- 智慧医院节能监管平台建设方案节约型医院实施方案
- 五年级下学期科学立体小菜园课件
- 2019级药剂专业人才培养方案(中职)
- 2024年河北石家庄市市属国企业春季面向社会公开招聘282人易考易错模拟试题(共500题)试卷后附参考答案
- 旅游集散中心建设设计方案
- 国家开放大学专科《人文英语1》一平台机考真题及答案(第二套)
- 承德市承德县六年级下册数学期末测试卷汇编
- 北京朝阳区2024年八年级物理第二学期期末综合测试试题及答案解析
- 服务标准化指标的量化与评价
- 维修结算单完整版本
- (正式版)JBT 14790-2024 往复式内燃机曲轴转角 信号盘
- 勘察设计工作量及计划安排方案
评论
0/150
提交评论