(通信与信息系统专业论文)嵌入式通信控制器uclinux应用移植设计.pdf_第1页
(通信与信息系统专业论文)嵌入式通信控制器uclinux应用移植设计.pdf_第2页
(通信与信息系统专业论文)嵌入式通信控制器uclinux应用移植设计.pdf_第3页
(通信与信息系统专业论文)嵌入式通信控制器uclinux应用移植设计.pdf_第4页
(通信与信息系统专业论文)嵌入式通信控制器uclinux应用移植设计.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(通信与信息系统专业论文)嵌入式通信控制器uclinux应用移植设计.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 中文摘要 随着技术的进步与人们需求的不断增加 嵌入式系统的应用范围不断扩 大 尤其在电子 通信 交通等领域 在这种背景下 本文从应用与实践的 角度出发 设计开发了一款基于3 2 位a r m 微处理器s 3 c 4 4 b o x 和uc l i n u x 实时操作系统的嵌入式通信控制器 该通信控制器不仅具有数据处理与控制 功能 还提供了多个串行接口 从而实现了串口终端设备之间的互联 使现 有设备可联网使用 解决了传统串口设备在传输距离和可靠性方面的问题 本文研究了嵌入式通信控制器设计 开发与应用过程中所涉及的关键技 术问题 论文主要从五个方面展开 首先介绍了嵌入式系统及其一般开发方 法 并采用软硬件协同设计的思想提出了系统的总体设计方案 然后以基于 a r m 7 t d m i 内核的微处理器s 3 c 4 4 8 0 x 为硬件核心 采用主从c p u 的方案 进行了硬件平台的模块化设计 给出了各主要模块的电路设计图 并在满足 系统需求的条件下进行了器件的选型 并详细分析了此过程中遇到的问题和 相应的解决办法 随后进行了系统软件平台的设计 介绍了启动代码程序的 设计 嵌入式操作系统uc l i n u x 的移植 系统硬件设备的驱动程序的开发 最后总结了课题 提出了下一步工作的方向 关键词 通信控制器 s 3 c 4 4 b o x uc l i n u x 山东大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to ft e c h n o l o g ya n dp e o p l e si n c r e a s i n gr e q u i r e m e n t t h ee m b e d d e ds y s t e mi sb e i n gu s e di nm o r ea n dm o r ef i e l d s e s p e c i a l l yi nt h e f i e l d so fe l e c t r o n i c s c o m m u n i c a t i o na n dt r a f f i c e t c f r o mt h ea s p e c to ft h e a p p l i c a t i o n a n d p r a c t i c e o fe m b e d d e d s y s t e m a k i n do fe m b e d d e d c o m m u n i c a t i o nc o n t r o l l e ri sd e s i g n e da n di m p l e m e n t e db a s e do nt h e3 2 一b i ta r m m i c r o p r o c e s s o r s 3c 4 4 b o xa n dt h ee m b e d d e dr e a l t i m e o p e r a t i n gs y s t e m l x c o s i i w h i c hn o to n l yr e a l i z e s t h ef u n c t i o n so fd a t ap r o c e s s i n ga n d c o n t r o l l i n g b u tp r o v i d e ss o r e eb a s i ch a r d w a r ei n t e r f a c e s i n c l u d i n gs o m eu a r t i n t e r f a c e sa n d1c a ni n t e r f a c e w h i c hm a k ei tp o s s i b l et oc o m m u n i c a t eb e t w e e n t r a d i t i o n a ls e r i a l t e r m i n a l s a sw e l l a sb e t w e e ne m e r g i n gc o m m u n i c a t i o n s n e t w o r k s e g c a nb u sn e t w o r k so rw i r e l e s sc o m m u n i c a t i o n sn e t w o r k s t o s o l v et h ep r o b l e mo fr e l i a b i l i t ya n dt r a n s m i s s i o nd i s t a n c el i m i t a t i o no ft h es e r i a l t e r m i n a l s t h i st h e s i ss t u d i e st h ek e yp r o b l e m so ft e c h n o l o g i e si n v o l v e di nt h ed e s i g n d e v e l o p m e n ta n da p p l i c a t i o no ft h ee m b e d d e dc o m m u n i c a t i o nc o n t r o l l e ra n d p r o p o s e sr e a s o n a b l es o l u t i o n s t h et h e s i si sm a i n l yc o m p o s e do ff i v ep a r t s f i r s t l y t h ee m b e d d e ds y s t e ma n di t sg e n e r a ld e v e l o p p i n gm e t h o di si n t r o d u c e d a n dt h e n t h ew h o l e d e s i g n s c h e m ei s b r o u g h t f o r w a r d u s i n g t h e c o n c e p t o f s o f t w a r e h a r d w a r ec o d e s i g n s e c o n d l y t h em i c r o p r o c e s s o rs 3 c 4 4 b o x w h i c hi s o fa r m 7 t d m ik e r n e l i sc h o s e na st h ek e r n e lo fh a r d w a r ep la t f o r m w h i c h a d o p t st h em o d u l e d e s i g nm e t h o da n dm a s t e r s l a v ec p u s a n da f t e ro t h e rd e v i c e s h a v i n gb e e nc h o s e no u tt om e e tt h en e e do fs y s t e mp a r a m e t e r t h em o d u l ec i r c u i t c o m e su p t h i r d l y t h ep r o c e s so fp c bd e s i g na n dh a r d w a r ed e b u g g i n ga r e i n t r o d u c e da n dt h ek e yp r o b l e m se n c o u n t e r e di nt h ep r o c e d u r ea r ed i s c u s s e d a s w e l la st h ec o r r e s p o n d i n gs o l u t i o n s f o l l o w i n gt h a ti st h es o f t w a r ep l a t f o r m d e s i g n i n c l u d i n gd e s i g n i n gt h eb o o t l o a d e rp r o g r a m p o r t i n gr e a l l i m ee m b e d d e d s y s t e m 弘c l i n u xu p o ns 3 c 4 4 b o x a n dd e v e l o p i n gt h ed r i v e r so fh a r d w a r e 山东大学硕士学位论文 d e v i c e sa n dt h ep r o c e d u r eo fm u l t i t a s kp r o g r a mu p o nl ac l i n u x a f t e rt h e h a r d w a r e s o f t w a r ec o d e s i g na n dd e b u g g i n g c o m b i n e dw i t ht h ea p p l i c a t i o n a m e t h o do fa p p l y i n gt h ee m b e d d e dc o m m u n i c a t i o nc o n t r o l l e rt oav e h i c l e m o n i t o r i n g s y s t e m i sp r o p o s e d i nw h i c ht h eb l o c kd i a g r a mo fh a r d w a r e i n t e r f a c e sa n dt h ef l o wc h a r to fs o f t w a r ea r eg i v e no u ta f t e rt h ea n a l y s e so f s y s t e mo r g a n i z a t i o n c o m m u n i c a t i o np r o t o c o la n dt h er e a l i z a t i o no ft h ev e h i c l e m o n i t o r i n gs y s t e m s u m m a r yi sm a d ea tt h ee n do ft h et h e s i sa n dt h e f u r t h e r r e s e a r c hd i r e c t i o ni sp r o p o s e d k e y w o r d s e m b e d d e dc o m m u n i c a t i o nc o n t r o l l e r s 3 c 4 4 b o x uc l i n u x m u l t i u a r t c a nb u s 山东大学硕士学位论文 符号说明 a r ma d v a n c e dr i s cm a c h i n e sa r m c p uc e n t r a lp r o c e s s o ru n i t中央处理器 e i ae l e c t r o n i ci n d u s t r i e sa s s o c i a t i o n美国电子工业协会 f i f of i r s ti n p u tf i r s to u t p u t 先入先出队列 i c eh o l t e ki n c i r c u i te m u l a t o r 在线仿真器 i s pi n s y s t e mp r o g r a m在系统编程 j t a gj o i n tt e s ta c t i o ng r o u p 联合测试行动小组 p cp e r s o n a lc o m p u t e r 个人电脑 p c bp r i n tc i r c u i tb o a r d印刷电路板 p l lp h a s e 1 0 c k e dl o o p 锁相环 r i s cr e d u c e di n s t r u c t i o ns e tc o m p u t e r 精简指令集计算机 r o m r e a d o n l ym e m o r y 只读存储器 r t cr e a lt i m ec l o c k 实时时钟 r t o sr e a lt i m eo p e r a t i n gs y s t e m 实时操作系统 s d r a ms y n c h r o n o u sd r a m 同步动态随机存储器 t a pt e s t a c c e s sp o r t 测试访问口 t t lt a n s i s t o r t r a n s i s t o rl o g i c晶体管一晶体管逻辑 u a r tu n i v e r s a la s y n c h r o n o u sr e c e i v e ra n dt r a n s m i t t e r 通用异步收发器 原创性声明 本人郑重声明 所呈交的学位论文 是本人在导师的指导下 独 立进行研究所取得的成果 除文中已经注明引用的内容外 本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果 对本文的研 究作出重要贡献的个人和集体 均已在文中以明确方式标明 本声明 的法律责任由本人承担 论文作者签名 j 歪型垒 日期 夕 塑少刃2 d 目 u 关于学位论文使用授权的声明 本人完全了解山东大学有关保留 使用学位论文的规定 同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版 允许论 文被查阅和借阅 本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索 可以采用影印 缩印或其他复制手段 保存论文和汇编本学位论文 保密论文在解密后应遵守此规定 论文作者签名 牺师签名 期 d 曰 山东大学硕士学位论文 1 1 嵌入式系统概述 第一章绪论 所谓嵌入式系统是指 以应用为中心 以计算机技术为基础 软硬件可 裁剪 满足应用系统对功能 可靠性 成本 体积 功耗等严格要求的专用 计算机系统 1 1 嵌入式系统的最大特点是其所具有的目的性或针对性 即每 一套嵌入式系统的开发设计都有其特殊的应用场合与特定功能 这也是嵌入 式系统与通用计算机系统最主要的区别 另外 嵌入式技术与实时性有着天 然的联系 由于嵌入式系统是为特定的目的而设计的 且常常受到空间 成 本 存储 带宽等条件的限制 因此 它必须最大限度地在硬件上和软件上 量身定做 以提高效率 这样的结果也最终导致了其实时性的增强 进入2 1 世纪 嵌入式技术全面展开 目前已成为通信和消费类产品的 共同发展方向 2 1 在通信领域 数字技术正在全面取代模拟技术 在广播电 视领域 美国已经开始由模拟电视向数字电视的转变 欧洲d v b 数字电视 广播 技术已在全球大多数国家推广 数字音频广播 d a b 也已进入商品化试 播阶段 在个人领域中 嵌入式主要用于作为数据处理和通信产品 对于企 业专用解决方案 如物流管理 条码扫描 采集等 小型手持嵌入式系统正 发挥着巨大的作用 在自动控制领域 将a 丁m 机 自动售货机 工业控制 等专用设备和移动通信设备相结合 嵌入式系统同样可以发挥巨大的作用 因此 嵌入式系统的应用范围已经遍及金融 航天 通信 电子应用 交通 医疗 工业控制 军事等各个领域 以致有些学者断言 嵌入式技术将成为 后p c 时代的主宰 美国r t c 杂志称在2 1 世纪的最初10 年中 全球嵌入 式系统需求量具有比p c 市场大1 0 至1 0 0 倍的商机 此外 i n t e r n e t 及无 线通信的兴起 将带动具有i n t e r n e t 通信等功能的嵌入式系统快速发展 而 由此带来的商机 也将是不可估量的 引 1 2 嵌入式系统的发展 信息技术的发展与数字化时代的到来使得嵌入式产品获得了巨大的发 展机遇 为嵌入式市场展现了美好的前景 同时也对嵌入式生产厂商提出了 山东大学硕士学位论文 新的挑战 未来嵌入式系统的发展具有以下几个趋势 4 5 l 1 为设备通信提供标准接口 为适应嵌入式分布处理结构和应用需求 嵌入式系统要求配备标准的一种或多种通信接口 比如有线或者无线网络接 口 新一代嵌入式设备还需具备i e e e l 3 9 4 c a n 或i r d a 通信接口 同时 也需要提供相应的组网协议软件和物理层驱动软件 2 网络互连成为必然趋势 网络化 信息化的要求随着因特网技术的成 熟而日益提高 也使得以往单一功能的设备如电话 手机 冰箱 微波炉等 功能不再单一 结构更加复杂 3 小尺寸 微功耗和低成本 未来的嵌入式产品是软硬件紧密结合的设 备 为了降低功耗和成本 需要设计者尽量精简系统内核 只保留和系统功 能相关的软硬件 利用最低的资源实现最适当的功能 4 提供友好的多媒体人机界面 嵌入式设备能与用户亲密接触 最重要 的因素就是它能提供非常友好的用户界面 图像界面和灵活的控制方式 使 得人们感觉嵌入式设备就像是一个熟悉的老朋友 1 3 嵌入式操作系统 其实操作系统并不是和最早的计算机e n i a c 同时诞生的 而是随着计 算机技术的发展而逐渐产生并不断演化的 早期的计算机完全用于科学计算 计算逻辑主要根据硬件的设计来进 行 连软件的概念都不是很明显 更没有什么操作系统了 随着计算机系统 功能的完善 开始出现一些固定型号的计算机 人们丌始为这些计算机编制 程序 为了让大家共享昂贵的计算资源 于是不同的程序需要轮流被加载到 计算机上运行 因此也就诞生了早期的批处理操作系统 批处理操作系统需 要将所有的计算任务进行排队 后提交的任务往往需要等待较长的时间才有 机会被执行 为了解决这个问题 人们设计了分时操作系统 即通过硬件时 钟和中断将c p u 的计算资源按时间划分成小段 每个时间小段由调度器决 定执行哪个任务 这基本上就是现代意义操作系统的雏形 在分时操作系统 的基础上 人们又针对实时性问题 优先级问题 多处理器问题等等不断给 操作系统添加新特性 新功能 嵌入式操作系统的产生也有着类似的过程 早期的嵌入式系统 即单片 2 山东大学硕士学位论文 机 上一般都没有操作系统 即使在一些较为复杂的嵌入式设备上 如数码 相机 m p 3 等 也没有一个商用嵌入式操作系统 对于这些系统而言 设计 人员编写的程序直接在单片机或嵌入式处理器上运行 自行管理硬件资源 如 存储器 中断 外围i o 等 自行维护 个复杂的嵌入式软件 但是人们对 应用软件的需求越来越丰富 嵌入式系统的底层硬件平台也越来越复杂 嵌 入式系统所对应的产品更新换代也越来越快 这些变化都迫切要求在嵌入式 设备上采用嵌入式操作系统来简化设计 提高可维护性 降低开发成本 于 是从2 0 0 0 年左右在嵌入式系统上采用操作系统变得越来越流行 可以看出 操作系统的诞生是由软硬件系统的复杂程度决定的 一方面 随着底层硬件和上层应用软件越来越复杂 一个人或一个开发小组已经没有 能力再单独维护整个系统的软件和硬件 因此操作系统被做为一个专门的系 统模块独立开来 由专门的团队负责开发和维护 另一方面 越来越多的应 用软件希望在不同的硬件平台上运行 同一个硬件平台也希望运行由不同的 技术人员开发的丰富多彩的应用软件 因此操作系统做为底层硬件和上层应 用软件之间的一个中间层次 为底层和上层分别提供标准化的访问接口 提 高了整个系统的开发效率 最后需要说明的是 在一个软硬件都十分复杂的 系统中 由专门的开发团队设计的操作系统可以极大地提高整个系统地稳定 性与鲁棒性 这也是操作系统之所以存在的一个必然理由 一般来说 操作系统主要完成两个主要任务 1 尽可能地屏蔽底层硬件的差异 为上层应用软件提供统一的访问接口 2 实际管理和操作底层软硬件资源 协调不同应用软件对软硬件资源访问 嵌入式操作系统继承了通用操作系统的大部分功能 但也有一些自己的 特点 比如嵌入式操作系统的底层硬件平台种类繁多 需要嵌入式操作系统 有较好的可移植性等等 综合来说 嵌入式操作系统一般具有以下特点 实时性 可配置性 稳定性 鲁棒性 功耗管理与节能 面向不同应用的专用特性 3 山东大学硕士学位论文 1 4 课题来源与意义 本课题来源于实际的需求 在传统的工业领域当中 有成千上万的感应 器 检测器 p l c p r o g r a m m a b l el o g i cc o n t r o l l e r 可编程逻辑控制器 设 备或其他设备 互相连接形成一个控制网络 最常用来连接这些设备的通信 方式仍然是r s 2 3 2 r s 4 8 5 串行总线 与此同时 许多新的通信总线标准 协议也不断涌现 已经广泛应用于了汽车工业 航空工业 工业控制 安全 防护等领域中 6 7 现代社会是一个信息社会 信息的获取和传输逐步从有线过渡到无线 随着无线通讯事业的不断发展 无线数据传输这一技术被越来越多的人们所 熟悉 相应的产品也渗透到社会生活的各个领域 如无线抄表 数字图像传 输 小区传呼 工业数据采集 非接触r f 智能卡 安全防火系统 区域报警 系统等 近年内 无线数据传输设备得到了飞速发展 这些产品大都提供标 准的r s 2 3 2 r s 4 8 5 接口 从而便于与其他数字设备连接 8 9 在这种情况下 寻求一个经济 快速的解决方案 实现传统的串口终 端设备之间的互联以及串口终端设备与新兴通信网络 如c a n 总线网络或者 无线通信网络 之间的互联 让现有的设备可联网使用 解决串口终端在传输 距离和可靠性方面的局限性 就显得尤为迫切 由于嵌入式系统是面向应用的 所以其硬件平台千差万别 而针对不同 领域发展起来的嵌入式操作系统的种类也很多 在开发和整合嵌入式软硬件 的过程中 通常需要大量的人力投资和时间成本 虽然现在市面上有许多商 品化的嵌入式开发系统 但从性价比上来讲 有时各种豪华板子并不适合开 发 特别是在开发内容并不是很多的情况下 并且由于系统庞大 在调试的 过程中经常容易出问题 在这种情况下 研究与设计一款专用的嵌入式通信 控制器具有很大的现实意义 1 4 论文的工作及组织结构 1 4 1 主要的研究工作 在充分调研和查阅大量资料之后 论文以微处理器芯片s 3 c 4 4 b o x 为硬 件核心 以i lc l i n u x 为软件平台 进行了嵌入式通信控制器的研究与设计 4 山东大学硕士学位论文 具体来讲本文主要做了以下工作 1 对国内外嵌入式系统的最新发展作了调查研究 包括对目前市场上的主流 嵌入式微处理器和嵌入式操作系统进行了分析和比较 从而确定系统中嵌入 式微处理器和嵌入式操作系统的类型 2 对跟嵌入式系统开发相关的技术方法进行了学习和研究 包括嵌入式软硬 件系统的设计方法 电路设计制板工具的使用和基于a r m 微处理器的嵌入式 开发环境的建立和操作等 为后面应用平台的软硬件设计奠定了理论基础和 技术保证 3 对嵌入式通信控制器的硬件设计与实现 针对嵌入式应用平台的具体应用 对硬件平台进行了器件的选型 原理图的设计 版图的绘制 硬件焊接和调 试等 4 对嵌入式操作系统uc l i n u x 的移植 在完成了系统启动代码程序的开发之 后 对uc l i n u x 嵌入式操作系统进行了研究 并成功对其进行了移植 从而 完成了嵌入式软件开发平台的搭建 5 开发了嵌入式通信控制器各硬件模块的驱动程序 为应用程序访问硬件设 备提供了接口函数 满足了后续开发的需要 1 4 2 论文的组织结构 本文第一章主要分析了课题研究的背景及意义 介绍了文章的主要研究 工作和组织形式 第二章分析了嵌入式开发的一般设计方法 介绍了软硬件 平台的选型原则 并提出了系统的总体设计方案 第三章和第四章详细介绍 了嵌入式通信控制器的硬件电路设计与调试 并分析了设计与调试过程中的 一些关键问题 第五章和第六章详细介绍了软件平台的设计 包括启动代码 的设计 操作系统设计的移植以及驱动程序的开发等 最后一章对全文的研 究工作进行了总结 并指明了下一步的研究方向 5 山东大学硕士学位论文 第二章嵌入式控制器的总体设计 2 1 嵌入式系统设计方法 2 1 1 设计方法概述 嵌入式系统的开发是软件 硬件和系统工程开发的融合体 所以它遵循 着软件工程开发的模式 同时嵌入式系统又是一种根据特定应用所专门开发 的系统 它只完成设计时所预期完成的功能 所以它的开发过程和开发环境 同传统的软件开发相比又有着一定的区别 嵌入式系统设计一般由5 个阶段 构成 系统需求分析 体系结构设计 硬件 软件设计 系统集成和系统测试 图2 1 各个阶段之间往往要求不断的反复和修改 直至完成最终设计目标 1 2 3 m 1 系统需求分析 在开始设计嵌入式系统之前 必须对系统进行分析 提炼 给出系统规 格说明书 用来作为系统的正式设计指导和验收标准 这一分析提炼的过程 被称为需求分析 作为需求分析的书面结论 系统的规格说明书用专业化的 语言将从客户那罩收集到的系统功能的非形式化描述转化为系统设计这的描 述 整理出正式的说明文档 用户需求通常包括功能需求和非功能需求两部 分 功能需求是系统的基本功能 包括系统的名称 目的 功能 输入输出 操作方式等 非功能能需求包括了系统的性能 生产成本 功耗 尺寸和重 量等 规格说明书用简练 清晰的语句精确的反映了用户的需求 为设计者 提供了一个设计遵循标准 规格说明书可采用面向对象的建模语言u m l 统 一建模语言 来描述 2 体系结构设计 体系结构设计目的是描述系统如何实现规格说明书中列出的所有功能 和非功能需求 它包括对硬件 软件等部件的功能划分和系统软 硬件的选 型等 执行装置也称为被控对象 它可以接受嵌入式计算机系统发出的控制 命令 执行所规定的操作或任务 一个好的体系结构是系统设计成功与否的 关键 在体系结构设计中集中考虑系统中的功能元素 然后在建造硬件和软 件结构时考虑非功能元素 从系统体系结构开始 逐步把体系结构细化为硬 6 山东大学硕士学位论文 件和软件体系结构可以确保系统能较好符合需求分析阶段形成规格说明书 3 硬件 软件设计 基于体系结构 对系统的软件 硬件进行详细设计 对于一些标准软 硬件 比如数据库软件 函数接口 c p u 芯片 存储器芯片等 可以直接选 择符合需求的部件进行软 硬件的设计 同时还需要根据一些特定需求进行 专门的定制和设计 相对于软件设计而言 在嵌入式系统设计中硬件的设计 要更加明确和容易 设计工作的大部分都集中在软件设计上 采用面向对象 技术 组件技术 模块化设计是现代软件工程经常采用的方法 为了缩短产 品开发周期 设计往往是并行的 系统需求分析 规格说明书 体系结构设计 硬件设计软件设计机械系统设计 lii 系统测试 产品 图2 1 嵌入式系统设计 4 系统集成 当建立好软 硬件环境之后 系统集成这些软 硬件资源 使整个系统 最终形成一个可以运行的系统 在系统集成的过程中随时发现并改正在系统 的体系结构设计和软 硬件设计过程中出现的错误 在嵌入式系统开发中 可使用的调试工具相对台式机而言很有限 所以要准确的定位系统的错误以 及进行改正比较困难 而在系统集成阶时按阶段构建系统 每次只对一部分 模块派错 能够更加容易的发现并定位错误 所以必须确保在体系结构和软 硬件设计阶段尽可能的按阶段集成系统 并相对独立的测试系统功能 5 系统测试 对设计好的系统进行测试 看其是否满足规格说明书中给定功能要求 7 山东大学硕士学位论文 针对系统复杂程度的不同 目前有一些常用的系统设计方法 如瀑布设 计方法 自顶向下的设计方法 自下向上的设计方法 螺旋设计方法 逐步 细化设计方法和并行设计方法等 根据设计对象的不同 可以灵活地选择 不同的系统设计方法 2 1 2 软硬件协同设计 系统架构设计 害 系统软硬件分开 硬件设计软件设计 硬件架构设计启动代码设计 硬件选型0 0 0 0操作系统0 0 0 0 线路布局o o o o驱动程序0 0 0 0 0 应用程序0 0 0 0 硬件调试软件调试 i 软硬件协同测试 开发结束 图2 2 嵌入式系统的开发过程 在嵌入式系统的开发中采用软硬件协同设计方法 1 2 13 1 同时进行软件与 硬件部分的开发工作 已经逐渐取代传统的顺序开发流程 将系统开发过程 分成不同的步骤 并对功能模块进行复用 就有效的降低了开发风险并缩短 了系统开发时间 软硬件协同设计的开发过程一般如图2 2 所示 需要指出 的是 在嵌入式系统开发的过程中 操作系统并不是必需的 不同操作系统 对硬件的要求也是不同的 2 2 嵌入式硬件平台的选择 嵌入式开发的硬件平台选择主要是嵌入式处理器的选择 在一个系统中 8 山东大学硕士学位论文 使用什么样的嵌入式处理器内核主要取决于应用的领域 用户的需求 成本 开发的难易程度等因素 确定了使用哪种嵌入式处理器内核以后 接下来就 是结合系统外围设备的需求情况 选择一款合适的处理器 下面列出了通常 考虑系统外围设备的思路 是否需要通用的串行接口 u a r t 是否需要u s b 总线 是否需要以太网接口 系统内部是否需要量1 2 c 总线 s p i 总线 是否需要音频1 2 s 总线 是否需要a d 或者d a 转换器 是否需要l o 控制接口 另外 还要考虑处理器的寻址空间 有没有片上的f l a s h 存储器 处理器 是否容易调试等相关的信息 在实际过程中 挑选合适的硬件是一项很复杂 的工作 充满着各种顾忌和干扰 1 0 在我们的应用系统中 考虑了系统成本 c p u 性能 应用前景等因素 选择了s a m s u n g 公司的基于a r m 7 t d m i 内核的 s 3 c 4 4 8 0 x 微处理器 关于s 3 c 4 4 8 0 x 微处理器将在后面章节具体介绍 2 3 嵌入式操作系统的选择 完成简单功能的嵌入式系统一般不需要操作系统 只要利用软件实现简 单的控制即可 但是 当嵌入式系统应用相对庞大 需要进行多任务处理和 调度时 一个嵌入式操作系统是必不可少的 2 3 1 操作系统的选型原则 目前可供选择的嵌入式操作系统有多种 如何选择一款既能满足应用要 求 性能价格比又达到最佳的实时操作系统是很关键的 从操作系统角度考 虑 主要关注如下因素 1 实时性 实时性是许多嵌入式操作系统所必备的特性 如工业控制器 军用设备 等 这些嵌入式设备的应用场景要求嵌入式操作系统必须能在某个给定的时 间内对异步发生的事件给予正确的响应 否则将造成巨大的损失 如汽车的 9 山东大学硕士学位论文 安全气囊系统就是一个实时嵌入式系统 它要求安全气囊在汽车发生碰撞后 个极短的时间内就要打开气囊 这种实时性的要求在大部分桌面计算机系 统中都是不存在的 有两种类型的实时系统 硬实时系统和软实时系统 软实时系统并不要 求限定某一任务必须在一定的时间内完成 只要求各任务运行得越快越好 硬实时系统对系统响应时间有严格要求 一旦系统响应时间不能满足 就可 能会引起系统崩溃或致命的错误 采用软实时还是硬实时 由嵌入式系统具 体针对的应用来决定 一般在工业控制中都会采用硬实时 实时性是许多嵌入式操作系统的重要特征 实时性并非是简单地要求嵌 入式操作系统性能快 而是要求嵌入式操作系统对于外部事件和软件任务请 求的响应时间具有确定性 实时性的性能由最坏情况下的响应时间而不是平 均响应时间来决定 实时性要求操作系统内部有完整 精巧 仔细的设计 确保基于优先级的任务调度得到保障 确保具有确定的最长中断响应时间等 这对于嵌入式操作系统的设计是一个很大的挑战 传统的w i n d o w s u n i x l i n u x 等桌面操作系统都不是实时操作系统 因此这些具有传统优势的操作 系统在嵌入式系统中的推广应用受到了很大的阻力 在实时性方面 v x w o r k s u c o s i i q n x 国内的d e l t a o s 等操作系 统都具有较好的实时性能 其中v x w o r k s 是性能稳定的商用实时操作系统 有较长的历史和广泛的用户群 u c o s i i 操作系统是开放源码的小型实验性 操作系统 实时性很强 而且代码简单 便于分析 学习与改造 应用范围 也很广 d e l t a o s 是国内自主研发的实时操作系统 广泛地应用于工业 军 事等领域 l i n u x 操作系统在经过实时性改造后也可以具有较强的实时性而 成为实时操作系统 当然 需要说明的是并不是所有的嵌入式系统都有实时性的要求 因此 也并不是所有的嵌入式操作系统都必需是实时操作系统 在智能手机 p d a 等嵌入式应用中就广泛地采用了嵌入式l i n u x w i n c e 等非实时的操作系统 2 可配置性 可配置性是嵌入式操作系统的又一个重要特征 也是区别于通用操作系 统的一个重要特点 在嵌入式领域 底层硬件和应用需求往往变化多端 有 的系统需要存储管理单元来在虚拟地址空间上运行程序 有的不需要 有的 1 0 山东大学硕士学位论文 嵌入式系统希望具有优先级抢先调度机制 有的不需要 有的嵌入式系统希 望实时时钟的周期为2 0 m s 有的希望是1 m s 有的嵌入式系统的底层硬件 有多级中断 有的只有一级中断等等 所有这些变化就要求一个嵌入式操作 系统要想占据更大的市场份额 就必须自身具备可配置性 并界配置功能方 便易用 使得同一个嵌入式操作系统的代码在经过精心的配置后 可以在特 定的硬件平台和应用需求下获得最佳的性能 嵌入式操作系统如o s k i t l i n u x v x w o r k s 等操作系统也不同程度的可配置 3 稳定性 鲁棒性 稳定性 鲁棒性是嵌入式操作系统的必备条件之一 这是由于嵌入式系 统往往是在无人职守的情况下长期运行 又常常处在电磁干扰 高温 低温 等恶劣的工作环境下工作 而且嵌入式系统的用户往往是非计算机专业用户 他们不具备纠正系统运行状态中出现的错误的能力 因此嵌入式操作系统必 须在运行中尽量少出错误或不出错误 遇到错误能有能力自动恢复 从而保 障整个系统能持续不断地稳定的工作 成熟的嵌入式操作系统在稳定性和鲁棒性上都有比较好的表现 如 v x w o r k s u c o s i l l i n u x e c o s 等 以l i n u x 内核为例 有研究估计5 7 0 万行的l i n u x 内核源码中约包含不到1 0 0 0 个程序设计错误 错误率为不到 万分之二 要想实现较高的稳定性 就要求嵌入式操作系统的编写必须认真 仔细 并要经过大量的测试和实际检验的考验 此外还应研究操作系统的容 错技术和自动灾难恢复技术 从而保证嵌入式操作系统的稳定 鲁棒 4 功耗管理与节能 新兴出现的大量嵌入式系统是靠电池供电的移动设备 这样的设备必然 需要考虑节能问题 以使设备可以持续工作的时间更长 嵌入式设备的节能 主要应通过专用硬件技术和电池技术的发展来加以解决 如设计工作电压更 低 漏电流更小的芯片 设计能高效处理多媒体数据的多媒体专用芯片 研 制电能存储容量更大的电池等等 但是具有功耗管理功能的嵌入式操作系统 也十分重要 由操作系统的功耗管理功能可以给整个系统的节约5 0 左右的 能量 因为系统中的每个部件一般不可能在全部的时间都处于工作状态 而 功耗管理对于系统中的某一个硬件部件而言 如c p u 网卡控制芯片 内存 等 可以通过发现该部件的空闲时间来让设备进入休眠模式从而省电 从整 山东大学硕士学位论文 个嵌入式系统而言 嵌入式操作系统可以通过发掘不同硬件部件之间的相关 性来预测系统的休眠情况 从而进一步节约系统能量的消耗 嵌入式操作系统的功耗管理功能主要通过在操作系统代码中加入系统 状态监控模块和管理协调模块来完成 比如在嵌入式l i n u x 操作系统中需要 加入c p u 负载监控模块 在每个l i n u x 设备驱动程序中需要加入相应的功耗 管理监控模块 5 面向不同应用的专用特性 由于嵌入式系统是面向应用的系统 不同的应用场景有不同的功能和性 能需求 因此嵌入式操作系统也应有相应的设计来实现应用所特定的特性 比如在无线通讯终端上往往有双处理器核 一个处理核负责处理通讯 一个 处理器负责计算和控制 因此在相应的嵌入式操作系统上必须有相应的模块 来支持双核的功能 从应用支持角度 在进行选择时主要从以下几个方面加以考虑 1 0 1 1 操作系统的硬件支持度 如果在选择操作系统之前已经确定了嵌入式微处理器 可以立即把不支 持这款处理器的操作系统从候选名单中排除 目前很多商用嵌入式操作系统 都具备支持多种微处理器的能力 典型的如x 8 6 系列 a r m 系列 m o t o r o l a 系列等 而对于免费型的l i n u x 和uc o s i i 而言 世界上也已有众多的爱 好者把它们移植到了不同的硬件平台上 因此往往可以很容易找到一个移植 的范例 但是这里面有很多细节问题 并不是别人移植成功了 就代表在自 己的硬件平台上就能成功 2 开发工具的支持度 在选择嵌入式操作系统时必须要考虑与之相关的开发工具 在线仿真器 i c e 编译器 汇编器 连接器 调试器以及模拟器等都不同程度影响着操 作系统 要了解仿真器的操作对性能的影响有多大 检查一下在线仿真器是 否能与实时操作系统 r t o s 协同工作 这在调试那些最隐蔽的小错误时是很 有用的 此外还要考虑选择的嵌入式操作系统与使用的编译器是否兼容 3 能否满足应用需求 有的实时操作系统的代码只有几k b 这样可以大大节省系统的存储空 间 在对成本敏感的嵌入式应用中这是非常重要的 但选用小尺寸的操作系 1 2 山东大学硕士学位论文 统的前提条件是一定要满足系统的应用需求 最小的内核经常是仅仅支持很 少的功能 而典型的配置可能产生大得多的内核 有时供应商可以提供一份 详细的列表 说明创建包含不同服务的内核分别需要多大的存储空间 2 3 2 主流嵌入式操作系统的比较 目前市场上的嵌入式实时操作系统的提供厂商超过1 0 0 多家 品种多达 数十种 分类方法也多种多样 常见的嵌入式操作系统有 1 1 嵌入式l i n u x 这是一个非常好的免费的内核 具有稳定 良好的移植 性 优秀的网络功能 完备的对各种文件系统的支持 以及标准丰富的a p i 等 易于软件移植 应用产品开发周期短 稳定性较好等特点 嵌入式l i n u x 的开发和研究已经成为目前操作系统领域的一个热点 但是对一个不熟悉 l i n u x 的开发者来说 开发出好的实际应用产品需要的时间较长 u c l i n u x 是当前应用比较广泛的嵌入式l i n u x 操作系统之一 它名称中的 u 来源于希腊字母 i j 意思是 微 小 c 是c o n t r o l 的缩写 意 思是 控制 所以从字面上来理解u c l i n u x 是 针对微控制领域而设计的 l i n u x 系统 本文采用的就是u c l i n u x 操作系统 所以后面的章节对嵌入式 l i n u x 的介绍如果没有特别的注明 针对的都是u c l i n u x 操作系统 w i n c e 由m i c r o s o f t 公司开发的基于掌上型电脑类的电子设备的商用操 作系统 属于非时实性嵌入式操作系统 v x w o r k s 这是一个非常好的收费的r t o s 由w i n dr i v e r 公司研制 这 是一个高实时性可扩展的嵌入式实时操作系统 支持多种处理器和丌发平台 是目前世界上应用最广泛的商用嵌入式实时操作系统 但是其价格非常昂贵 用于一般用途会失去产品的竞争力 o s e 是由e n e ad a t aa b 下属的e n e ao s es y s t e m sa b 负责开发和技 术支持的操作系统 其特点是具有高处理能力 适合开发复杂的分布式系统 n u c l e u s a t l a c c e l e r a t e dt e c h n o l o g y 公司的系列产品 其特点是 约9 5 的代码用c 语言编写 方便移植 同时 可提供网络 图形 文件系 统等模块 e c o s 是r e d h a t 公司开发的源代码开放的嵌入式r t o s 产品 是一个 可配置 可移植的嵌入式实时操作系统 其特点是允许开发者定制自己的面 1 3 山东大学硕士学位论文 向应用的操作系统 uc o s i i 一个源码公开 可移植 可固化 可裁剪 占先式的实时 多任务操作系统 是一种专门为微控制器设计的操作系统 具有简洁易学 可移植性强 而且源码可以免费得到等优点 2 4u c l i n u x 技术基础 u c l i n u x 是完全开放源代码的软件项目 符合g n u g p l 公约 它从2 0 版本的标准l i n u x 开始一直跟随l i n u x 主线版本的升级与更新 u c l i n u x 包含了 l i n u x 常用的a p i 以及相关工具 保持了l i n u x 系统稳定性好 网络功能强大 文件系统卓越的优点 能够完整的支持t c p i p 协议栈 也同样支持其他多种 网络协议 仍然可以支持包括n f s e x t 2 m s d o s 及f a t 3 2 等多种文件系 统 由于对标准的l i n u x 内核进行了裁减和优化 u c l i n u x 的内核更是缩d n 5 1 2 k b 之内 u c l i n u x 官方网站的网址是 h t t p h w w w u c l i n u x o r g 相信大 家一定可以在这个网站上找到更多关于u c l i n u x 的各种资料和代码 从技术角度来看 u c l i n u x 实际上是专门针对无m m u m e m o r y m a n a g e m e n tu n i t 的嵌入式处理器而修改的l i n u x m m u 是负责将程序的 虚拟地址翻译成内存中实际地址的硬件部件 它是通过一个快速的硬件查找 表来实现的 m m u 除了可以实现虚拟地址到物理地址的翻译功能外 它还附 带的实现了进程之间的内存保护 m m u 从硬件上禁止了越权的内存访问 因 为不在地址映射表所允许范围内的内存访问对m m u 是无效的 而且会让 m m u 硬件触发产生一个异常事件并交由专门的异常处理模块来处理 m m u 机制还可以让程序的动态迁移成为可能 使程序的移植更加方便 使动态链 接库的实现非常方便 也可以通过按需加载来避免一次加载整个程序从而提 高运行速度 u c l i n u x 就是专门为这些无m m

温馨提示

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

评论

0/150

提交评论