(通信与信息系统专业论文)面向教学的嵌入式系统软硬件平台的构建.pdf_第1页
(通信与信息系统专业论文)面向教学的嵌入式系统软硬件平台的构建.pdf_第2页
(通信与信息系统专业论文)面向教学的嵌入式系统软硬件平台的构建.pdf_第3页
(通信与信息系统专业论文)面向教学的嵌入式系统软硬件平台的构建.pdf_第4页
(通信与信息系统专业论文)面向教学的嵌入式系统软硬件平台的构建.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(通信与信息系统专业论文)面向教学的嵌入式系统软硬件平台的构建.pdf.pdf 免费下载

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

文档简介

华末师范大学硕士学位论文 摘要 随着半导体技术、计算机技术的高速发展,嵌入式系统已经遍布人们生活 的各个方面,并且会应用的更加深入广泛。社会需要大量的人才投入到嵌入式 系统的研究和应用开中,高校应该发挥自身培养人才的重要作用,满足社会需 求。在嵌入式系统教学中,软硬件平台的选择非常重要,既要体现技术发展的 潮流,又要兼蹶学生的知识背景基础,做到循序渐进。本谍题研究的目的旨在 构建一个这样的平台。 我们根据自身在嵌入式系统开发方蘑积累蛉经验,自主设计开发了基于 a t m e g a l 2 8 的多功能嵌入式系统开发板。嵌入式系统中使用操作系统是个趋势, 所以我们引入源碣开放的嵌入式实时操 乍系统扼o s i i 作为操作系统平台。它 的代码绝大部分用c 编写,简洁易懂,结构清晰,层次分明,并且有大量的移 植范例可以参考,很适合教学使用。 本文首先介绍了嵌入式系统的基本概念和软硬件的特点。然后对a t m e g a l 2 8 嵌入式系统开发板的设计思想,功能特点,各个模块作了介绍。屺0 s i l 是乎台 控制调度的核心,我们分拆了它的内核特点,苞括临界毅处理、任务管理和调度、 任务问通信、中断处理等,并在a t m e g a l 2 8 上进行了移植。虽然我们不是研究如 何设计一个操作系统,但是,理解操作系统姻基本原理和关键技术,对软件设计 楚很有帮助的。基于此o s i i ,我们构建了几个应用模块,对操作系统支持下 的软馋设计毒勾架进l 亍了讨论。 基于t c p i p 协议的以太网已广泛应用予现代家庭和工业控制的各个领域, 它可以为远程数据采集、远程监控提供可靠的技术像障,提高人们的生淫效率。 我们基于小型t c p i p 协议栈u i p ,实现了a r p 、i c 肿、i p 、t c p 、h t t p 等协议功 能,搭建了自己的w e b 服务器,可以浏览网页,并对远程设备进行筵单控制。 关键字:嵌入式系统虻o s i it c p i pw e b 服务器 华东卿范大学硬士学位论文 a b s t r a c t w i t ht h eh i g h s p e e dd e v e l o p n l e n to fs e m i c o n d u c t o rt e c h o n o l o g y ,c o m p u t e r t e c 圭l n o l o g y ,e m b e d d e ds y s t e m sh a sg o n ed e e pi n t oa 珏t h e e l d so fo u rl i v e s ,m a l l y p e o p l e a r en e e d d e dt ow o r k f o r 也e a p p l i c a t i o n 趾dr e s e a 托ho fe m b e d d e d s y s t e m s u n i v r s i t i s es h o u l dc u l t i v a t em o r ep r o f e s s i o n a ls t u d e n t sf o rs o c i a l t y t h e s o f t w a r ea i l dh a r d w a r ep l a t f o m li sv e r yi m p o n a n ti n 也ec l a s s r o o m t h i sp a p e ri sa i m t o 孤i l ds u c hap l a t f b 弧w h i c 圭l to n l ya c e o 磁sw i t ht h et e c h n o l o g yd e w l o p m c 丑t t i n d b u ta l s oc a r em o r ea b o u t 也es t u d e n t s k n o w l e d g eb a c k g r o u n d w ed e s i g n e dt h ea t m e g a l 2 8 b a s e dm u l t i f u n c t i o ns t a n w k i ta c c o r d i i l gt oo l l r e x p e f i e n c e si nd e v e l o p i n g 哪b e d d e ds y s t o m s w e l l ,e m b e d d e ds y s t e m st e 醚st o 醚a p t o p e r a t i o ns y s t e m ,a n dw ec h o o s ee m b e d d e dr t o s 睢c 他s i i a so u fo sp l a 怕糯。 m o s to f c o s - i ii sm m e ni nh i 曲1 yp o r t a b l ea n s lc ,e a s yt ou n d e r s 协n d ,h a v i n g c j e a ra r c h i t e c t u f ea 1 1 dm a n yp o n i n gr e f 相1 c e s ,s oj ti s v e r y s u i 协b l ef o r 蜘e c l a s s r o o m t h i sp 印e rf i r s ti n 臼d d u c e st h cg e n c r a lc o n c e p t sa l l dh a r d w a 婚毙s o r w a r e c h a r a c t e r i s t i c so fe m b e d d e ds y s t e m s ,m e np r e s e n t 8t h em o d u l e sa n d c t i o n c h 黝c t c r i s t i co ft h e 觚r n e g a l 2 8 - b a s 醚s t a n k t 。p c o s l ii so u ro p e m 畦o ns y 咖m p l a t f o m l w ea n a l y s e i t s c o r e ,i n c i l l d i n gc r i t i c a s e c t i o n ,t a s tm a n a g e m e n ta n d s c h e d u l e ,i n t e r t a s tc o m m u n i c a t i o n ,i n t e m l p t s a n ds o o n ,a l l d p o r t i t o n a t m e g a l 2 8 。t h e nw eb u i l ds e r a la p p l i c a t i o nm o d u l e sb a s e d 肚c o s - i l ,a n dd i s c u s s t 魏es o 盘w a r ed e s 适珏a k h 沁c t u r ew i 斑0 ss 珏r p o r t e t h e r n e tn e t w o r kb a s e dt c p i pp r o t o c o l sh a sb e e n 印p l i e di nm o d e mh o m ea n d i n d u s t r y c o n t r o f i e l d ,w h i c hp m v i d cr e l i a b l e t c c h n o l o g y f o rr c m o t ed a _ t a a c q u i r e m e n t ,r e m o t em o n i t o f ,a n 硅p 煳o t e 也ee 接e i e 珏c yo fo u fl i v e s w ei nt h i s p 印e ri m p l e m e n t e dt h ea r p ,i c m ri p t c p ,h w pp r o t o c 0 1 sb a s e dm i n it c m p s 诅c k su i p 觚d b u i l d i n go ww e bs e r v c r w h i c hp r o v i d et 1 1 ef u n c t i o no f b r o w s i n g s t a t i cw e bp a g e sa n dr e m o t e l yc o n t r o ls o m ed e v i c e s k e yw o r d s :e m b e d d e ds y s t e m s“c o s - i it c p ,i pw e bs e r v e r l i 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及 取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文 不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重 要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名:型:日期:之! :三! 1 7 学位论文授权使用声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学 校有权保留学位论文并向国家主管部门或其指定机构送交论文的电 子版和纸质版。有权将学位论文用于非赢利目的的少量复制并允许论 文进入学校图书馆被查阅有权将学位论文的内容编入有关数据库进 行检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在 解密后适用本规定。 学位论文作者签名:私 导师签名:刘如 日期: 丝兰垒兰:1 7日期:丝堑:! :! ( 第一章弓l 言 l 。l 本文研究的背景与意义 隧蓑半导体技术、计舞枫技术和电子通信技术的发展,随着社会需求的增 加,嵌入式系统已经渗透到人们日常生活的各个方面。与通用计算机系统相比, 嵌入式系统的保有量趸前翡的几十倍,甚至上西倍。其形式多样,几乎包括了 我们周阉的魇有电气设簧,如电子手表、m p 3 、p d a 、电视枫顶盒、手机、微波 炉、p o s 枫、电予医疗设备、蠡动取款设备等等,已成为了“羌处不在的计算 机”,在工业控制、手持设备、便携设备和各种数髑产品中,都有它们的存在。 在后k 对代,嵌入式系统将囱移动化、网络亿、智能诧等方丽发展。这必然会 扳大的辆袋嵌入式应用的广度和深度,体现嵌入式系统与实际应用密切结合的 价值。舀前世界嵌入式系统的硬件和软件开发工具市场价值约2 0 0 0 亿美元,嵌 入式系统带来的工业棼产馑达一万亿美元。 同时,各种毅技术也凌嵌入式系统中不断地锝到应用。芯片的集成度越来 越高,集成了更多的存储器和丰富的步 设接弱,极大的增强了芯片的褴黥,这 类s o e 芯片正在成为嵌入式系统豹主流器件。在分布控青l 、柔瞧制造。数字优 通信和数字化家电的巨大需求的牵g | 下,其应用领域进一步扩大f 2 1 。随着处理 器性能的掇高,嵌入式软件的规模也发生指数鼗增长,嵌入式纛用已其餐高度 复杂和智能化的功能。软件的实现从某种意义上说决定了产品的功能,已成为 叛产品成功与否的关键因素【2 l 。为了有效的控制管理整个系统,保涯茭实时犍 帮可靠性,嵌入式系统已大量采惩嵌入式实对搡作系统( r 里o s ) 。 中阐经济的持续快速增长,为我阐的嵌入式产品提供了睡大的市场。加快 嵌入式技术的开发虚用、掌握嵌入式开发的核心技术,对于中国鲍发展至关重 要。发展嵌入式技术,人才是最关键的。高校斑该积极承担起为社会培养和臻 调入才的重任。但是,就我国因前的工科教窍丽言,存在重理论谫述两轻实践 环节训练、重对传统的继承而轻对现状的突破和创新等众多闻越。反映在教学 上,就是不具备提离鑫主开发能力的训练条馋,鑫开设豹相关课穰教学蠢容陈 | 目,无法满足嚣新兵弄的新技术燮革的需要,耨噩广度有限,深度不够。另一 方面,嵌入式系统的开发应用,涵盖了模拟电路、数字电路、微机原理、单片 机系统、程序设计、操作系统、编译原琏、数据结构等多学科的知识,很难通 过一疆门课来解决。它楚各学秘的综合疲用,躐鼗,在嵌入式系统教学上,对 教学双方都提出了更琏的要求,增加了教学的难度。 国内教育界在如何开展嵌入式系统教学上,进行了许多讨论。课程和实验的 设嚣上,软硬件环境的选择上,既要体现技术发展的潮流,满足社会需求,又要 兼顾学生的知识背景基础,做到循序渐进。特别的,进行嵌入式系统应用的学生 绝大部分都是韩计算机专业豹,把嵌入式操作系统弓l 入教学时,学生铝没岿要将 主要精力花在研究操作系统上,而是要把难要精力放在所研究的专业上,他们需 要的是把计算机专家们研究的成果直接拿来使用,只要知道r t o s 的原理,会使用 就可以了引。因就,构建一套德会对伐发麓和教学实际的软硬 牛系统,培养学生 的剞新实践能力,就显得格外重要了。基于这种想法,我们根据自己在嵌入式系 统开发方面积累的经验,进行了一些有益的探索。自主汗发了基于a t m e g a l 2 8 的 多功能嵌入式系统开发板,并且选择源码开放的嵌入式实时操作系统屺o s 一1 i 作 为控制调度的核心。期望通过我们的工作,侵得焉户能基本掌握嵌入式系统开发 的流程,能够熟悉基本模块和高级模块的开发,熟悉操作系统支持下的软件流程 的开发。对他们进行嵌入式系统的开发,起到指导提高的作用。 1 2本文的研究内容 在嵌入式系统教学的改革中,国内外多家高校和公司推出了自已豹嵌入式 系统软硬件平台,大部分都楚基于嫩n 娃处理器和l i n u x 、比l i n u x 或其他商监 嵌入式操作系统的。3 2 位a r m 处理器在这几年中得到了广泛的应用,占据了3 2 位处理器过半数的市场份额,国内基于a r m 的嵌入式系统教学已开始起步。a r m 处理器在功能,处理速度较以往的8 短处理嚣都有较大盼提裹,健蒸内孩体系 结构也是比较复杂的。因此对于渴望快速入门的嵌入式系统爱好者来说,要 熟悉a r m 工作原理,熟练进行编程,需要较长的过程。8 位处理器的教学在我 因进行了很长时间,有着广泛豹应用基础。如果能从瘫档8 位处理器出发,进 行嵌入式系统教学改革提离。不失为一种折中的好方法。 本文就是基于上述考虑,选择高档8 位单片机a t m e g a l 2 8 作为嵌入式系统 扳的核心处理器。a t m e g a l 2 8 虽然只是8 位处理器,儇却集中体现了现代芯片 s o c 的设计理念,片肉集成了大容囊的f 1 8 s h r 酬、r 捌嗣e 爷r 嘣,j 丕有丰富的 外设接口,如u s a r t 、1 2 c 、s p i 、a d 等,极大的扩展了芯片的应用。我们注意 到,市场上许多嵌入式系统开发平台,选用的操作系统是l i n u x 或者加l i n u x 。 它们虽然功能强大,也套源碣,但是内核太大,太复杂,对于;# 计算捉专业豹 闻户来说太难了。且又要占用较大的硬件资源,增加了系统开销。其他商用的 操作系统,如v x w o r k s ,w i n c e 等,对于教学研究来说,价格太昂贵。对于操作 系统的选择,我们认为在教学上用扼o s i i 比较合适。它的代码绝大部分用c 编写,麓洁易懂,结构涛晰,层次分明,有大量豹移植范例可以参考,且蜒o s 1 1 的作者j e a nj l a b r o s s e 先生针对该操作系统专门写了嵌入式实时操作系 统蜒o s i l 一书,对其进行了详尽豹介缨。遮对于转计算桃专业但又想了解 操作系统基本结构和工作原理的广大用户来说,是个 常好的选择。 本文介绍了a t m e g a l 2 8 嵌入式系统开发板的设计憨憨,在上面移植了 屺o s i l 操作系统,对移檀过程中的要点送行了详细的阐述。对基本模块的底 层驱动进行了开发研究,重要的怒,这些驱动都是在心o s i i 的支持下完成的。 相对于无操作系统时的软件结构设计,在嵌入式实时操作系统下编写应用程序, 有其规律性。如何深入理解操作系统的相关概念,并在实际应用中砸确使用, 这方两的范倒不多,笔者根据自己的开发经验, 鼓了一些探讨霸研究。 随着因特网技术的成熟、带宽的提赢,嵌入式系统网络化、信息他的要求 翻蔻提高。未来的嵌入式设备为了逶应网络发展豹要求,必然要求硬件上提供 备瓣网络透信接口。为了适应时代的需要,我霄j 特遮设计了纂于网络接日芯片 r t l 8 0 1 9 a s 的网络控制模块。同时,移植了小型t c p i p 协议栈u i p ,实现了简 单的嵌入式w 曲s e r v o r 的功能。 l 。3本文的组织结构 本文的内容安摊如下: 第一搴弓l 苦。 第二章嵌入式系统概述。讨论嵌入式系统的一臻基本概念以及软硬件特 点,强调嵌入式操作系统在嵌入式系统中的重簧性,最最奔缁了选择何种嵌入 式操作系统用予教学。 第三章软硬传平台。首先介缓了a 秘n e g a l 2 8 嵌入式系统开发板豹设计思 路,及各个模块的组成情况。然质分析了虻o s i i 的特点和内核结构,鬟点实 现了蜒o s l i 在开发板上的移植,并对心o s i l 的中断处理进行了重煮说明。 研究了系统任务的划分,任务间通信和同步的几种方式,临赛区的僳护等关键 问题。 第强章基本模块的构建。谈论在蛇o s 1 1 支持下,如何按照模块化设计的 思想构建自己的应用系统。以开发板中的串弦通信模块和按键摸块为例,讨论 底层驱动、中闻层软件以及废用层如俺设计,尽量使褥模块做到可熏用。 第五章代i p 构件豹实现。介绍了开发板中噬太网控制部分的硬件连接, 分析在嵌入式系统中如何简化t c p i p 协议族。我们移植了小型t c p ,i p 协议栈 u l p ,成功实现了剐抻,l c m p ,d ,t c p 等协议功能。最后,基于h t t p 协议, 构建了自己的w 曲服务器,自& 够浏览网页和控制远程的设备。 第六章总结与展望。 第二章嵌入式系统概述 2 1 嵌入式系统简介 计算机是2 0 世纪人类最伟大的发明之一,也是2 0 世纪科学技术发展的三 大主题之一。进入2 1 世纪,计算机技术正进入充满机遇的阶段,即“后p c 时 代”或“无处不在的阶段”。无处不在的计算机包括通用计算机和嵌入式计算机 系统,且9 5 以上都是嵌入式计算机系统,并非通用计算机。嵌入式计算机系 统在应用数量上远远超过了各种通用计算机。一台通用计算机的外设就包含了 5 1 0 个嵌入式微处理器,例如键盘、硬盘、显示卡、m o d e m 、声卡、打印机 等 2 1 。 嵌入式系统已渗透到日常生活的各个方面,形式各样,名称各异。更多的 时候,它们表现为控制能力,而不是直接的计算能力。因此,给嵌入式系统下 一个精确的定义就显得十分重要。i e e e ( 国际电气和电子工程师协会) 的定义 是:d e v i c eu s e dt oc o n n o l ,m o n i t o r ,o ra s s i s tm eo p e r a t i o no f e q u i p m c n t ,m a c h m e r y o rp l a n t s ( 用于控制,监视或辅助其他设备、机器和车间的设备) 。该定义主要 是从应用的角度来描述嵌入式系统,并没有充分体现出嵌入式系统的特点。目 前国内一个普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为 基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗严 格要求的专用计算机系统。 嵌入式系统与通用计算机系统相比,具有以下一些特点: 1 ) 嵌入式系统通常是面向某种特定应用的。 嵌入式系统是为了某种专用的功能而设计的,是与应用紧密结合的,一般 要针对其应用环境,进行硬件的选择和软件的重新编写。这与通用计算机系统 不同,通用计算机可以完成不同的功能。因此,嵌入式系统在设计时,针对其 完成的特定功能,在硬件设计和软件设计上,更多的考虑的是专用性而非通用 性。 2 ) 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余, 力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中使处理器的 选择更具有竞争力。 3 ) 嵌入式系统常常还有减小功耗的要求。这一方面是为了省电,因为嵌入 式系统往往以电池供电;另一方面是要减少发热量,因为嵌入式系统常常没有 风扇等排热手段1 6 j 。 4 3 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存 储器芯片或单片机本身中,两不是存贮于磁纛等载体中。 4 ) 嵌入式系统开发需要专门的开发工具和特殊方法。 通用计算机系统的稷序通常在同一台或者同一类系统上完成系统的开发和 运行。由于嵌入式系统资源有限,一般不具备自主开发能力,产品发商履用户 通常也不能对其中的软件进行修改,必须有一套专门的开发环境。该开发环境 提供专门的开发工具,采用交叉开发的方式进行f 越,在其纯硬传平台上完成编 译,得到可执行的二进制代码,然后再在嵌入式系统上运行【4 】o 交叉开发环境电宿主枫帮霹标梳组成。宿主瓿般采用逶用计算撬系统, 是主要的开发环境,开发工具的大部分工作由它完成;目标机就是嵌入式系统, 楚所开发应丽的执行环境,并配合宿主机的开发工作f 2 】。 5 ) 嵌入式系统有实时性和可靠性的要求。 嵌入式系统不同于通用计算机系统,其都有一定的实时性要求1 4 1 。所谓实 时性1 5 l ,是指系统豹某令饪务必须在某一个时阂点莉完成,否则裁会对攘个系 统造成一定的损失。嵌入式系统对实时性的要求表现在两个方面:一方面大多 数实时系统都是嵌入式系统;舅一方面,嵌入式系统多数有实时性豹要求,虽 软件一般是固化运行或直接加载在内存中运行的,具有快速启动的特点。嵌入 式系统对实时强度耍求各不一样,可分为硬实时系统和软宴时系统 2 】。 嵌入式系统一般要求具有出错处理秘自动复位功能,特别是对于一些在极 端环境下运行的嵌入式系统而吉,其可靠性设计尤其重要。在大多数嵌入式系 统中一般都包括一糍硬侔和软件机制来保证系统豹掰靠性。比如硬件看门猜定 时器,它在软件失去控制后使系统重新正常逡行。软件的可靠性机制包括内存 保护和重启机制等1 2 j 。 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的 其体应用媚结合霜豹产物。这一点就决定了它必然是一个技术密集、资金密集、 高度分散、不断创新的知识集成系统。 从某种意义上来说,通丽计算机行泣的技术是臻断的。占整个计算机行业 9 0 的p c 产业,8 0 采用i n t e l 的8 x 8 6 体系结构,芯片基本上出自i n t e l ,a m d 。 c y r i x 等几家公司。在几乎每台计算机必备的操作系统和文字处理器方面, m i c r o s o f t 的w i 戚o w s 及w b r d 占8 0 9 0 ,凭偻操作系统还霹以搭配其它应用程 序。因此当代的通用计算机工业的基础被认为是由w i n t e i ( m i c r o s o f i 和i n t e l9 0 年代初建立豹联盟) 垄断豹工监。 嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没 有哪一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在 着主流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部 市场。 因此,嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业 的中小规模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不 断向前发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌 入式工业发展的强大动力。嵌入式系统工业的基础是以应用为中心的“芯片” 设计和面向应用的软件产品开发。 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品 同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式 系统中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可以随意 更换,所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长。另外,各 个行业的应用系统和产品,和通用计算机软件不同,很少发生突然性的跳跃, 嵌入式系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。 2 2 嵌入式系统硬件 嵌入式系统的硬件是以嵌入式微处理器为核心。主要由嵌入式微处理器、 总线、存储器以及输入输出接口和其他外设组成。 目前据不完全统计,全世界嵌入式处理器的品种总量已经超过1 0 0 0 多种。 流行体系结构有3 0 几个系列,像本文中使用的a 1 1 m e g a l 2 8 单片机的a v r 体系 结构,就是其中非常著名的一种。根据其现状,嵌入式微处理器可以分成下面 几类。 1 嵌入式微处理器 嵌入式微处理器的基础是通用计算机中的c p u 。在应用中,将微处理 器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这 样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌 入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、 抗电磁干扰、可靠性等方面一般都做了各种增强。 嵌入式处理器目前主要有a m l 8 6 8 8 、3 8 6 e x 、s c - 4 0 0 、p o w e rp c 、6 8 0 0 0 、 m i p s 、a r m 系列等。 2 嵌入式微控制器 嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到 一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内 部集成e 2 p r o m 、r a m 、总线、总线逻辑、定时计数器、w 乱c h d o g 、i 0 、 6 串行口、脉宽调制输出、a d 、d a 、f 1 a s h r o m 等各种必要功能和外设。 其最大特点是单片亿,体积大大减小,从赢使功耗和成本下降、可靠性提 高。微控制器是目前嵌入式系统工业的主流。a v r 系列的单片机功耗低, 矫设接口丰富,内部存储器容量较大,下载调试简单方便,是嵌入式系统 应用中比较理想的选择。 3 嵌入式d s p 处理器 d s p 处理然对系统结构和指令进行了特殊设计,傻其适合子执行d s p 算法,编译效率较高,指令执行速度也较高。在数字滤波、f f t 、谱分析等 方离d s p 算法歪在大壁进入嵌入式领域,d s p 应用正从在通磺单片梳中阻 普通指令实现d s p 功能,过渡到采用嵌入式d s p 处理器。 推动嵌入式d s p 处理器发展的另一个瀚索是嵌入式系统的智能化,例 如务种带有智能逻辑的消费类产熙,生物信息识别终端,带有加解密算法 的键盘,a d s l 接入、实时语音压解系统,虚拟现实显示等。这类智能化 算法一般都是运算量较大,特别是舞量运算、指针线性菩缝等较多,雨这 些难是d s p 处理器的长处所在。 t e x a sl n s t r h m e n t s 、m o t o r o l a 、p h i l l p s 、a d l 等多家公司都有其d s p 代表性产品。 4 嵌入式片上系统s o c 由于嵌入式系统应用领域的广泛性、不断堪加的复杂瞧、联网的霭要 以及半导体技术的发展,i c 厂家可根据应用的需甄,开发出面向应用领域 豹、高度集成静、以菜一中徽处理器体系结构为核心的s o c ( s y s t e m so n c h i p ) ,以便嵌入式系统的开发。当前主流的是3 2 位嵌入式系统。 随着e d i 的推广和v l s l 设计的普及化,及半导体工艺的迅速发展, 在一个硅片上实现一个更为复杂的系统的时代已来临,这就是s o c 。这样, 整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板 将变褥很简洁,对于减小体积和功耗、提高可靠性嚣鬻有利戮。这样着来, a t m e g a l 2 8 单片机也可以算作s o c 级的芯片了。现在,多家半导体公司已 在单芯片中集成了a r m 核与d s p 梭,充分利蒲a r m 强大的控嗣能力与 d s p 强大的运算处理能力,使得复杂的系统变得箍涪可靠。s o c 成为应用 的主流已是必然的趋势。 嵌入式微处理器是整个嵌入式系统的核心与大脑。它们的性能在很大程度 上决定了产品豹整体性能,所以我们进学了重点的阐述。对于箕德都分,如总 线、存储器、输入输出接口以及外设等,种类更加繁多,这熙不再一一叙述t 可以参考其他相关书籍进行了解。 2 3 嵌入式系统软件 嵌入式系统的软估和硬件在设计时就是高度糕会豹。也芷是因为这穗高度 藕合性,嵌入式系统在软矮件的设计时盛须充分考虑到相互之间的关系,取长 短【舢。 总结来说,嵌入式软件脊如下特点: 1 规模小,开发难度大 嵌入式系统软件的规模一般比较小,多数在几兆字节以内 但开发的难 度大,嚣要开发的软4 牛霹能包括板级初始佬程序、驱动程序、应用程序和 测试程序等。嵌入式软传一般都要涉及到底层软4 牛的开发,斑羽软传的开 发许多也是基于操作系统的。这需要开发人员具有乳实的软硬件基础,能 灵活运用不同的开发手段和工具,其有较丰富的开发经验。 2 快速启动,直接运行 嵌入式软件需要快速启动,为此,多数嵌入式软件事先已被嗣化在 n o r f l a s h 等快速启动的主存中,上电厩直接启动运行;或者从n o r f l a s h 调 入到内存后壹接运行:或被存储在嘏予盘中,土壤质快速谲入判r a m 中运 行。 3 实时性和可靠性要求高 大多数嵌入式系统都是实时系统,寄实时性和可靠性的要求。这两方面 除了与嵌入式系统的硬件有关外,还与嵌入式系统软件密切相关。 嵌入式实对软 牛对钤部搴体傲出反应的时涮必须要抉,在菜些情况下 还需要是确定的、可羹复实现的,不管当时系统内都状态如何,都是西预 测豹。 嵌入式实时软件需要有处理异步并发事件的糍力。在实际环境中,嵌 入式实时系统处理的外部事件不是单一的,这些事件往往同时出现,而且 发生的时刻是随机的,也就是异步的。 嵌入式实时软件需要有出错处理和自动复位功能,应采用特殊的容错、 出错处理措施,在运行密错或死杌辩能自动恢复先前的运行状态。 4 程序一体化 对于采用操作系统的嵌入式系统,嵌入式软件是应用稷序和操作系统两 种软件的一体化程序。对于通用计算机系统,操作系统等系统软传和应用 软件之间界限分明。换句话说,在统一配景的操作系统环境下,应用程序 是独立的运芎亍软件,可以分别装入运行。但是,在嵌入式系统中,这一界 8 限并不明显。这是因为应用系统配置差别较大,所需操作系统繁简不一。i ,0 操作也不标猴,这部分驱动软件常常由系统设计者完成。这就要求采用不 同配景的操作系统和应用程序,链接装成统一运彳亍的软l 牛系统。即使系统 中没有采用操 乍系统,用户也需要鑫己控制各个模块阔的执行顺年习,安排 好它们的调度和协调。 5 两个平台开发弘1 前面介绍嵌入式系统特点的时候提到,嵌入式系统软体的开发需要宿 主机和目标机来完成。宿主机一般采用通用计算机系统,是主要的开发环 境,开发工其的大部分工诈由宅完成;羁标抚就是嵌入式系统,是掰开发 应用的执行环境,并配合宿主机的开发工 乍。 睫着微处理器性能的提离,嵌入式系统功能舱目盏复杂,嵌入式软件 的规模也发生指数型增长。为j 毙,嵌入式系统已大量采愆嵌入式操作系统。 酝入式操作系统在嵌入式软件中的作用越来越太,所占的比例逐步提高【2 l 。 为此,下褥再进一步讨论嵌入式操律系统。 2 。4 嵌入式操作系统 孚凝的嵌入式系统的开发都没有使用嵌入式操作系统【4 l ,软俸也是专门用 汇编甚至桃器语言编制的。在微处理器出现的初期,由予内部存储器容璧有限, 为了保障嵌入式软 牛的时间及空间效率,软件也只能用汇编语言编写。因此开 发效率低、周期长。随着微电子技术豹进步,对软件时空效率的要求不再那么 苛刻了,嵌入式软件开始使用p l ,m ,c ,c + + 等高级语言。较早期的程序开发缀 不是很大,一般在几十k 左右,大部分程序都不是基予操作系统的,软件结构 通常设计为循环轮询结构或蘸薅念绩构。 循环轮询结构就是我们熟悉的超级循环结构,系统启动并完成必要的初始 亿后,髋不停的顺序循环完成各项任务。这种结构便于编程和理解,结构简单。 但是程序的灵活性差,可重用性差;任务每次执行的时间间隔会有所不同,存 在着不可确定性:如果穗序规模大,则不便于调试。前后台系统又叫做中叛驱 动系统。后台是一个一蛊在运行的系统,前台是由一些中断处理过程组成豹。 莉后台系统疲餍领域广泛,主要藏用在一些小越螽勺嵌入式系统中。这种结构珂 劳发处理不圉的舞步事件,设计简单;蠢需学习o s 相关的知识。但燕,对于 复杂的系统而言,其主程序设计笈杂,系统复杂度提高,可靠性降低:中断处 理程序与主程序闻的共事甄斥闷越需要应用自身解决。 9 2 5 嵌入式系统的发展需要操作系统 随着嵌入式系统应用的深入,嵌入式系统的复杂性日益提高,所需要完成 的功能不断增加,再加上产品上市时间的限定,使得开发人员完成设计的时间 越来越少。这就要求在产品的整个设计中能够高效的重复利用已有的代码。而 传统的软件设计方法,如循环轮询结构、前后台结构等都有其自身的缺陷。而 嵌入式操作系统能够克服这些缺点,满足实际的需求。 1 能够充分利用操作系统自带的功能 一般的操作系统都有进程的管理,中断的管理,进程通信和同步控制,存 储器管理等功能。这些功能都是操作系统自带的,其可靠性和稳定性是可以让 人放心的。有了这些功能的支持,用户可以将更多的精力放在应用程序的开发 上,从而加快系统的开发。 2 提高应用程序和组件的重用性 嵌入式操作系统可以向上层的应用提供公共的,与硬件无关的接口。这样, 基于操作系统的应用程序可以在不同的硬件平台间方便的移植,这一点对于嵌 入式系统的开发设计非常重要。通用的计算机系统主要有x 8 6 处理器占据,而 嵌入式系统的处理器干差万别,如果上层应用程序能够屏蔽硬件的差别,对于 设计人员是十分有利的。 2 6 实时操作系统的特点 大部分的嵌入式系统都有实时性的要求,而通用的操作系统,如w i n d o 、s , u n i x ,l i n u x 等,是由分时操作系统发展而来,负责管理众多的进程并为它们分 配系统资源。分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并 提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看 出,分时操作系统注重平均表现性能,不注重个体表现性能。如对于整个系统来 说,注重所有任务的平均响应时间而不关心单个任务的响应时间:对于某个单个 任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。 对于实时操作系统,它除了要满足应用的功能需求以外,更重要的是还要满 足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是 各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行 顺序限制、共享资源的互斥访问要求等,这就为系统实时性的保证带来了很大的 困难。因此,实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略, 始终保证系统行为的可预测性( ”e d i c t a b i l i t y ) 。可预测性是指在系统运行的任 1 0 何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源( 包括c p u 、 内存、嬲络带宽等) 的多个实时任务合理施分鼯资添,使每个实对任务的实时性 要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均 表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说, 实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。因此,传统 的通用系统无法满足嵌入式系统对实时性的要求。 早在2 0 世纪7 0 年代,嵌入式实时操作系统就墩羽在了小型计算机中。8 0 年代后期,多家公词推出了自己商用的嵌入式实时操作系统,向w i n d 黜v e r 的 v x w i 血s ,( n x 公司的( 淤 ) ( ,i s i ( i n t e g 捌 c ds y s t e mi n c o r p o r a t i o n ) 公司豹p s o s 等。它们具肖强实时、可裁剪、可配璧、可扩充等特点,支持主流的处理器。 优秀的商用嵌入式实对操作系统的推广应用,促使嵌入式应用扩展到更广阔的 领域。 2 。7 如何选择会透的操作系统教学 本文研究静一个方爵就是,鲡俺使用一个嵌入式实时搡作系统进符系统开 发。因此,选择一款合适的操作系统就显得尤为重要。教学过程是一个群体行 为,需要兼颁学生的知识背景和基础,在良好的互动中达到教学效果。我们知 遂,大部分学生都是非计簿枧专、妲的,对操 乍系统的相关知识,没有系统的学 习。所以,如果选择的操作系统过于庞大,起点过高,可能会影响学生学习的 积极性。 现在很多的应用开发都采用l i n u x 系统,它免费开源,有众多的用户和各 种技术论坛的支持,在市场应用中占裔很大份额。它是一体化内核,除了操作 系统的内核外,还包括文件系统管理,网络支持,存储器管理单元m m u 等功 能,可以说是一个究备的操作系统。但是它代码太庞大,簧想读憔十分潮难。 如果_ 敝用于嵌入式系统,叉需要增加许多硬件资源歼销。另终,作为教学磷究 用,也不太会购买踊贵的商用实时操作系统。 浆于教学研究豹特殊经,我 | 】选择了e o s i l 嵌入式实对操作系统作为研究 的对象。它是一个免费开源的微内核操作系统,只提供了任务切换调度,任务的 上下文保护,中断管理,时钟管理,任务间通信,存储器管理等功能,没有其他 功能扩展,如文l 牛系统,网络模块,设备驱动管理等。内核简单,系统开销小, 移植简单,已经成功的移槌到了多种处理器上,最小内核代码只有几k b 。它的作 者j e a nj l a b r o s s e 先生又写了一部嵌入式实时操作系统愆o s l l ,对其基 本概念、内核原理做了详尽的描述,该书是一部科学、实用的好教材,书中配套 的铡程能帮助读者更好豹理解它的应用。在下露的章节中,将介绍辉o s l i 的内 核结构、特点,在a t m e g a l 2 8 平台上进行的移植,以及在实际例子中的应用。 嵌入式系统软硬件技术的快速发展,对教学是一个巨大的推动作用,因此, 我们的嵌入式系统开发平台在构建时,尽量体现技术的发展趋势,期望对学生 绒其他用户起到正确的引导作用,对他们个人的提高有所帮助。 3 1 硬件平台 第三章软硬件平台 随港嵌入式应用系统的发展,系统对硬件的要求不断提高,s 0 c 芯片已成为产 品应用的主流。本文所选用的a t m e g a l 2 8 处理器,内部集成了大容量豹存储器, 丰富的外设接口,是一款性能优异的高档8 位处理器,能满足相当多的应用需求。 基于a t m e g a l 2 8 的嵌入式系统开发板结构框图如下: 图3 一l 嵌入式系统a t m e g a l 2 8 开发板结构框图 开发板的设计采用模块独立、开放、灵活的设计思想,软硬件资源全部开放。 所有模块都怒独立的,其连接信号接口和电源接口也是开放的,用户可以使用开 发板上的默认线路连接,也可以按照囊已的意愿进符连接。 开发板的设计采用了a t m e g a l 2 8 最小系统板+ 母板的设计思想。默认情况下, 最小系统板秘母扳足一起使用於,也可以分开使用,就是说最小系统叛可独立用 于其他系统,同时用户也可以用其他单片机的最小系统板代替a t m e g a l 2 8 最小系 统板,通过母扳上的跳线,方便的连按使用母扳上豹所有资源,大大增加系统的 灵活性。实物图3 2 ,3 3 如下所示。 a t m e 髓1 2 8 最小系统板由一片a t m e g a l 2 8 芯片构成的最小可运行的基本系统 板,如图3 3 。它包括上电复位电路、电源指示灯、外部1 6 脒z 燕振、i s p 下载接 口和j t a g 接阴,a t m e g a l 2 8 所有外部引脚均通过底部四面的d i p 双排插针引出。用 户只需要连接+ 5 v 和途,接遵电源,即可逶避i s p 接翻将程序下载到芯麓中运行 【7 】o 母板实际上是一块提供系统电源黻及由各种外部电路和嚣佟组成的嵌入式 系统外围功能接口模块板。它上谳有基本的经常使用的功能模块电路,也有应用 于高级嵌入式系统开发的随络接团模块,u s b 控制模块等。 利用本开发系统板,用户不仪可以进行初级入门的学习,也可以进行更高层 次的学习和应用,或者作为产品开发的前期准备应用,非常适合高校师生和电子 工程技术人虽使用。各个模块的介绍如下。 图3 2 嵌入式系统a t m e g a l 2 8 开发板母板 1 4 图3 - 3a t m e g a l 2 8 最小系统板 3 1 1 a t m e g a l 2 8 内核结构与功能特点 图3 4a t m e g a l 2 8 结构框图 a t f f e g a l 2 8 是一款基于a v r 内核,采用r i s e 结构,低功耗c m o s 的8 位单 片枫,可以达到接近lm p i s 懈z 的性能。a v r 单片机的内核将3 2 个工作寄存 器和丰富的指令集联结在一起,所有的工作寄存器都与a l u ( 算术逻辑单元) 直接相连,实现了在一个时钟周期内执正亍的一条指令可以同对访闻灏个对立的 寄存器。这群结构提离了代碣的效率,使褥a v r 的运行速度跑普通豹e i s c 单片 机提高1 0 倍”1 。 下面主要介绍a t m e g a l 2 8 单片机中与此0 s i i 的移植密切相关的一些肉核 特点。 a v r 单片机的工作寄存器组由3 2 个8 位的通用工作寄存器组成。其中r 2 6 r 3 l 这6 个寄存器还可以两两合并为3 个1 6 位的间接地址寄存器。这些寄存器 可以用来对数据存储空间进行间接寻址。这3 个间接地址寄存器的名称为:x 寄存器、y 寄存器、z 寄存器。其中z 寄褥器还能用作对程序存储空阀进行闻接 寻址的寄存器。有些a v rc 语言编译器还把y 寄存器作为软件堆栈的堆栈指针, 比如i c c a v r ,c o d e v i s i o n a v r 。 堆栈指针( s p ) 是一令指示瑶棱项郏地址豹1 6 绽寄存嚣。在诲多的a

温馨提示

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

评论

0/150

提交评论