(信号与信息处理专业论文)基于嵌入式系统的网络音响设计与实现.pdf_第1页
(信号与信息处理专业论文)基于嵌入式系统的网络音响设计与实现.pdf_第2页
(信号与信息处理专业论文)基于嵌入式系统的网络音响设计与实现.pdf_第3页
(信号与信息处理专业论文)基于嵌入式系统的网络音响设计与实现.pdf_第4页
(信号与信息处理专业论文)基于嵌入式系统的网络音响设计与实现.pdf_第5页
已阅读5页,还剩68页未读, 继续免费阅读

(信号与信息处理专业论文)基于嵌入式系统的网络音响设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着科技的迅猛发展,“数字家庭 这一概念已经深入人心。娱乐功能是数字 化家庭发展的重点,也是目前进入数字化家庭领域的厂商的主要关注内容,包括 家庭内部资源共享、互联网访问、p t v 、视频点播、音频点播、即时通信以及其 它目前仍不可知的应用都可能是未来家庭网络的一部分。 本文基于华恒公司的h h a r m 2 4 1 0 开发板设计与实现网络音响演示系统。主 要内容包括: 1 、研究了网络音响的软件平台的构建,包括建立交叉开发环境、移植引导装 载程序、移植l i n u x 内核和制作文件系统等。 2 、完成了网络音响系统的设计,包括系统的构成和工作流程。 3 、完成了网络音响的总体设计,主要是软件设计。 4 、设计与实现了网络音响的软件系统。根据所实现功能,把整个软件分成音 频解码播放模块、网络传输模块、窗口界面控制模块三个模块。在描述网络音响 软件总体设计的基础上,依次对这三个模块进行了详细的介绍。其中,对每个模 块的介绍是按照程序系统的结构、子模块设计说明两部分完成的。在软件设计与 实现中,选择了m i n i g u i 作为g u l 支撑平台。 在实际演示过程中,本系统能够实现预定的目标,通过f t p 完成从局域网内 模拟服务器上下载所需要的m p 3 资源并进行解码播放的功能。 嵌入式技术与数字家庭相结合,可以拓展出许多新的应用领域。可以预见, 在市场和技术进步的双重推动下,基于嵌入式系统的网络音响必将成为数字化家 庭当中的重要一员。 关键词:嵌入式系统,网络音响,f t p ,m p 3 ,m i n i g u i a b s t r a c t a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fs c i e n t i f i ct e c h n o l o g i e s ,t h ec o n c e p to f d i g i t a l f a m i l y h a sb e e nw e l lk n o w nc u r r e n t l y t h ef u n c t i o no fe n t e r t a i n m e n t , a st h ek e yo ft h e d e v e l o p m e n to ft h a tc o n c e p t , i sr e g a r d e da st h em o s ti m p o r t a n ta s p e c tb yt h er e l a t i v e m a n u f a c t u r e r sn o w a d a y s t h ef a m i l yn e t w o r ki nt h ef u t u r ep r o b a b l yc o v e i st h ef i e l d so f t h es h a r i n go fi n t e r i o rr e s o u r c e s ,t h el o d g i n go fi n t e m e li p t v , t h eo r d e rp r o g r a m m i n g o fa u d i oa n dv i d e o ,i n s t a n tc o m m u n i c a t i o na n do t h e ra p p l i c a t i o n su n k n o w na tp r e s e n t t h i sd i s s e r t a t i o n , b a s e do rt h ed e s i g no fh h a r m 2 410o fh u a h e n gc o r p o r a t i o n , c a r r i e so u ti t si l l u s t r a t i o no nt h er e a l i z a t i o no fd e m o n s t r a t i v es y s t e mo fn e t w o r k a c o u s t i c s t h em a i ne o n t r i b u t i o i l sa r ea sf o l l o w s : 1 t h ec o n s t r u c t i o no ft h es o f t w a r ef l a to fn e t w o r ka c o u s t i c si si n v e s t i g a t e d 2 t h ed e s i g no fn e t w o r ka c o u s t i c ss y s t e mi sp r e s e n t e d , i n c l u d i n gi t sc o n s t r u c t i o n a n do p e r a t i o n 3 t h eg e n e r a ld e s i g no ft h es y s t e m , m a i n l yc o v e r i n gt h a to fs o f t :w a r e , i sw e l l i l l u s t r a t e d 4 t h es o f t w a r es y s t e mo fn e t w o r ka c o u s t i c si sd e s i g n e da n dr e a l i z e d a c c o r d i n g t od i f f e r e n tf u n c t i o n s ,t h es o f t w a r ei sd i v i d e di n t ot h r e em o d u l e s t h em o d u l eo fa u d i o d e c o d i n ga n db r o a d c a s t i n g , t h em o d u l eo fn e t w o r kt r a n s m i s s i o na n dt h em o d u l eo f i n t e r f a c ec o n t r 0 1 b a s e do nt h ed e s c r i p t i o no fi t sg e n e r a ld e s i g n , t h et h r e em o d u l e sa r e p r e s e n t e di nd e t a i lr e s p e c t i v e l y t h em i n i g u ii sc h o s e na st h eg u is u p p o r t i n gf l a t d u r i n gt h ea c t u a ld e m o n s t r a t i o n , t h es y s t e mi sb o u n dt os u f f i c et h er e q u e s t s , w h i c hc a l lf o rt h ef u n c t i o no fd o w n l o a d i n g , d e c o d i n ga n db r o a d c a s t i n gt h en e e d e dm p 3 r e s o u r c e sf r o mt h es i m u l a t i v es e r v e ti nt h el o c a la r e an e t w o r k ( l a n ) b yf t e t h ec o m b i n a t i o no fe m b e d d e ds y s t e ma n dd i g i t a lf a m i l yd e v e l o p e sm a n yn e w a p p l i c a t i o n s ,t h en e t w o r ka c o u s t i c sb a s e d o nl i n u xi sb o u n dt op l a ya ni m p o r t a n tr o l ei n t h ed i g i t a lf a m i l y k e y w o r d s :e m b e d d e ds y s t e m ,n e t w o r ka c o u s t i c s ,f t p m p 3 ,m i n i g u i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的 说明并表示谢意。 签名: 旌鎏色日期:砂铝年中月孑口日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:琏敞导师签名: 詹毒叁 日期:为p g 年钥o 日 第一章绪论 1 1 课题背景及意义 第一章绪论 在科技迅猛发展的今天,人们渴望用科技来改变自己的生活、自己的家。所 以,数字化家庭被称为是r r 业界将要着力攻陷的下一个堡垒。其实,数字化家庭 并不是一个新鲜词汇,在几年前就被人提及,可是在经过数字电视的酝酿、发展, 以及很多数码产品“飞入寻常百姓家”以后,才使得数字家庭这一概念更具真实 性。对于居室的定位也早已不仅仅是舒适和安逸,而越来越多地注入了多种时尚 元素。在数字革命的今天,数字家庭、智能家居无可争辩地引领着新的风尚和潮 流。正是这一潮流的推动,数字化家庭的理念被一再倡导,一批又一批的企业参 与其中。 专业人士为数字化家庭下的定义【1 2 1 是:以计算机技术和网络技术为基础,各 种家用数字化设备有机结合在一起的智能化的网络家庭。这些家用数字化设备包 括电话、电脑、信息家电等。总而言之,数字化家庭包括四大功能:信息、通信、 娱乐和生活。从信息角度而言,电脑将作为服务器,将家中的数字化设备联接成 一个网络,进行信息共享。从通信角度而言,家庭的通信功能极大扩展。未来上 网设备将不再只局限于电脑一种,p d a 、电视机、冰箱,微波炉都将能方便地上 网。另外,数字化家庭将成为娱乐休闲的天堂,游戏、娱乐功能始终都居于核心 位置,家庭成员还可以利用家用电脑控制电视、音响等传统娱乐设备,可以通过 视频服务器或者无线个人终端点播电视节目,实现定时播放。另外,数字家庭的 其他生活也将会彻底数字化,电脑将统一控制各种家电,一旦发生火灾、煤气泄 漏、水管泄漏、盗匪闯入等异常情况,将会自动报警并拨打报警电话等等。 娱乐功能是数字化家庭发展的重点,也是目前进入数字化家庭领域的厂商的 主要关注内容,包括家庭内部资源共享、互联网访问、p t v 、视频点播、音频点 播、即时通信以及其他目前仍不可知的应用都可能是未来家庭网络的一部分。目 前系统所提供的终端包含口t v 机项盒、移动p c 、台式p c ,它们通过有线或者无 线的方式,以家庭网关为中心点,组成家庭网络并通过网关访问网络服务。在以 上娱乐功能中,音乐欣赏占有重要的地位。可以预见,基于嵌入式系统的网络音 响会成为数字化家庭的重要组成部分,会对人们的生活产生重要的影响。 电子科技大学硕士学位论文 1 2 国内外发展现状 世界最大的半导体芯片制造商英特尔公司最近指出,信息技术是按一个一个 浪潮发展的,继使整个信息技术产业受益的因特网浪潮后,下一个促进信息技术 产业发展的大浪潮将是以办公室和家庭数字化为主要内容的数字生活方式。 目前在这一领域存在着许多互不兼容的技术标准【9 】,包括u w b ,f ” h 等等。 如何将这些标准统一成单一平台,开发能够被业界和消费者接受的增值服务,同 时保持比较低的价格,将是“数字化家庭计划急需解决的问题。 以英特尔、索尼为代表的公司成立了“数字化家庭工作组 【1 2 】,专f - j $ 4 订使家 电和计算设备更容易协作的标准。索尼公司和其它厂商一直在开发数字化产品。 索尼公司一直在日本销售具有无线网络功能的平板电视机。另外,三星公司一直 在开发能够利用8 0 2 1 1 a 连接接收高清晰电视节目的电视机,它还在进行通过超级 宽带连接传输多套电视节目的试验。在美国,b e s t b u y 公司一直在销售一款能够访 问互联网的三星冰箱。 越来越多的家庭也都实现了数字化,预计美国有2 6 9 0 万个家庭使用上了宽带 互联网访问,联邦通讯委员会还在努力使无线技术成为第三种宽带技术。 韩国在发展家庭数字化方面的成就也引人注目。在2 0 0 7 年,韩国就已有一千 万户家庭全面引入数字化生活方式,7 0 的韩国家庭可以收看双向数字电视,可 以通过手机、因特网等各种网络设备实现对冰箱、空调等家用电器的远距离交互 式操作,并且数字家庭配备的电器产品也将具有相当的智能,如自我诊断功能等。 而在国内,最近两年,数字家庭的概念也可谓炙手可热,深入人一l , t 9 j 。随着国 内r r 企业大力提倡数字家庭概念,在市场上跃跃欲试,新兴的数字家庭市场,让 众多家电企业和n 企业,以及急于发现新用户的通信企业兴奋了起来。海尔、t c l 、 华为、中兴等一批家电和信息产业公司将下一代智能家电和通讯产品研发的方向 指向“数字家庭”和“网络家电 。 2 0 0 3 年7 月,“信息设备资源共享协同服务标准化工作组”在北京成立,这个 被命名为“闪联”的工作组的倡导者是国内i t 、家电五大巨头:联想、海信、长 城、t c l 、康佳,信息产业部科技司则是此次标准制定的主体单位。“闪联”的成 立,标志着中国家庭电子网络也有了自己的共享标准。一个月后,海信d m a 一款能够使电视和电脑互联互通的产品突然面世,这款产品将作为第一代先行者 把“数字化家庭”概念由构想转变为现实。海信宣称,此次推出的d m a 同时兼容 d h w g 和“闪联”的标准。“数字化家庭 计划正式由蓝图进入实际操作。 2 第一章绪论 2 0 0 5 年底开始,以联想为首的各大电脑巨头也开始逐鹿“数字家庭”,动作越 来越迅速。这些新型电脑让普通的电脑系统具备电视接收、数码录制、延时播放、 定时预约录制及视频采集功能。比如,高速的电脑主机,可以连接大屏幕高清彩 电和各种音响娱乐设备,坐在沙发上用无线键盘和鼠标操作,既可以通过宽带上 网、看电视,又可以将电视节目延时播放、同步录制电视节目,实现了电脑和电 视合一,也让电脑进入了客厅。这样融合计算、影音、通讯功能,拥有“互动电 视”、“高清影院”、“自由操控 和“无线关联一应用的产品,让人真真切切地感 受到了数字家庭的真实魅力。 据预测,未来两年内中国该类“数字家庭”市场将形成1 5 0 亿元以上的新增 规模,并在5 年内达到8 0 0 亿元的市场规模。 不知不觉之间,“数字化”在中国掀起了一场飓风,国内的r r 、家电市场一时 间风起云涌,“数字化家庭”已经悄然来到了我们的身边。 1 3本论文研究内容 本项目基于嵌入式系统设计与实现网络音响系统。目前完成了网络音响演示 系统。演示系统的本地终端是基于华恒公司的h h a r m 2 4 1 0 开发板设计与实现的。 网络音响演示系统能够实现本地终端即网络音响从局域网内的模拟服务器上获取 资源列表,用户根据资源列表点播所需要的音乐资源,然后通过网络音响进行播 放。 在本课题中,本人主要承担了以下工作: ( 1 ) 选择系统的实现方案; ( 2 ) 研究并实现网络音响软件平台的构建; ( 3 ) 研究网络音响系统的结构和工作流程; ( 4 ) 完成网络音响的软件总体设计; ( 5 ) 完成音频解码播放模块的设计与实现; ( 6 ) 完成网络传输模块的设计与实现; ( 7 ) 完成窗口界面控制模块的设计与实现。 本论文首先讲解如何进行网络音响软件平台的构建,然后研究了网络音响软 件平台的构建,紧跟着研究了网络音响系统的设计,随后研究了网络音响的总体 设计。然后按照音频解码播放模块、网络传输模块、窗口界面控制模块对网络音 响的软件设计与实现进行了详细的介绍,最后进行了总结和展望。 3 电子科技大学硕士学位论文 第二章网络音响软件平台的构建 2 1 嵌入式操作系统 嵌入式系统就是以应用为中心,以计算机技术为基础,软硬件可裁减,适合 应用系统对功能、可靠性、成本、体积和功耗要求的专用计算机系统【,】。嵌入式系 统通常由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于 一体的可独立工作的“器件”。相关支撑硬件包括存储介质( r o m 和r a m 等) 、 i o 端口、图形控制器等设备。嵌入式软件涵盖与硬件相关的底层软件、嵌入式操 作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件等。应用 软件控制着嵌入式系统的运作和行为,而操作系统则为应用程序提供必要的底层 支持,它一般是通过提供应用编程接e l ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,简称 a p i ) 来实现的。在嵌入式系统开发中它们的区别又不是绝对明显的,有时嵌入式 系统的开发者可能要做操作系统和应用编程两方面的工作。 l i n u x 操作系统从1 9 9 1 年问世至今,经过短短十几年的发展,不仅可以与各 种传统的商业操作系统相抗衡,在新兴的嵌入式操作系统领域也获得飞速发展【i 倒。 嵌入式l i n u x 操作系统是指对标准l i n u x 经过小型化裁减处理之后,能够固化在容 量只有几k b 或者几m b 的存储器芯片中,非常适合于手持终端等应用场合。 2 1 1 嵌入式l i n u x 操作系统的组成 嵌入式l i n u x 操作系统主要由三个部分组成:内核、服务程序和应用程序f 1 8 】, 其结构如图2 1 所示。 ( 1 ) 内核 内核是控制嵌入式系统的核心程序,是抽象资源与具体硬件之间的接口【2 2 1 。 它实现了内存管理,文件管理,程序的运行与调度,负责从网络上接收和发送数 据包,接受用户命令并执行。内核程序执行效率的高低和稳定性直接影响到整个 系统的运行情况。 ( 2 ) 服务程序 服务程序是应用程序与内核之间进行交互操作的接e l i 2 ,它接收用户的输入 命令并送入内核执行。这些程序包括s h e l l 命令解释器、图形用户接e l ( g r a p h i c a l 4 第二章系统软件平台的构建 u s e ri n t e r f a c e s ,简称g u i ) 窗口系统以及内核编程接口等系统程序。 图2 - 1 嵌入式l i n u x 操作系统结构框图 ( 3 ) 应用程序 应用程序是用户与嵌入式系统之间进行交互操作的接口,可分为实用工具和 用户程序两大类。实用工具为用户提供常用命令或功能,包括编辑器、过滤器和 交互程序。在众多的实用工具集中,b u s y b o x 集成了1 0 0 多个最常用的l i n u x 命令 和工具,并且精悍小巧,享有“嵌入式l i n u x 中的瑞士军刀”的美誉,非常适合于 嵌入式应用。用户程序则是为完成某种特定功能而编写的程序。 2 1 2 嵌入式l i n u x 内核的组成 l i n u x 内核是整个操作系统的重要组成部分,是运行程序和管理硬件的核心。 完整的l i n u x 内核主要由五个部分组成:进程管理模块、进程间通信模块、内存管 理模块、虚拟文件系统和网络通信模块【l 引。 ( 1 ) 进程管理 进程是程序在某个数据集上的执行过程,包括一个地址空间和至少一个控制 点,进程在这个地址空问上执行单一的指令序列。 进程管理包括进程调度和进程间通信。进程调度控制着进程对c p u 的访问。 通过进程调度算法来确定下一个将要运行的进程。对于普通进程,l i n u x 采用动态 优先级调度;对于实时进程,l i n u x 采用f i f o ( 先来先服务) 和r o u n dr o b i n ( 时 间片轮转) 两种调度策略。 ( 2 ) 进程间通信 对于多任务、多用户的操作系统来说,进程问通信是一项必不可少的手段。 5 电子科技大学硕士学位论文 进程间通信支持进程间的各种通信机制,是内核用于协调进程的活动。l i n u x 支持 i p c ( i n t e rp r o c e s sc o m m u n i c a t i o n ) 机制,包括信号和管道。此外,l i n u x 还支持 u n i xs y s t e mv 版本中的3 种进程间通信机制:消息队列、信号量和共享内存。 ( 3 ) 内存管理 内存管理涉及内存空间分配,地址映射以及内存保护等范畴,并支持虚拟内 存技术。内存管理的实现与m m u 关系密切。m m u 的主要作用有两个方面:一是 提供地址映射,二是提供访问保护。 ( 4 ) 虚拟文件系统 虚拟文件系统( x r m u a if i l es y s t e m ,简称为v f s ) 为系统内核与不同的文件系统 之间提供了统一的接口,是对各种文件系统的抽象。 虚拟文件系统可以分为逻辑文件系统和设备驱动程序两部分。逻辑文件系统 指l i n u x 所支持的各种文件系统,如e x t ,f a t 和n f s 等。设备驱动程序指为每 一种硬件控制器所编写的设备驱动程序模块。l i n u x 的一个基本特征就是它抽象了 对设备的处理,所有的硬件设备( 网络设备除外) 都与常规的文件相似,通过与 文件操作相同的系统调用来打开、关闭和读写。l i n u x 支持3 种硬件设备类型: 字符设备、块设备和网络设备。字符设备是无缓存访问的设备。块设备是通过缓 冲区,且按块的大小进行访问的。网络设备是通过b s d 套接字( s o c k e t ) 接口来访 问的。 ( 5 ) 网络通信 l i n u x 所使用的b s ds o c k e t 不仅是网络通信的接口,而且是一种进程间通信 的机制。它是以4 3b s d 为模型而实现的。 在所有的网络操作中,套接字必不可少,是网络通信中应用进程和网络协议 之间的接口。套接字的作用如下: 位于协议层之上,屏蔽了不同网络协议之间的差异; 是网络编程的入口,提供了大量的系统调用,构成了网络程序的主体; 套接字属于l i n u x 系统文件系统的一部分,网络通信可以看作是对文件的 操作。 2 1 3 嵌入式设备的文件系统 嵌入式系统自身特点决定其往往选用r o m 或者f l a s h 作为主要存储设备,因 此嵌入式文件必须专门针对于r o m 和f l a s h 而设计。同时,嵌入式文件系统是嵌 6 第二章系统软件平台的构建 入式操作系统的一个重要组成部分。因此,要针对嵌入式操作系统具有可定制性 的特点,使文件系统满足可伸缩性、可配置性和稳定性等要求。l i n u x 支持多种文 件系统,同样,嵌入式l i n u x 也支持多种文件系统。嵌入式l i n u x 系统中常用的文 件系统类型有c r a m f s 、j f f s j f f s 2 和y a f f s y a f f s 2 等。 无论是c 删f s ,还是j f f s j f f s 2 和y :f f 心f s 脚f s 2 ,都需要m t d 的支持。 m t d ( m e m o r yt e c h n o l o g yd e v i c e ,内存技术设备) 是对f l a s h 操作的接口,提供 了一系列的标准函数,将硬件驱动设计和系统程序设计分开。它相当于在硬件和 上层之间提供了一个抽象的接口,可以理解为f l a s h 的设备驱动程序,主要向上提 供两个接口:m t d 字符设备和m t d 块设备。通过这两个接口,就可以像读写普 通文件一样对f l a s h 设备进行读写操作。经过简单的配置后,m t d 在系统启动以 后可以自动识别支持c f i 或j e d e c 接口的f l a s h 芯片。并自动采用适当的命令参 数对f l a s h 进行读写或擦除。 图2 - 2 嵌入式l i n u x 的文件系统结构图 l i n u x 的文件系统由虚拟文件系统、逻辑文件系统、m t d 设备和存储设备四 个层次组成,结构如图2 2 所示。其中v f s 为系统内核与各种文件系统之间提供 了统一的接口,是对逻辑文件系统的抽象。m t d 为逻辑文件系统与存储设备间提 供了接口,是对各种存储设备的抽象。 2 2 交叉开发环境 如图2 3 所示,交叉开发环境一般由宿主机、目标机和通信连接组成。宿主机 要求软硬件资源较为丰富,通常使用通用p c 机。在宿主机上,可以安装开发工具, 7 蜀习舅 电子科技大学硕士学位论文 编辑、编译目标机的l i n u x 引导程序、内核和文件系统,然后在目标机上运行。目 标机即嵌入式系统。通信手段用于连接宿主机和目标机,支持程序的下载和调试。 通常这种在宿主机环境下开发,在目标机上运行的开发模式叫做交叉开发。因此, 嵌入式软件开发的第一步就是建立交叉开发环境,包括建立目标机与宿主机之间 的连接,安装交叉编译工具和交叉调试工具。 图2 3 交叉开发示意图 2 2 1 目标机与宿主机之间的连接 要建立交叉开发环境,首先就需要建立目标机与宿主机之间的连接。目标机 和宿主机之间通常可以使用串口、以太网接口、u s b 接口以及j t a g 接口等连接 方式。下面分别介绍这些通讯接口的特点【3 】。 ( 1 ) 串行通讯接口 在嵌入式系统的开发中,串口可用作控制台,可在目标板和主机之间传送信 息;还可通过串口传送文件,调试程序等。使用串口进行通信,具有实现简单, 成本低廉等优点,但串口的通信速率较低,通信距离较近,可靠性较低,不适于 大数据量、远距离传输。 本课题中使用串口向目标板发送命令,接收来自目标板的信息,并通过串口 下载b o o t l o a d e r 和内核,使用m i n i c o m 作为运行于主机上的串口通信的工具。 ( 2 ) 以太网接口 在嵌入式系统的开发中,以太网可用于串口传送文件,调试程序等。使用以 太网进行通信,具有通信速率高,通信距离远,可靠性高等优点,但其硬件和软 件的实现较为复杂,成本也相应增加。 本课题中主机通过以太网可向目标板提供t f t p 和n f s 服务,其中目标板作 为客户机,主机作为服务器。 ( 3 ) u s b 接口 u s b ( u n i v e r s a ls e r i a lb u s ) 接口支持热插拔,具有即插即用的优点,最多可以 第二章系统软件平台的构建 连接1 2 7 台外设,所以u s b 接口已经成为p c 外设的标准接口。另外,u s b 接口 的通讯速率也很快。 ( 4 ) j t a g 接口 j t a g ( j o i n tt e s ta c t i o ng r o u p ) 是标准测试访问端口和边界扫描结构的i e e e 的标准1 1 4 9 1 的常用名称,主要用于芯片内部测试和器件在系统编程与配置,是 一种标准的工业测试方法,在嵌入式系统的开发中,j t a g 常用于用于下载 b o o t l o a d e r ,配合相应的软件使用。 2 2 2 交叉开发工具链 嵌入式系统开发与通用计算机系统开发之间最显著的区别就在于软件开发方 式一交叉开发,其主要特征是目标机指令系统与本机不兼容,编译链接后生成 的代码不能运行于本机,只可运行于目标机。交叉开发主要使用交叉开发工具链 ( c r o s st o o l c h a i n ) 来完成。交叉工具链就是为了编译、链接、处理和调试跨平台 体系结构的程序代码。 g n u 的工具链源码包可以从g n u 网站h t t p :w w w g n u o r g 或者镜像下载。针 对a r m 处理器平台,需要在主机( x 8 6 体系) 上建立针对a r m 体系的工具链。 本课题中使用由a r ml i n u x 提供的交叉开发工具链。 2 3 引导装载程序 引导装载程序b o o t l o a d e r 通常是计算机在上电复位时执行的第一段代码,用 来初始化硬件设备、建立内存空间映射表,从而为操作系统的运行建立环境,为 最终调用操作系统内核做好准备。 通常,b o o t l o a d e r 的实现严重依赖于硬件平台,特别是对于嵌入式系统。由于 b o o t l o a d e r 不仅取决于处理器架构,还取决于硬件配置,因此在开发时必须根据用 户的具体情况进行移植。 2 3 1b o o t l o a d e r 的启动流程 尽管各种b o o t l o a d e r 间的实现细节有很大差异,但其启动流程却具有很多共 性。b o o t l o a d e r 的启动流程一般分为两个阶段:s t a g e l 和s t a g e 2 。 s t a g e l 通常用汇编语言实现,所作操作如下: 9 电子科技大学硕士学位论文 ( 1 ) 初始化基本的硬件设备,包括屏蔽中断、设置c p u 的时钟频率、关闭指 令c a c h e 和数据c a c h e : ( 2 ) 为加载s t a g e 2 准备r a m 空间; ( 3 ) 拷贝s t a g e 2 到r a m 中; ( 4 ) 设置堆栈指针; ( 5 ) 跳转到s t a g e 2 的入口处。 s t a g e 2 通常用c 语言实现,所作操作如下: ( 1 ) 初始化本阶段要使用的硬件设备,包括初始化串口、定时器等; ( 2 ) 检测系统的内存映射; ( 3 ) 将内核映像和根文件系统能够加载到r a m 中; ( 4 ) 设置内核的启动参数; ( 5 ) 调用内核。 2 3 2b o o t l o a d e r 的种类 嵌入式系统世界已经有各种各样的b o o t | o a d e r ,种类划分也有多种方式。除了 按照处理器体系结构不同划分以外,还有功能复杂程度的不同。 首先区分一下“b o o t l o a d a ”和“m o n i t o r 的概念。严格来说,“b o o t l o a d a 只是引导设备并且执行主程序的固件;而“m o n i t o r 还提供了更多的命令行接口, 可以进行调试、读写内存、烧写f l a s h 、配置环境变量等。“m o n i t o r ”在嵌入式系 统开发过程中可以提供很好的调试功能,开发完成以后,就完全设置成了一个 “b o o t l o a d e r ”。所以,习惯上大家把它们统称为b o o t l o a d e r 。 对于每种体系结构,都有一系列开放源码b o o t l o a d e r 可以选用。 ( 1 ) x 8 6 x 8 6 的工作站和服务器上一般使用l i l o 和g r u b 。l i l o 是l i n u x 发行版主 流的b o o t l o a d e l 。不过r e d h a tl i n u x 发行版已经使用了g r u b ,g r u b 比l i l o 有 更友好的显示界面,使用配置也更加灵活方便。 在某些x 8 6 嵌入式单板机或特殊设备上,会采用其他b o o t l o a d e r ,例如r o l o 。 这些b o o t l o a d g t 可以取代b i o s 的功能,能够从f l a s h 中直接引导l i n u x 启动。 现在r o l o 支持的开发板已经并入u - b o o t ,所以u b o o t 也可以支持x 8 6 平台。 ( 2 ) a r m a r m 处理器的芯片商很多,基本上每种芯片的开发板都有自己的b o o t l o a d e r , 1 0 第二章系统软件平台的构建 结果造成a r mb o o t l o a d e r 变得多种多样。例如基于a r m 或者s t r o n g a r m 平台的 a r m b o o t ,s t r o n g a r m 平台的b l o b ,还有$ 3 c 2 4 1 0 处理器开发板上的v i v i 等。现在 a r m b o o t 已经并入了u b o o t ,所以u b o o t 也支持a r m x s c a l e 平台。u - b o o t 已 经成为a r m 平台事实上的标准b o o t l o a d e r 。 ( 3 ) p o w e r p c p o w e r p c 平台的处理器有标准的b o o t l o a d e r ,就是p p c b o o t 。p p c b o o t 在合 并a r m b o o t 等之后,创建了u - b o o t ,成为各种体系结构开发板的通用引导程序。 u - b o o t 仍然是p o w e r p c 平台的主要b o o t l o a d e r 。 ( 4 ) m 坦s m i p s 公司开发的y a m o n 是标准的b o o f l o a d e r ,也有许多m i p s 芯片商为自 己的开发板写了b o o t l o a d e r 。现在,u - b o o t 也已经支持m i p s 平台。 ( 5 ) s h s h 平台的标准b o o t l o a d e r 是s h - b o o t 。r e d b o o t 在这种平台上也很好用。 ( 6 ) m 6 8 k m 6 8 k 平台没有标准的b o o t l o a d 盯。r 翻l b o o t 能够支持m 6 8 r 系列的系统。 2 3 3b o o t l o a d e r 的操作模式 大多数b o o t l o a d e r 都包含两种不同的操作模式,即启动加载模式和下载模式。 二者的区别仅对于开发人员才有意义,但从最终用户的角度看,b o o t l o a d e r 的作用 就是用来加载操作系统,即b o o t l o a d e l 工作于启动加载模式。 启动加载( b o o t l o a d i n g ) 模式也称为自主( a u t o n o m o u s ) 模式。也即b o o t l o a d e r 从目标机上的某个固态存储设备上将操作系统加载到r a m 中运行,整个过程不需 要用户的介入。这种模式是b o o t l o a d e r 的正常工作模式,适用于开发者和用户。 在嵌入式产品发布的时侯,b o o t l o a d e r 显然必须工作在此模式下。 下载( d o w n l o a d i n g ) 模式仅适用于开发者。在此模式下,目标机上的b o o t l o a d e r 可通过串口或网络连接从主机下载内核映像和根文件系统映像等。从主机下载的 文件通常首先保存到目标机的r a m 中,然后再被烧写到目标机的非易失性存储设 备中。这种模式在第一次安装内核与根文件系统时和以后的系统更新时使用,目 标机与主机通过x m o d e m y m o d e m z m o d c 疆n 协议或是邢服务传送文件。此时, b o o f l o a d e r 会提供个简单的控制台,用于从终端接收命令。 电子科技大学硕士学位论文 2 3 4u b o o t 的移植与编译 本课题采用u b o o t 作为b o o t l o a d e r 。u b o o t ( u n i v e r s a lb o o t l o a d e r ) 是遵循 g p l 许可的开放源码项目,从8 x x r o m 代码发展而来,现在可支持:p o w e r p c , a r m ( a r m 7 ,a r m 9 ,s t r o n g a r m ,x s c a l e ) ,m i p s ,x 8 6 等体系结构的处理器, 并且可支持f r e e b s d 、l i n u x 、s o l a r i s 和v x w o r k s 等操作系统的引导。 针对本开发平台移植u b o o t1 1 2 ,需要做如下修改: ( 1 ) 修改配置文件i n c l u d e c o n f i g s s m d k 2 4 1 0 h 。由于本开发平台中的f l a s h 使用 b a n k0 ,因此必须修改配置文件中的存储器设置和f l a s h 设置。 ( 2 ) 修改f l a s h 驱动程序b o a r d s m d k 2 4 1 0 f l a s h c o 本开发平台使用f l a s h 作为u - b o o t 的存储介质,因此可参考平台s b c 8 2 4 0 的f l a s h 驱动程序,并在此基础上进行 修改,将总线位数修改为3 2 位,并添加对2 8 f 1 2 8 j 3 cf l a s h 的支持。 ( 3 ) 配置并编译后在根目录下生成二进制可执行文件u - b o o t b i n ,该文件可作为最 终的b o o t l o a d e r 烧写到f l a s h 中。 2 4l i n u x 内核 2 4 1 内核源码的目录结构 l i n u x 内核的源码的目录结构如下: a r c h 子目录存放与体系结构相关的内核代码,如:a r m ,i 3 8 6 ,m i p s 和p p c 等。 d o c u m e n t a t i o n 子目录存放开发文档。 d r i v e r s 子目录存放各种硬件设备的设备驱动程序。 脑子目录存放各种的文件系统的代码。 i n c l u d e 子目录存放建立内核代码时所需的大部分包含文件,并利用其他模块 重建内核。该目录也包含了各种平台所需的库文件。 i n i t 子目录存放内核的初始化代码,这是内核工作的开始的起点。 i p e 子目录存放进程间通信的代码。 k e r n e l 子目录存放主要的内核代码。 l i b 子目录存放各种通用库函数。 m m 子目录存放内存管理的代码。 n e t 子目录存放内核中的与网络相关的代码。 s c r i p t s 子目录存放用于配置内核的脚本。 1 2 第二章系统软件平台的构建 2 4 2 内核的移植 本课题采用l i n u x2 4 1 9 版内核,该版本是2 4 系列内核中较为稳定的版本。 针对本开发平台的移植,需要做以下工作: ( 1 ) 将内核源码包解压,并打上a r ml i n u x 提供的补丁。 ( 2 ) 修改文件i v l a k e f i l e ,指定目标体系结构和交叉编译器。 ( 3 ) 修改文件a r c h a n n m a k e f i l e ,指定内核入口地址,并修改相应的菜单配置 文件a r c h a r m c o n f i g i n 。 ( 4 ) 修改文件a r c h a r m b o o t m a k e f i l e ,指定内核解压地址。 ( 5 ) 在目录a r c h a n n b o o t c o m p r e s s e d 中添加文件h e a d s 3 c 2 4 1 0 s ,完成与特定 处理器相关的初始化。 ( 6 ) 在文件a r c h a n n b o o t e o m p r e s s e d m a k e f i l e 中加入相关支持。 ( 7 ) 修改文 牛a r c h a n n m m m m a l m v c 。 2 4 3 内核的配置与编译 ( 1 ) 运行命令对内核进行配置。 ( 2 ) 在“s y s t e mt y p e ”选项中选择$ 3 c 2 4 1 0 处理器。 ( 3 ) 然后创建依赖关系,编译内核。 最后在a r c h a r m b o o t 中生成压缩映像文件z l m a g e ,用于烧写到f l a s h 中。 2 5 嵌入式l i n u x 操作系统移植 将嵌入式l i n u x 移植到特定的硬件平台上,一般需要以下五个步骤: ( 1 ) 准备工作,包括从相关网站上下载嵌入式l i n u x 的源码包,搭建交叉编译 开发环境,配置主机的开发环境等工作; ( 2 ) 移植编译b o o t l o a d e r ,并且将其烧写到目标平台的f l a s h 上; ( 3 ) 配置和编译l i n u xk e r n e l ,必要时还要对源码进行一定的修改,并且将其 移植到目标平台上; ( 4 ) 制作r a m d i s k 来挂接l i n u x 的根文件系统,并且在r a m d i s k 添加自己的 应用程序; ( 5 ) 部署l i n u x 系统使目标板脱离交叉开发环境,直接在目标机上本地启动运 行。 电子科技大学硕士学位论文 3 1 概述 第三章系统总体设计 基于嵌入式系统的网络音响系统的构成如图3 1 所示。本课题设计的网络音响 系统主要由服务器、本地终端组成。服务器主要负责向本地终端提供音乐资源, 本地终端主要负责通过服务器得到用户需要欣赏的歌曲资源,并且进行播放。由 于项目进度安排关系,本课题首先实现了网络音响演示系统。本课题中,在一台 p c 机上使用s 盯v e r - u 软件建立f t p 服务器,此f t p 服务器即为模拟网络音响服 务器。本地终端采用f t p 协议从该服务器上下载资源,然后进行播放。在本文中, 本地终端即网络音响。 3 2 系统的工作流程 图3 - 1 网络音响系统的构成 首先,本地终端向网络音响服务器发送服务请求,本地终端通过网络与网络 音响服务器建立连接,待本地终端的身份得

温馨提示

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

最新文档

评论

0/150

提交评论