




已阅读5页,还剩70页未读, 继续免费阅读
(信息与通信工程专业论文)嵌入式通信平台软件设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国舫科学技术人学研究! i :院学f 节论文 摘要 论文介绍了自行研制开发的嵌入式通信平台的总体结构,研究了在该平台上应 用嵌入式l i n u x 操作系统进行软件丌发的j j - 法j 手l i 途径。通过时a d s l 标准的分析, 在此平台上设计并实现了基于嵌入武l i n u x 操作系统的a d s l 收发器与微处理器之 闻的软件接口。论文还提出了适合于夺j i :发,f 2 台的麒于a t m 的数挪;传输模式;并 且编写了相关软件对该模式的功能进行了测试。 帙键词凇入专罗l 岁软哆口a 岁哆m 嗲0 8 从 。 璺竖型耋苎奎叁兰坚壅:些芏:丝鎏苎 a bs t r a c t t h i sp a p e ri n t r o d u c e dt h eg e n e r a la r c h i t e c t u r eo ft h ee m b e d d e dc o m m u n i c a t i o n p l a t f o r ma n ds t u d i e dt h em e t h o d so fd e v e l o p i n gt h ee m b e d d e ds y s t e ms o f t w a r e u l i j u i 一, 一| t h e e m b e d d e dl i n u xo p e r a t i n gs y s t e mo nt h i sp l a t f o r m u s i n gt h e s em e t h o d s ,t h i sp a p e r d e s i g n e da n dr e a l i z e dt h es o f t w a r ei n t e r f a c eb e t w e e nt h ea d s lt r a n s c e i v e ra n dt h e m i c r o p r o c e s s o ro nt h i sp l a t f o r m t h ep a p e ra l s op r e s e n t e da na p p r o p r i a t em o d e lo f t r a n s m i t t i n gd a t at h r o u g ht h ea t mp r o t o c o lo no u rp l a t f o r ma n dr e a l i z e dt h et e s t i n g s o f t w a r ep r o g r a m k e yw o r d t h ee m b e d d e ds y s t e m ,l i n u x ,s o f t w a r ei n t e r f a c e ,a d s l ,a t m ,m p c 8 5 0 s a r 国防科学技术人学研究生院学他论文 第一章绪论 1 1 嵌入式系统概述 进入2 0 世纪9 0 年代,嵌入式技术得到了全谢的发腱并广泛应用于信息家电、 移动通讯、手持信息设备以及工业控制等领域,成为通信和i 包子消费类产品的一个 重要的发展趋势。未来的几年内,随着信息技术的进一步发展,嵌入式技术也将获 得更广阔的发展和应用空间。 1 1 1 嵌入式系统的基本概念 嵌入式系统是以应用为中心,以计算机技术为基础,并目软硬件可裁剪。适用 于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它 一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四 个部分组成,用于实现对其他设备的控制、监视或管理等功能。 嵌入式系统经历了一个从简单到复杂的发展过程。嵌入式系统特定的应用需求 要求设备尽可能地小型化,与网络的耦合尽量紧密,移动的能力尽量强。这就要求 嵌入式c p u 具有低功耗、体积小、集成度高的特点能够把通用c p u 中许多由板 卡完成的任务集成在芯片内部。嵌入式c p u 的发展要求嵌入式系统的硬件和软件 都必须高效率地设计,量体裁衣、去除冗余。力争在同样的条件下实现更高的性能。 这一点决定了嵌入式系统是一个技术密集、资盒密集、高度分散、不断创新的知识 集成系统。 1 1 2 嵌入式通信平台的开发背景 嵌入式系统与被垄断的通用计算机产业不同,它是一个分散的工业,充满了竞 争、机遇与创新,没有哪一个系列的处理器平| i 操作系统能够垄断全部市场。即便在 体系结构上存在着主流但各不棚同的应j 1 1 领域决定了不可能有少数公司、少数产 品垄断全部市场。因此嵌入式系统领域的产品平技术必然足高度分散的,留下的创 新余地很大。另外,应用领域不断向前发展构成了推动嵌入式系统发展的强大动力。 中国在计算机基础工业上落后于西方国家,在嵌入式处理器上也是如此。但是嵌入 式系统面向应用的特点决定了处理器应川7 l :发的产值要占有蟾个嵌入式工业的大 部分,因此在嵌入式系统方面存在着相当大的发展机会嵌入式系统是我们抢占世 界高新技术舞台的一个很好的切入点。另外,嵌入式系统足信息产业走向二十一世 第l 页 国舫科学技术人学研宄生院学何论文 纪知识经济时代的最重要的经济增长点之一,门:发嵌入式系统必将为国民经济的飞 速发展做出贡献。 开发嵌入式系统对我军武器皴貉现代化j l 7 r 极j e 。畦要的意义。争对于现代化 武器装备的依赖性越来越强。现代武器装符的发胜j | 刍纯之就址小型化、单兵化, 武器装备之间的互连互通变得肛常重要,而这些j 下足嵌入式系统的优势所在。嵌入 式系统不但可以实现基本的互连互通,更可以实现许多增值功能。一个国家的武器 装备不可能总是购买或者仿制其它国家的先进产品,必须研制出属于我们自己的装 备,否则就要受制于人。嵌入式系统的非垄断特性使我们能够开发拥有自主知识产 权的武器装备。嵌入式系统具有软硬件可剪裁的特性其应用范围可以从未来数字 化战场中通信网络的核心组件直到数字化单兵设备,构成我军现代化武器装备的一 个基本组成部分。 1 1 3 嵌入式软件开发 嵌入式系统的特点决定了其软件具有j 【i l 下的特征:响应时问快,并且具有特定 的硬实时性要求;具有处理异步并发事件的能力;具有快速启动、出错处理和自动 复位功能;软件代码质量和可靠性的要求商:应丌j 软件和操作系统之问的界限模糊, 程序通常是一体化设计的。 嵌入式软件的以上特点决定了它的复杂性和创新性为了保证程序执行的实时 性、可靠性,减少开发时间,保障软件质量合理地调度多任务、利用系统资源, 用户必须自行选配实时操作系统( r t o s ) 作为丌发平台,嵌入式系统软件的开发 与r t o s 紧密相关嵌入式系统本身不具备自举_ 丌发能力,即使设计完成以后用户 通常也是不能对其中的功能进行修改必须有单独的丌发工具和环境才能进行嵌入 式软件开发。根据功能需要,嵌入式软件通常对下直接控制底层硬件,对上要与高 层通信协议接口。所以开发嵌入式软件不但要熟悉通用的应用程序开发技术,更要 对操作系统及其实现机理、微处理器体系结构及指令集、通信协议栈、软件的编译 及调试原理等各方面的内容都要有深刻的理解和掌握。另一方面,嵌入式软件开发 技术与各领域具体应用相结合,为我们瞰下了广阔的创新的空问。 早期嵌入式系统开发的全过程( 包括软t :t :平lj 硬件) i i i f 可以i j j 一个工程师完成。软 件开发工作只占全部工作的5 1 0 ;近几年随着硬件复杂性的增加。软件玎发工 作急剧增长,经常达到全部工作的7 0 8 0 。嵌入式系统发展趋势是硬件朝向标准 化方向发展,一个嵌入式系统的主要价值体现谯】c 棚i 应的软件上,嵌入式软件已经 成为嵌入式系统设计创新和增值的关键因素。 1 2 通信开发平台的总体设计 1 2 1 嵌入式微处理器的选择 , 第2 页 图防科学技术人学研究! 晓学位论文 本文选择m p c 9 5 0 s a r 作为微处理器,它是一利- 基于p o w e r p c 内核,以r i s c 体系结构为基础的通用3 2 位嵌入式通信控制器。它是在片集成了微处理器和多种 外设接i :1 的专用通信芯片,提供了高性价比的通信和网络协议处理能力。它提供7 个串行通道,通过灵活的编程方式可以实现对a t m 、e t h e r n e t 、u s b 、t i e i 、h d l c 、 a p p l e t a l k 、b i s y n c 等多种通信协议的支持。 1 2 2 嵌入式通信平台总体结构 以m p c 8 5 0 s a r 为中心。嵌入式通信平台提供了包括e t h e m e t 、r s 2 3 2 r s 4 8 5 、 u s b 、i s d n 、a t mu t o p i a 在内的多种通信接口。下图给d i 嵌入式通信平台总体 结构。在此硬件平台基础上,本文选择相应的嵌入式操作系统,进行了嵌入式软件 的开发工作。 臣蔓巫口 u s b 设备口巫雹塑 卜 串口设备一坠! ! ! 堕壅墨h 串i = 1 设备1r s 4 8 5 收发器hl 圳p c 8 5 0 s r 巨回墅亟圈 则f - = d 时隙 堕叶。ir d 分配器 一o 1 7 0 f i:! ! ! ! 野顾孤罂 + f d s l 收发器i 一 图1 1嵌入式通信平台总体结构 1 3 论文的研究工作 论文工作的主要内容如下: 1 研究了嵌入式l i n u x 下软件丌发的方法和途径。 2 实现了嵌入式通信平台的a d s l 底层驱动和软件接fl 。 3 设计实现了嵌入式通信平台的a t m 数据传输软件。 论文共分为四章。第一章绪论论述了嵌入式系统和嵌入式软件设计的特点,介 绍了嵌入式通信平台的总体设计。第二章研究嵌入式l i n u x 操作系统,重点分析了+ 本文采用的软件交叉开发环境。第三章在对a d s l 通信规程进行详细分析的基础上, 实现了a d s l 驱动和软件接口。第四章在分析a t m 协议和探讨m p c 8 5 0 s a r 如何 实现a t m 协议的基础上,设计实现了a t m 数据传输软件接口。最后,在结束语 中对整个论文的工作进行了总结。 第3 页 豁 国舫科学技术人学研究! e 院学位论文 第二章嵌入式l i n u x 操作系统下的软件开发 嵌入式通信平台上运行的各种任务繁多- ) t q i 实时性婴求商。嵌入式微处理器需 要管理的资源丰富,这些都决定了要在嵌入式通信平台上引入操作系统。 2 1 l i n u x 操作系统 操作系统是计算机系统中的一种系统软件,是一些程序模块的集合。它们能够 以尽量有效合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作 流程,控制程序的执行并向用户提供各利服务功能,使用户能够灵活、方便、有效 地使用计算机,使整个计算机系统高效地运行。操作系统是计算机系统中软、硬件 资源的总指挥部,是应用软件的运行平台。 早期嵌入式系统软件的丌发还是基于处理器直接编写,根本没有操作系统,只 是有一个主控程序而己。这对于简单的嵌入式系统来说可能足足够的,但随着嵌入 式系统在复杂性上的增长,操作系统就显得重要起来。如果不引入操作系统,将使 软件的复杂程度变得极不合理。随着应, r l 】复杂度的提高,嵌入式系统需要管理的资 源越来越多,如存储器、外围设备、恻坌杆协议栈等等。这些资源如果添加到一个只 有主控程序的嵌入式系统上。其复杂性是远远超d | 想象的。所以必须在嵌入式系统 中引入操作系统。 实时多任务操作系统( r t o s ) 是嵌入式成刖软件的基础和丌发平台。r t o s 可以简单地认为是一个功能非常强大的主控程序它嵌入在目标代码中,系统复位 后首先执行,它负责在硬件的基础上为应用软件建立一个功能更为强大的运行环 境,用户的其它应用程序都建立在r t o s 一1 - 。从这个意义上讲操作系统的作用是 为用户提供一台虚拟机,它比底层硬件更容易编程。不仅如此,r t o s 还是一个标 准内核,它将c p u 时间、中断、i o 、定时器等资源都包装起来,留给用户一个标 准的编程接口。r t o s 还根据各个任务的优先绂,合理地杓:不f d 的任务之问分配c p u 时间,从这个意义上讲,操作系统的作用是资源管理器。r t o s 应该具备以下特征: r t o s 是多任务和可抢占的并i 划【c 任务几= f j 优先绂;支持多个任务之间的通信和可 预测的任务同步机制;支持存储器的优化管理、实时时钊t 和中断管理。 r t o s 最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器 管理、存储器管理、资源管理、习f 件管理、系统管理、消息舒理、队列管理、信号 量管理等,这些管理功能是通过内核服务函数形式交给用,- 调用的,也就是r t o s 的a p i ( 应用编程接口) 。 第4 页 国防科学技术人学研究生院学位论文 r t o s 追求的是实时性、可确定性、可靠性。评价一个r t o s 一般可以从任务 调度、内存管理、内存丌销、任务切换i i f n 、最大t i ,断禁d - _ t t , ji j 等几个方面来衡量。 r t o s 的实时性和多任务处理能力在很火程度上取决于它的任务调度机制。从 调度策略上来讲,分优先级调皮策略和时m ”轮转喇度策略;从调度方式上讲,分 可抢占、不可抢占、选择可抢占调度方式:从时n uj i 一l :) k 看分固定时间片与可变 时间片轮转。单纯从基于优先级的抢占式溯度方式而苦,又存在多种优先级计算方 法。 r t o s 的内存管理分为实模式与保护模式。 最小内存开销是r t o s 的重要指标,这足因为实时系统,特别是包括消费类电 子产品在内的嵌入式系统中,基于降低成本的考虑,内存的配置一般都不大。并且 在这有限的存储空间内不但要技载实时操作系统,还要皱载用户程序。所以r t o s 占用内存的大小是很重要的指标。 、 当r t o s 运行在核心态或执行某些系统稠川的州候。不会因为中断的到来而中 断执行。只有当r 1 o s 重新回到用户态l l , t a 会响应外部l l | 断请求,这一过程所需要 的最大时间就是最大中断禁止时问。 当由于某种原因使一个任务退出运行时,i h o s 保存它的运行现场信息、插入 相应队列并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需要 的时间称为任务切换时间。任务切换时删和最大中断禁止时n 是衡量一个r t o s 实 时性最重要的两个指标。 2 1 1 嵌入式l i n u x 与其它r t o s 的比较 选择r t o s 需要考虑的因素不仅仪是上面论述的评价r t o s 的各项指标,还要 综合考虑其它因素,比如价格,r 发:l :j 甚。足甭溺i 码公丌等等。传统可选择的有以 下几种:独立编码( 汇编语言,p a s c a l ,c ,c + + ) 、d o s 、。自己丌发一套内核、 w i n d o w s 、u n i x 以及专用实时系统( v r t x ,o s 9 p s o s ,v x w o r k s ,l y n x o s , q n x 等等) 。然而上述选择都明显存在不足之处。独立编码和d o s 对于目前的嵌 入式应用都已经显得过于陈旧。功能过于简单。资源十分匮乏。难于满足功能及硬 件资源的更新速度。自主开发核心的技术难度过人,j r 发希l i l l y | 6 1 用过高,并且开 发周期太长。w i n d o w s 过于庞大、昂i 妤、不稳定。专j = | _ j 实时操作系统是针剐嵌入式 系统开发的,但是缺乏统一标准,许可证及丌发赞用过高,并且一般源码不丌放。 经过反复比较和多方论证,本文选定嵌入式l i n u x 作为操作系统。 单从操作系统本身的性能来讲,i 妖入式l i n u x 足精简标准l i n u x 的内核后得到 的。它与l i n u x 、u n i x 一脉栩承,继承了u n i x 的绝大多数优点,比如高效的任 务调度,强大的网络功能支持和健壮、稳定、安全的多任务环境等等。并且通过在 l i n u x 内核上加载实时调度器,可以显著地提高l i n u x 的实时性。 l i n u x 本身是源代码公开的。这一特性在今天这个到处都是技术垄断的世界里 显得弥足珍贵,我们可以通过对l i n u x 源代码进行修改从而歌得自有知识产权的嵌 第5 页 国防科学技术人学研究生院学位论文 入式操作系统,进而开发出自有知识产权的应h j 软件,做到不受制于人。这一点对 于我军武器装备的安全性至关重要。 l i n u x 是免费的,不像专用的实时操作系统销要高额的许可证赞用,这样就能 大幅度地减小开发成本。另一方i l i i ,l i n u x 在全世界有成千上万的开发人员支持, 有大量的且不断增加的歼发工具,这一点x t - - j 二j i :发者米说是至关重要的。 2 1 2 嵌入式l i n u x 操作系统原理 2 1 2 1 嵌入式l i n u x 操作系统的结构 嵌入式l i n u x 操作系统是专门为3 2 位嵌入式系统而设计丌发的。它基于g n u 体系结构,以l i n u x 最新稳定发夼版为内核,构建了可定制的硬实时嵌入式操作系 统结构。本文的嵌入式l i n u x 操作系统结构见下图。 f l a s hli d m uu s b i l ;口ii 以太网ii 用户 l 錾麴ll 坚塾ll 塑塾il 型弛1i塑功ii 坚塾; 图2 - 1嵌入式l i n u xj 絷作系统结构 嵌入式l i n u x 操作系统包括l i n u x 内核,完整的网络支持,强大的文件系统, i o 管理等核心功能。嵌入式l i n u x 操作系统的核心部f j | :就是l h 嵌入式l i n u x 硬实时 微内核、板级支持包( b s p ) 、o sl o a d e r 、嘲络以及图形用户接口( x w i n d o w ) 等 组成,见下图。 第6 页 国防科学技术人学研究生院学位论文 图2 - 2 嵌入式l i n u x 操作系统核心部件 嵌入式l i n u x 操作系统的内核是基于l i n u x 的最新稳定发布版加上硬实时调度 器构成的,支持最新的l i n u x 特性。它足源代码级可配置的,提供了源码配置工具, 以使内核根据相应的应用进行必要的裁减与组合。嵌入式l i n u x 操作系统支持多线 程、多进程,支持多任务调度,可以通过外部指令动态地改变各进程的优先级,合 理安排各进程的优先级从而获得最佳的系统响应。系统为每个进程提供了必备的系 统资源,进程之间相互隔离。采用信号量作为任务问同步机制。在内核中有几种类 型的信号量:二进制信号量、计数器信号量、互斥信号量和p o s i x 信号量。它们 是分别针对不同应用需求的。所有这些信号量都是快速和商效的,它们除了被应用 在开发过程中外,还广泛应用在l i n u x 高层应用系统中。对于进程问通信,内核也 提供了诸如消息队列、管道、套接字和信号等机制。例如通过s y s t e mv1 p c 不仅实 现了高效的任务问通信,而且满足了编程的兼容性。 为满足嵌入式系统的实时性要求,在l i n u x 内核的旗础上,嵌入式l i n u x 操作 系统增加了硬实时调度器。这足一利t 抢占式的调度器,川于需要有执行优先权的应 用中,它将本着既定的优先顺序调度执行各实时进程。实时l i n u x 内核可以采用兰 种调度策略:s c h e dr r ,s c h e df i f o ,s c h e do t h e r 。其中前两刹是史时讽 度策略,而s c h e do t h e r 是枥i j c t l - 的调度策略,刚于非实时任务。 s c h e dr r 叫做循环法,是一种分时,享策略。s c h e dr r 任务首先被运行, 并且拥有一个时间片。一旦一个s c h e dr r 任务用完它的时间片,它就会被移到 优先级队列的后面,并释放出它的时间片,这样就允许其它任务在处理器中有执行 的机会。如果除了此任务之外并没有别的任务,这个任务将继续执行,并占用新的 时间片。s c h e df i f o 叫做先入先a j 法,是一种一直运行直到遇阻的策略。 s c h e df i f o 任务根据优先权被抢占地执行,并且一旦丌始就将一直运行,直到 它们完成或者因为受到一些资源的限制( 阻碍) 而不能完成为止。s c h e df i f o 任 务不会象s c h e dr r 任务运行的那样共享处理器。最后,s c h e do t h e r 是一种 吞吐能力调度策略。s c h e do t h e r 任务意图使处理器的吞此能力最大化,同时还 笫7 页 一一一一一一一 扫扫扫扫扫扫扫 国防科学技术人学研究生院学位论文 要保证为交互式用者提供满意的处理速度。为缓解此矛盾,s c h e do t h e r 获得最 佳吞吐量的方法是:一直运行任务,直到该任务受臀l 中断执行或完成。当其它实时 任务出现时,s c h e do t h e r 任务将不会被执行。 实时调皮器使实时任务之f i i j 的上卜义切换的) l :销足阎定的,满足嵌入式系统对 确定性的要求。在内核中实时凋皮器实一种f j i 以增减的选项,极大地提高了系统的 灵活性。如果使用实时调度器必须要在配酣内核时打j - l l 应的选项。 操作系统中的文件系统将存储在物理介质t l 的文件组织成个树状的目录结 构,方便对文件的管理在本文的嵌入武l i n u x 操作系统【 1 文件系统可以支持 多种不同制式文件单独或同时使用支持的文件制式主要有e x t 、e x t 2 、一、a - t 、- 、t - l f 、v m s d o s 、v f a t 、p r o c 、s m b 、n c p 、i s 0 9 6 6 0 、s y s v 、h p f s 、a f f s 、x 1 a 和 u f s 等。其核心为v f s 虚拟文件系统提供了严密的机制与独特的缓存技术,确 保了数据在创建、读写、删除时的安全和性能。另外,文件系统还担负着设备驱动 程序接口的作用。将外部设备统一作为文件来处理,不仅提供了系统级保护,而且 简化了系统设计。便于用户使川。 板级支持包( b s p ) 对各种丌发板的硬件功能提供了统一的软件接口,包括硬 件初始化、中断系统的初始化、硬件时钟和m 卜f 器初始化、 a 部和总线内存地址映 射以及内存分配等等 o s1 0 a d e r 负责将l i n u x 内核加载到内存的某处,并将控制权转交给内核初始化 程序。它的具体工作包括:寻找或者将指定的内核映像解压,解压文件系统,初始 化系统控制台,以及对中断系统、时钊和时器的 i :理。 嵌入式l i n u x 操作系统的网络结构如图2 3 所示。 陕入式l i n u x 操作系统的网 络功能十分强大,通过对f t p 、t e l n e t 、n f s 、g o p h e r 、w w w 、e m a i l 等t c p i p 协议族的支持,以及对其它非t c p i p 协议族的协汉如x 2 5 、a t m 、f r 、i s d n 、i p x 、 a p p l e t a l k 、d e c e n t 、s n a 等的支持,提供了对t c w i p 网络和其它种类网络系 统的透明访问,包括与b s d 套接字兼容的编程接口。远程文件访问( 包括客户端 和服务器端的n f s 机制、使用r s h ( f t p 或t f t p ) 的非n f s 机制以及b o o t p 和 a r p 代理等等) 。 第8 页 嗣防科学技术人学研究生院学位论文 8 而面 i _ j 图2 - 3 嵌入式l i n u x 操作系统网络结构 8 啊丽 设备驱动程序是操作系统的不可分割的j :f i j 分,位于操作系统和硬件设备之问, 操作系统或用户通过驱动程序束控制硬件的_ - - f l ;。一些基本的驱动程序是操作系统 必须提供的,比如对存储器、高速缓存、以太网和 | l 行接口的驱动。用户可以直接 管理上述设备,不用再在这些方砸花j 5 1 i 时m 羽i 梢力这也足操作系统带来的好处。 2 1 2 2 嵌入式l i n u x 操作系统引导过程 下面分析l i n u x 的引导过程。当系统加电后,硬件f 乜路会产生加电复位信号给 c p u ,c p u 通常会跳转到某个地址单元取得指令并执行。在普通的p c 中,该地址 单元存放一条跳转指令,该指令直接跳转到b i o s 中,山b i o s 负责系统的硬件初 始化,7 然后读取主硬盘的第一个扇区的信i 鼠( m b r ) m b r 将会指向l i l o 。由l i l o 负责加载l i n u x 内核并解压,并把c p u 控制权交给解压后的l i n u x 内核。在本文的 嵌入式通信平台中,加电复位会产生复位舛常从i i d 接跳往复位异常中断向量地址 处,通过在此中断向量安放合适的启动代码就可以引导c p u 的运行。本系统中, 加电复位后,m p c 8 5 0 s a r 首先从f l a s hm e m o r y 的o x l 0 0 处执行第一条指令,预先 将这条指令设为跳转指令,执行简单的c p u 内部寄存器初始化、内存管理初始化、 编译器数据指针初始化、让c p u 能够i f 常运行起来并执行c 语言程序;之后再把 f l a s h 中的l i n u x 压缩内核搬到内存中,解压内核,初始化串口,最后让解压后的 l i n u x 内核获得c p u 的控制权。以上就是b o o tl o a d e r 的任务。当l i n u x 内核获得 c p u 控制权后,首先执行的是a r c h p p e k e r n e l h e a d s ,对c p u 重新进行初始化。然 后跳转到内核的起始点s t a r tk e r n e l ,它掌管若内核的运转,足l i n u x 所有函数的起 始点。s t a r tk e r n e l 初始化所有的内核数据结构并丌始”i n i t ”内核线程。i n i t 内核线程 又产生i n i t 进程,由i n i t 进程派生出所有的其他进程从而使内核得到完全的启动。 第9 页 国防科学技术人学研究生院学位论文 在内核得到完全的启动之后,嵌入式l i n u x 操作系统还要进行一些必要的初始 化外围设备以及加载网络协议的工作,通过这些工作使操作系统运行的平台豇三常运 转起来,此后就可以运行应用程序。图2 - 4 说明了嵌入式操作系统的软件执行流程。 加电,启动f 1 a s hm e m o r y r 3 的 b o o tl o a d e r 进行必要的c p i j 初始化 j 上 加载1 i n u x 内核 j 土 内核启动,初始化外设,加载任务。 加载t c p i p 等网络协议 上上 运行应用程序 图2 - 4 嵌入式l i n u x 操作系统软件执行流程 2 1 2 3 嵌入式l i n u x 操作系统下软件开发 图2 给出了嵌入式l i n u x 操作系统下软件) 1 :发的一个完整的过程。 图2 5 嵌入式l i n u x 操作系统下软件刀:发 第1 0 页 国舫科学技术人学研究生院学位论文 2 2 嵌入式l i n u x 软件开发环境 嵌入式系统的特点使得其软件受到时n u 和空n l j f l q ,“格限制,加上运行环境复 杂,使得嵌入式系统的软中t :j i :发变彳l _ 非常困难。嵌入式系统的软件丌发需要在专门 的丌发平台上进行交叉开发,歼发环境与运行环境不同。丌发平台叫宿主系统而 嵌入式系统的运行系统f i t i 目标系统。l 妖入式系统的软件交叉丌发环境对歹1 :发安全可 靠、高性能和复杂的嵌入式系统起着非常重要1 1 勺作用。 如上所述,由于嵌入式系统自身的特殊性。受限于嵌入式系统自身资源与空间 的限制,嵌入式系统的软件开发一般采用主机目标机模型, 嵌入式实时开发环境运行在- 刀发主机上,开发主机可以是工作站、p c 机等, 其上运行的操作系统多为u n i x 、w i n d o w s 等工具丰富并且界面友好的系统平台。目 标机是我们要开发的嵌入式硬件平台。主机和目标机之问通过串行口、以太网、仿 真器或其它通信手段相联系。用户所有的丌发工作在主机开发环境下完成,包括编 码、编译、链接、调试和下载等工作。生成的e l 标代码通过申行口、以太网或其它 通信手段下载到目标机,应用程序在目标机上执行,用户可以使用基于主机的开发 环境所提供的调试工具调试运行在目标机上的应用程序。这种丌发环境除了能够开 发出处理器的全部功能外,还应当是用户友好的。 2 2 1 交叉编译的概念 交叉编译就是在一个平台上生成另一个平台上的可执行代码。这里的平台包含 两方面的概念:体系结构( a r c h i t e c t u r e ) 和操作系统( o p e r a t i n gs y s t e m ) 。同一个 体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结 构上运行。 使用交叉编译有时是因为目的平台上不允许或不能够安装我们所需要的编译 器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无 法运行我们所需要编译器;有时又是因为目标平台还没有建立,连操作系统都没有, 根本谈不上运行什么编译器。在本文中当目标平台启动之后,出于目标平台上资源 的限制,编译大型用户程序时就需要用到交叉编译。 本文在主机平台上开发程序,并在这个平台上运行交叉编译器,编译我们的程 序:而由交叉编译器生成的程序将在目标平台上运行 本文采用的交叉编译调试工具集主要包括如下组件。编译器采用 p o w e r p c l i n u x g e e ,这是专门为在p o w e r p c 体系结构下交叉编译用户程序而开发的 编译器。 嵌入式l i n u x 操作系统采用的应用程序调试工具是g d b ,使用基于以太网的远 程交叉调试方式,g d b 分两部分运行,一部分是运行于目标系统的服务器。口l i 做 g d b s e r v e r ,另一部分是运行于开发主机上的客户机程序。g d b 是一个命令行调试器, 第1 1 页 国肪科学技术人学研究生院学位论文 它允许开发者单步执行代码、设簧断点以及打印出变量值等。使用这些手段,可以 逐步缩小问题所在的区域g d b s e r v e r 非常小只占用很少的目标系统资源;o d b 客户机程序是通过开发主机上所调试程序的拷贝来访为符号信息的这又进一步精 简了目标系统运行的可执行代码。使它占用的空f j 极小。当以这种模式调试应用程 序时,g d b 主要提供了三种功能: 让程序在特定的条件下终止: 当程序终止时,可以检查程序的状态; 允许有意改变程序的状态或变量的值,以此观察程序缺陷的效果。 g d b 可以用来调试g e e 、g n uc + + 和汇编语言程序为了能够应用g d b 来调 试程序,需要在程序的g c c 编译过程中打歼噜选项在程序中加入调试符号。 交叉编译调试环境见下图。 圈2 - 6 嵌入武l i n u x 下的软件交义j r 发环境 2 3 小结 本章介绍了r t o s 的基本概念,阐述了选择嵌入式l i n u x 的原因。重点对嵌入 式l i n u x 的原理,在嵌入式l i n u x 下刀:发软件的一般过程以及丌发环境进行了分析, 为本文后续的软件开发工作打下了基础。 第1 2 页 田防科学技术人学研究生院学位论文 第三章l i n u x 下a d s l 软件接口设计实现 本章着重讨论嵌入式通信平台的重要成用a d s l 宽带接入足如何实现的。 其中最重要的工作就是实现a d s l 收发 器引袄入式微处理器之l j 的软件接i i 包括 对a d s l 收发器的底层驱动主要目的是鼗在系统启动时对a d s l 收发器进行初 始化,随后经过一系列的状态转换,最终实现a d s l 传输信道的建立。在这之后; 系统就可以通过a d s l 传输信道进行用户数据的渤速传输 3 1a d s l 原理 3 1 1a d s l 系统的组成 a d s l 高速数据传输系统主要由局端设备和用户端设备组成。局端设备一般是 d s l 多路复用器( d s l a m ) 负责将多路用户数据复用后接入到各利,骨干网络中。 用户端设备通常称为a d s lm o d e m ( 见图1 1 ) 。为用户提供接口,完成用户端 a d s l 数据的接收和发送,使用户能够通过高速数据通道接入宽带网络。a d s l m o d e m 由嵌入式通信平台和a d s l 收发器组成。嵌入式通信平台提供了以太网接 口作为a d s lm o d e m 的用户接口a t mu t o p i a 作为广域网接口以及存储器件 ( s d r a m 、f l a s h ) 等等特别是微处理器作为主控芯片要保证m o d e m 两端的 数据传输速率的匹配,同时要保证启动过程中数据传输的训练和状态的转换,完成 对a d s l 收发器的状态监测和控制,是整个a d s lm o d e m 系统的核心。 3 1 2a d s l 收发器硬件结构 本文实现了a d s l 收发器到处理器的软件接口a d s l 收发器主要用于a d s l 数据帧的组帧、解帧、接收、转发和发送,提供数据上a d s l 信道前的线性驱动和 收发器本身与通信控制器的接口徽处理器通过a d s l 收发器的主机接口i 乜路来控 制它。a d s l 收发器主要由d s p 和a f e 两部分组成。d s p 在o l o b e s p a n 的术语中 又称为i p u ( 内部处理单元) ,完成主机控制接口、数据传输接口、a d s l 成帧器 和d m t 调制,a f e 完成a d 、d a 转换和线路信号的滤波。本文采用g l o b e s p a n 公司的a d s l 收发器。其基本结构见下图。 第1 3 页 国防科学技术人学研究生院学位论文 图3 - 1g l o b e s p a na d s l 收发器躯本结构 在g l o b e s p a n 的设计中,一个收发器也可以也禽多个d s p ,诅! g l o b e s p a n 的术 语中称为i p u ( 内部处理单元) 1 本文设计的a d s i 。驱动承i 软件接1 2 1 中考虑了多个 i p u 的情况,这样做是基于可扩展性的考虑。日i j i 水文的潋汁中只用到了一个d s p 的情况。 d s p 中包含八个寄存器,分别是配筒寄存器、简位地址寄存器、低位地址寄存 器、外部数据寄存器、中断寄存器、高位数据寄存器、低位数据寄存器、掩码测试 寄存器。对收发器的控制就是通过对这些寄存器进行没援和读写来实现的。通过对 配置寄存器的设置可以规定对收发器内存的滇。0 力式。可以有币常读写、自动换 页读写、自动增量读写、d m a 读写等四种方式。对收发器内存的读写力式与系 统采用的中断方式和总线方式也有关系,在发错:配胃寄存器时需要声明。在高位地 址寄存器之中存储了内存地址的段地址,i 酊让低位地j :i | = 奇存器l 存储的姓偏移量。 对于不同的处理器。a d s l 收发器可以采川4 i 矧的总线模式米与之进行接口。 共有三种总线模式:复用模式、通用的非复用模式和非复用的m o t o r o l a 模式。复用 模式对应的是i n t e l 体系结构的处理器,在此模式下,地址与数据总线足复用的。本 文采用的嵌入式微处理器是m o t o r o l a 的m p c 8 5 0 s a r 。所以采用m o t o r o l a 总线模式。 3 1 3a d s l 收发器与嵌入式微处理器之间的软件接口 a d s l 收发器与嵌入式微处理器之问的软件接口完成微处理器对a d s l 收发器 的控制。软件接口由处理器模块、收发器软件模块( 简称t s m ) 和i o 模块组成, 见下图。 第1 4 页 国防科学技术人学研究m 院学f 扛沦史 嵌入式通信;卜台 处理器模块 收发器软仆模块 t o 模块 a d s i 收发器 图3 - 2a d s l 与微处旦i ! 器的软件接i 一 处理器模块是实现a d s l 收发器功能的k 控挫序,实现了a d s l 信道建立过程 中的任务调度。简要地说,就是通过向a d s l 收发器发 i 一系列的任务指令,并通 过调用收发器软件模块来完成这些任务最终实现对a d s l 收发器的控制。 f o 模块实现的是依赖于a d s l 收发器硬件的底层驱动完成对a d s l 收发器 d s p 的读写操作,并且对d s p 进行硬f f i :复位。i 0 模块被t s m 代 i :1 5 所调j 1 j a d s l 收发器初始化和建立信道所需要的目标代码的卜载就足通过这些i 0 模块完成的。 收发器软件模块的主要功能是:配置a d s l 收发器d s p ,使能处理器模块调度 的任务并最终完成这些任务,实现能够完成各种命令的t s m 状念机,状取系统运 行的状态信息,向d s p 中下载程序代码并i l 提供与j i c 控程序w h i p 的接口。 收发器软件模块中还包括d s p 目标代码,其功能是控制收发器内部操作,其组 织形式为包含不同的数据数组的多个c 语卣文件。j 川,最主要的足命令表文件,然 后是一些执行这些命令过程中所需要的数据文件。凶为a d s i 。收发器上的资源是非 常有限的,所以将这些目标代码存储在:t - : j l 的r o mi f i 。在需要的时候下载到收发 器的r a m 中执行。 软件接口的三个模块之问存在着a d s l 收发: ;棚i 天数猁的传递,这样就需要设 计包含了a d s l 收发器基本信息的数据结构。 蜜p 尖 i , 国防科学技术人学研究生院学似论文 任务命令表初始位涵! ( c m d _ s t a r t ) 当d u 状态( s t a t e ) t s m 内部处理器选择( w h 灿一i p u ) 命令表指针( t a be _ p n i ) 状态机参数 ”1 i j u 命令类型( t y p e ) 当l j i 命令结构当i j i 命令数据偏移厨( o f f s e t ) 当i 】 命令的下一条命令( n e x t ) 收发器硬中:地川: 命令表指针表初始化指引( p n t c m d p n t ) 命令表初始化指针( p n t c m d ) 目标代码指针 目标代码初始化指针 中断使能标忠 任务执行标志 图3 - 3a d s l 软件接i = = l 丛小数抛结构 图中的数据结构可以分为三个主要部分。第一 ;f ;分足t s m 状念机参数;这是 一些与任务有关的变量,系统当前给a d s l 收发器下达的任务的有关信息反跌在这 些参数中。每一个任务都是分解为许多细粒度的命令来完成。所以任务相关变量应 该包括当前任务映射在命令表文件中的起始位谶、当施执行到的命令在命令表中的 位置、执行命令后的当前状态,以及孩任务所使1 1 j 的内部处理单元( i p u ) 。对于每一 条命令,其内容是由当前命令结构描述的。 第二部分是a d s l 收发器的硬件地址。当系统期i 也或者复位时,在处理器模块 中设置这些硬件地址并通过i 0 模块实现a d s i 。收发器的硬件地址到系统内存的 映射,这样才能对a d s l 收发器进行操作。 第三部分是由多个分别指向不i 刊d s ph 标代码的指针所 u 成。其中最重要的指 针是指向命令表文件的。其它指针则指向了执行命令所需要的代码。指针的初始化 设置是在收发器软件模块中收发器参数设置了摸块i ,实现的。 收发器软件模块提供了允许通过一个处理器米控制多个a d s l 收发器的能力。 这样做是基于系统可扩展性方而的考虑。块a d s i 。卜i :,叮以安排多个收发器,不 但充分地利用了m p c 8 5 0 s a r 的强大的处理能力,而且为今后快速升级到a d s l 局端设备打下良好的基础。因此,在软件接 1r l i 需要为每个a d s l 收发器都设置相 应的数据结构。为此定义一个指向基本数据结构的数组1 陔数纰的每个元素就对 第1 6 页 国防科学技术人。7 :训f 毵生i 皖| ! ;= :能论文 应了一个a d s l 收发器的基本数拊结构,微处理器通过软件接和a d s l 底层驱动 代码对代表每个收发器的数组冗素进行搽作,就实现了对每个收发器进行控制。在 本文中的实现是一个微处理器控制一块a d s l 收发器,所以i | i i i 将数纽元素个数设 臀为l 。 基本数据结构是软件接口三个组成嚣l j 分之m 发生联系的桥梁。卜两的儿节分别 重点介绍软件接口各个模块的功能、实现方法以及它们如何有机地组织到一起,协 调统一地实现a d s l 收发器的功能。 3 2a d s l 收发器底层驱动( i o 模块) 的设计 3 2 il i n u x 的地址及其管理机制 l i n u x 采用虚拟内存机制。f j 户程序所见到的内存地址,l :不直接对应于硬件所 使用的物理地址。虚拟内存机制引入了个j 1 i j 接j 。;的概念,这样做有很多好处。使 用虚拟内存,运行在系统上的程序可以分配比实勘:物理内存火得多的内存空问,虚 拟内存机制也允许将外围设备的内存空州映射到系统i 存空间。 内存映射为用户程序提供了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国民航大学《房屋建筑学双语》2023-2024学年第二学期期末试卷
- 四川应用技术职业学院《临床免疫学及检验》2023-2024学年第一学期期末试卷
- 江西省高安市第四中学2024-2025学年初三2月化学试题模拟试题含解析
- 漯河职业技术学院《综合商务英语(1)》2023-2024学年第二学期期末试卷
- 郑州澍青医学高等专科学校《医疗与生育保障》2023-2024学年第二学期期末试卷
- 山西农业大学附属学校2025届初三3月线上考试化学试题含解析
- 浙江传媒学院《控制论基础》2023-2024学年第二学期期末试卷
- 云南省勐海县第三中学2025年高中毕业生班阶段性测试(三)英语试题含解析
- 铜仁幼儿师范高等专科学校《经典创业案例分析》2023-2024学年第二学期期末试卷
- 浙江东方职业技术学院《预防医学创新实验》2023-2024学年第二学期期末试卷
- (三诊)绵阳市高中2022级高三第三次诊断性考试 英语试卷A卷(含答案)
- 中职语文静女教案
- 2025年执业兽医备考攻略完美版
- 2023年中国铁路上海局集团有限公司招聘3163人二(高职院校)笔试参考题库附带答案详解
- 内墙石膏抹灰合同样本
- 猪场6S管理培训资料
- 2025随州高新技术产业投资限公司工作人员招聘【24人】易考易错模拟试题(共500题)试卷后附参考答案
- 人教版2024-2025学年度八年级下册物理期中模拟测试卷(含答案)
- 武汉数学四调试题及答案
- 生物制药考试题(附答案)
- 消防安全知识四懂四会
评论
0/150
提交评论