




已阅读5页,还剩96页未读, 继续免费阅读
(系统工程专业论文)基于Atmel+9261平台的嵌入式LINUX的板级支持包BSP研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 近年来 随着嵌入式产品体系的不断完善以及各类商用操作系统的日趋成 熟 功能单一的嵌入式产品已难以满足市场的需要 嵌入式设备向着多功能 个性化 智能化的发展已成为大势所趋 带有操作系统的嵌入式平台凭借其通 用性强 交互性能好 功能强大等诸多优势受到了越来越多开发团队的青睐 成为了嵌入式系统发展的主流 在操作系统方面 l i n u x 系统作为少数完全开源的产品 已经发展为目前主 流的操作系统之一 特别是2 0 0 3 年8 月发布的l i n u x 2 6 操作系统 加强了对 于嵌入式架构的支持 加入了许多新的功能 而在硬件架构方面 低成本 高 性能的a r m 系统已经占据了相当高的市场份额 为了将两者相结合 形成统一 完善的软硬件体系 研究用于a r m 系统的嵌入式l i n u x 板级支持包 b s p 具有 十分重要的理论意义和实用价值 本研究以a t m e l 9 2 6 1 嵌入式硬件平台和最新的l i n u x 2 6 操作系统作为研究 对象 研究目标是通过软件手段将嵌入式软硬件平台有效结合 开发适用于该 系统的嵌入式b s p 并为其它平台的l i n u xb s p 开发提供参考 首先 本文设计 了一套可以用于裸机的非易失性介质烧录模块 并用于对于裸机的程序录入 在分析该系统启动引导机制的基础上 定制设计可用于启动l i n u x 2 6 系统的引 导模块 在启动基本系统的前提下 根据平台环境定制l i n u x 2 6 内核 并开发 可用于外围扩展系统的驱动程序 最后通过一系列应用程序例程对系统进行联 合测试 对该b s p 进行验证 证明了该b s p 具有功能全面 效率高 稳定性好 的特点 关键词 a r m l i n u x 2 6 板级支持包 引导模块 驱动程序 a b s t r a c t a b s t r a c t n o w a d a y s v a r i o u se m b e d d e dp r o d u c t sh a v eb e e na d d e di n t op r o d u c tl i n ea n d c o m m e r c i a lo p e r a t i o ns y s t e m sh a v eb e c o m em o r ea n dm o r em a t u r e i ti sa n i r r e s i s t i b l et r e n dt h a tt h ee m b e d d e dd e v i c e sw i nb ed e v e l o p e dt o w a r dt h ed i r e c t i o n so f m u l t i f u n c t i o n a l i n d i v i d u a la n di n t e l l i g e n t e m b e d d e dp l a t f o r m sw i t ho sa r eu s e db y m o r ea n dm o r ed e v e l o p e rt e a m sb e c a u s eo fi t so b v i o u sa n de m p h a s i z e df u n c t i o n si n i n t e r a c t i o na n dg e n e r a l p u r p o s e i nt h ef i e l do fo p e r a t i n gs y s t e m l i n u xb e c o m e sam a i n s t r e a mo n ea sa l lo p e n s o u r c ep r o j e c t e s p e c i a l l yf o rt h el i n u x2 6w h i c hw a sr e l e a s e di na u g u s t2 0 0 3 m a n y n e wf u n c t i o n sh a v eb e e na d d e di n t oi ta n dt h es i a p p o r t sf o re m b e d d e ds y s t e m sh a v e b e e ng r e a t l ye n h a n c e d m e a n w h i l e i nt h ef i e l do fe m b e d d e dh a r d w a r es t r u c t u r e s a r m p l a t f o r m sh a v ea l r e a d yc a p t u r e dah i g hm a r k e ts h a r ew i t hi t so b v i o u sf u n c t i o n s a n dl o wp 6 w e rc o n s u m p t i o n i no r d e rt oc r e a t eac o m p l e t eh a r d w a r ea n ds o f t w a r e s y s t e mu s i n gb o t hl i n u xo sa n da r mp l a t f o r m i ti so fg r e a ta c a d e m i ci m p o r t a n c e a n da p p l i e ds i g n i f i c a n c et or e s e a r c hi n t ot h ed e s i g no fe m b e d d e dl i n u xb s p sb a s e d o na r m s y s t e m s a t m e l9 2 6 1e m b e d d e dh a r d w a r ep l a t f o r ma n dl i n u x2 6o sk e r n e l a r eu s e da sr e s e a r c ho b j e c t s t h er e s e a r c hp u r p o s ei st od e s i g na l le m b e d d e db s pf o r t h ea b o v es y s t e mu s i n gs o t t w a r em e t h o d sa n da l s ot op r o v i d er e f e r e n c ef o r t h eb s p d e v e l o p m e n t so fo t h e re m b e d d e ds y s t e m s ap r o g r a m m i n gm o d u l ei sd e s i g n e dt o p r o g r a mn o n v o l a t i l es t o r a g em e d i ai nab a r em a c h i n e al o a d e rm o d u l ei sc u s t o m i z e d t ob o o tl i n u x2 6o sk e r n e la f t e ra n a l y z i n gt h eb o o ts e q u e n c eo fl i n u x l i n u x2 6 k e r n e li sc u s t o m i z e da c c o r d i n gt ot h eh a r d w a r ep l a t f o r me n v i r o n m e n ta n dl i n u x d r i v e r sa r ed e s i g n e df o rt h e 雕矗p h e r a ld e v i c e sa f t e rt h eb a s i cs y s t e mi ss t a r t e d a s e r i a lo fa p p l i c a t i o nd e m o sa r eu s e di ns y s t e m i ct e s t i n gt ov a l i d a t et h i sb s e1 1 h e r e s u l ts h o w st h a ti ti saf u l l f o u n c t i o n a l h i g h e f f i e n c ya n ds t a b l eb s p s y s t e m k e yw o r d s a r m l i n u x2 6 b s p l o a d e rm o d u l e d r i v e r 学位论文版权使用授权书 本人完全了解同济大学关于收集 保存 使用学位论文的规定 同意如下各项内容 按照学校要求提交学位论文的印刷本和电子版 本 学校有权保存学位论文的印刷本和电子版 并采用影印 缩印 扫描 数字化或其它手段保存论文 学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务 学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版 在不以赢利为目的的前 提下 学校可以适当复制论文的部分或全部内容用于学术活动 学位论文作者签名 贝牟臣 刀 孵3 月佃日 同济大学学位论文原创性声明 本人郑重声明 所呈交的学位论文 是本人在导师指导下 进行 研究工作所取得的成果 除文中已经注明引用的内容外 本学位论文 的研究成果不包含任何他人创作的 已公开发表或者没有公开发表的 作品的内容 对本论文所涉及的研究工作做出贡献的其他个人和集 体 均已在文中以明确方式标明 本学位论文原创性声明的法律责任 由本人承担 学位论文作者签名 力口湃0 月70 日 第1 章引言 1 1 研究背景 第1 章绪论 随着计算机软硬件技术的快速发展 出现了越来越多的便携设备和智能设 备 这些设备中通常包含有控制用的c p u 和相应的操作系统 这类特殊的计算 机系统叫做嵌入式系统 嵌入式系统以其简洁高效等特点在计算机 通信等领 域中得到了广泛使用 嵌入式系统主要由嵌入式处理器 相关支撑硬件 嵌入 式操作系统及上层应用软件系统等组成 它是集软 硬件于一体的可独立工作 的系统 和通用计算机不同 嵌入式系统面向用户 面向产品 面向应用 具 有低功耗 小体积 低成本 高可靠性等特点 嵌入式系统的硬件和软件都必 须高效率地设计 量体裁衣 去除冗余 力争在同样成本下实现更强的性能 嵌入式系统要针对用户的具体需要 对系统配置进行裁剪和添加才能达到理想 的性能 甚至根据用户的特殊需要 定制不同的系统以面向不同的用户 l j 在嵌入式硬件系统方面 嵌入式a r m 架构作为目前商业应用最为广泛的架 构之一 得到了越来越多的用户和厂商的认可 使用其开发的产品也与日俱增 l i n u x d e v i c e s c o i n 最新发布的 嵌入式l i n u x 市场分析预测报告 显示使用a r m 处理器的嵌入式平台已经取代了传统的x 8 6 架构 在市场中占据了将近3 0 的市 场份额 a r m 架构的处理器产品也不断推陈出新 迅速更新 本课题所使用的 a t m e l 9 2 6 1 处理器就是a r m 9 家族中的最新产品 迎合了不断发展的市场需求 在硬件不断发展的同时 在嵌入式软件领域 l i n u x v x w o r k s w i n c e 和p c 一0 s 等嵌入式操作系统得到了广泛应用 其中l i n u x 凭借其强大的网络功能和 低成本 良好的可裁减性能 很快在嵌入式领域得到了市场认可 特别是近几 年来 随着开源软件开发队伍的壮大 以及一些跨国公司的加盟 l i n u x 在性能 提高和应用广泛性等方面得到了迅猛发展 2 0 0 3 年8 月 l i n u x 开发团队推出 了最新的l i n u x 2 6 版本 对原来的l i n u x 2 4 版本进行了大幅度的改进 尤其 是针对嵌入式应用领域增加了 系列新特性 使得l i n u x 操作系统更加适用于 小型系统 如p d a 智能手机 车载导航终端等 也使得嵌入式l i n u x 在商业领 域的应用进入了一个新阶段 第1 章引言 1 2 国内外研究现状 为了将不同的操作系统应用于不同的嵌入式硬件平台 一种全新的软件系 统 嵌入式b s p 诞生了 2 b s p 是板级支持包 b o a r ds u p p o r tp a c k a g e 的 缩写 是通常用在嵌入行业中的一个术语 用来代表在一个特殊硬件平台上快 速构建一个嵌入操作系统所需的原始资料或者二进制软件包 b s p 的作用是支持 操作系统 使之能够更好的运行于硬件平台 b s p 是相对于操作系统而言的 不 同的操作系统对应于不同定义形式的b s p 包括w i n d o w sc e l i n u x v x w o r k s 竺 3 寸 近年来 嵌入式b s p 的研究取得了长足的发展 一些针对如w i n c e v x w o r k s 等商用操作系统的b s p 已经比较成熟 在嵌入式产品中大量应用 与此同时嵌 入式l i n u xb s p 也日渐成熟 得益于l i n u x 操作系统的开源特性和g p l 协定 l i n u x 开发组织针对b s p 进行了大量的研发工作 并将其成果利用互联网共享 为其它b s p 开发者提供了丰富的参考资料 l i n u x 大部分代码使用c 或者c 语言 这意味着它在各嵌入式硬件平台间 的移植比较容易实现 移植时 只需要在其他处理器支持的平台上重新编译操 作系统的代码即可实现 但操作系统的一部分核心级代码为使用汇编语言编写 有的是为了提高核心的运行速度 有的是方便对硬件的寄存器读写 所有这些 汇编代码的使用 都为系统的移植带来了问题 由于硬件抽象层的 隔离 思 路能有效解决上述问题 因此 硬件抽象层的作用开始得到了开发设计人员的 重视 目前 很多公司在嵌入式系统的开发设计过程中 都采用了硬件抽象层 板级支持包的设计方案 清华嵌入式软件系统b s p 设计实现就是如今这方面的典型实例1 4 该设计中 的b s p 是在a 跚公司提供的a n g e l 的基础上经过移植 修改而来的 它的主要 功能有网 系统的初始化 系统配置 支持软件下载调试 启动系统 a n g e l a n g e l b o o t 也是一种基于主机 目标机体系的引导程序用于i n t e l a s s a b e t x s c a l e 开发板等 a n g e l a n g e l b o o t 用于将核心和文件系统从主机上 的硬盘中下载到目标系统的内存中 然后将控制权交给核心来引导核心 a n g e l 是一段放到目标闪存设备上的代码 在目标系统启动时会首先运行它 实现目 标板的初始化工作 而a n g e l b o o t 是运行在主机方管理下载核心和文件系统的程 序 它有一个简单的配置脚本 2 第1 章引言 另一个实例就是基于东芝单片机的嵌入式系统 6 1 在该系统的硬件抽象层的 实现中 b s p 主要完成包括c p u 及其相关硬件的初始化 而操作系统启动以前的 初始化操作是b s p 的主要功能之一 初始化过程抽象为两个主要环节 按自底 向上 从硬件到软件的次序依次为片级初始化和板级初始化 片级初始化主要 完成c p u 的初始化 包括设置c p u 的核心寄存器和控制寄存器c p u 核心工作模 式等 片级初始化把c p u 从上电时的缺省状态逐步设置成为系统所要求的工作 状态 这是一个纯硬件的初始化过程 由于只存在系统模式 不需要设置c p u 的工作模式 此模式对指令和寄存器的使用不存在限制 故片级初始化比较简 单 主要是设置系统的堆栈和监视定时器的控制寄存器 关闭监视定时器 板 级初始化完成局部总线的初始化以及c p u 以外的其他硬件设备的初始化 设置 某些软件的数据结构和参数 为随后的系统级初始化和应用程序的运行建立硬 件和软件环境 这是一个同时包含软硬件两部分在内的初始化过程 其主要工 作包括功能设置中断向量 系统时钟频率 存储系统的寻址范围 l c d 和串口等 设备的初始化 最后进行操作系统的初始化 创建并启动系统任务及创建应用 程序环境 但就总体而言 嵌入式l i n u xb s p 在现阶段并不如w i n c e 之类的商用b s p 那么成熟 仍然缺乏一个统一的开发标准 但是它所具备的一系列优势使其具 有很大的发展潜力和上升空间 1 3 研究的目的和意义 本课题通过针对a t m e l 9 2 6 1 嵌入式平台l i n u xb s p 的设计 研究如何将l i n u x 操作系统与嵌入式硬件平台有效结合的软件技术 该技术不仅可用于本硬件平 台 更对于其它硬件平台的l i n u xb s p 开发具有一定的参考意义 本课题之所以选择l i n u xb s p 作为研究对象 主要因为其相对比其它商用 操作系统b s p 具较高的实用价值和明显的技术优势 如表1 1 所示 表1 1l i n u xk s p 的应用价值与技术优势 其他商用操作系统b s p 嵌入式l i n u xb s p 获取方式 随商用系统购买自行研发 购买费用较高免费 开源与否不开源或部分开源完全开源 3 第1 章引言 可移植性较差较好 技术资料困难 来源单一 来自操作系统容易 来源广泛 获取和硬件开发商 应用产品长 因为可参考的代码有限短 新产品上市迅速 因为有许 开发周期多公开的代码可以参考和移植 稳定性好 较好 在高性能系统中有待改进 由此可见 嵌入式l i n u xb s p 相比其它商用操作系统的b s p 具有明显的优 势 在如今l i n u x 操作系统和嵌入式a r m 广泛应用的背景下 研究将l i n u x 同 a r m 结合的b s p 技术有着十分重要的意义 这方面的研究有助于打破传统的嵌入 式商用操作系统垄断市场的局面 有利于开源l i n u x 嵌入式操作系统的推广 同时有效地节省了嵌入式应用的开发成本 具有一定的推广价值 1 4 研究的主要内容 嵌入式l i n u xb s p 研究是一项综合性很强的课题 虽然本课题属于软件设 计 但研究涉及底层硬件架构和运行机制 其设计目的正是为了使上层软件系 统能够与硬件相结合 实现软硬件之间的无缝连接 为上层应用铺平道路 本 课题中的研究主要针对已经设计完成的a t m e l 9 2 6 1 嵌入式开发硬件平台 定制 适合2 6 内核的嵌入式l i n u x 的板级支持包 b s p 并通过上层应用实例实现 功能连调 验证设计的嵌入式l i n u xb s p 本研究主要的工作归纳起来就是要解决两大技术问题 第一 设计适合 a t m e l 9 2 6 1 嵌入式平台的底层程序 包括用于烧写裸机中f l a s h 的烧写程序以及 根据硬件定制l o a d e r 引导程序 其中f l a s h 烧写程序利用嵌入式硬件j t a g 接 口和仿真器解决引导程序的非易失性介质烧写问题 l o a d e r 引导程序则可用于 嵌入式l i n u x 操作系统的更新和录入 同时在开机时完成对硬件的初始化 并 加载l i n u x 第二 在成功启动l i n u x 基本系统后 采用模块化设计方法 结合 开发板硬件设计 为诸如触摸屏 键盘 l c d c a n b u s 实时时钟 以太网等外 围设备设计驱动程序 1 5 论文的组织结构 第1 章 绪论 4 第1 章引言 本章介绍了论文的研究背景 目的意义以及研究工作的主要内容 第2 章 技术概述 本章对于l i n u x 内核和b s p 技术及两者关系进行了概述 第3 章 h t m e l 9 2 6 1 系统结构分析 本章介绍了h t m e l 9 2 6 1 平台的体系结构和系统组成 是b s p 设计的基础 第4 章 嵌入式l i n u x 引导模块设计 本章介绍了嵌入式l i n u x 2 6 系统在a t m e l 9 2 6 1 平台上的引导方式研究和介质烧 录技术 第5 章 嵌入式l i n u x 驱动设计 本章介绍了l i n u x 2 6 系统的驱动体系和针对h t m e l 9 2 6 1 平台的设备驱动设计方 法 第6 章 b s p 系统验证 本章介绍了b s p 中引导系统和设备驱动的测试验证方法 第7 章 结论与展望 本章对于研究成果作了总结 并展望了下一步工作 5 第2 章技术概述 2 1 引言 第2 章技术概述 本章主要对于嵌入式l i n u x 板级支持包以及l i n u x 内核技术进行概要性论 述 阐明与技术相关的一些基本理论概念 说明嵌入式l i n u x 板级支持包于l i n u x 内核的相互关系 以及在嵌入式系统中的主要应用和重大作用 2 2b s p 技术概述 板级支持包是英文b o a r ds u p p o r tp a c k a g e 的缩写 以下简称为b s p 即 板级支持包 7 1 一般而言它是针对某一特定嵌入式系统的 由嵌入式应用系统开 发平台供应商提供的 针对标准硬件板的各种驱动支持库 每个b s p 包括一种 软件模板 其中既包括设备驱动程序的抽象结构代码 也包括为具体硬件设备 提供的底层功能代码 板级支持包是嵌入式应用开发的关键环节 2 2 1 b s p 的特点 嵌入式系统作为一种特殊的计算机系统 它的软硬件结构自上而下同样可 以分为三层结构嗍 最底层的硬件环境是整个嵌入式实时操作系统实时应用程序 运行的硬件平台 不同的应用通常有不同的硬件环境 硬件平台的多样性是嵌 入式系统的一个主要特点 位于中间的是嵌入式操作系统层 这一层主要负责 完成嵌入式应用的任务调度和控制等核心功能 具有内核较精简 可配置 与 高层应用紧密关联等特点 嵌入式操作系统具有相对不变性 即选定了系统后 一般不会因为硬件和上层应用的变动而频繁更改 位于最上层的则是嵌入式应 用程序 即通常所说的上层应用 它运行于操作系统之上 利用操作系统提供 的任务机制完成特定功能的嵌入式应用 这部分是所有三层中与嵌入式系统实 际应用结合最紧密的一层 也是根据应用不同变更最大的一层 随着时间的推移 嵌入式应用逐渐深入 硬件平台种类极大丰富 同时也 为嵌入式应用的推广带来了新的问题 9 如何简单有效地使种类繁多的硬件平台 6 第2 章技术概述 适应于各种不同的应用环境和需求成为一个关键技术问题 为了解决这个技术 难点 原先嵌入式系统的三层结构逐步演化成为一种四层结构 这个新增加的 中间层次位于操作系统和硬件之间 包含了系统中与硬件相关的大部分功能 如图2 1 所示 通过特定的上层接口与操作系统进行交互 向操作系统提供底 层的硬件信息 并根据操作系统的要求完成对硬件的直接操作 由于引入了一 个中间层次 展蔽了底层硬件的多样性 操作系统不再直接面对具体的硬件环 境 而是面向由这个中间层次所代表的 逻辑上的硬件环境 因此 把这个中 间层次叫做硬件抽象层h a l h a r d w a r ea b s t r a c t i o nl a y e r p o 在目前的嵌入 式领域中通常也把h a l 叫做板级支持包b s p b o a r ds u p p o r tp a c k a g e b s p 的 引入大大推动了嵌入式实时操作系统的通用化 从而为嵌入式系统的广泛应用 提供了可能 应用程序与操作系统接口 操作系统与h a l 接口 地让与硬件接口 图2 1 嵌入式系统软硬件四层模型 h a l b s p 的提出使通用的嵌入式操作系统及高层的嵌入式应用能够有效地 运行于特定的 应用相关的硬件环境之上 使担任系统和应用程序能够控制和 操作具体的硬件设备 完成特定的功能 因此 在绝大多数的嵌入式系统中 b s p 是一个必不可少的层次 由于在系统中的特殊位置 b s p 具有以下主要特点 1 硬件相关性 因为嵌入式实时系统的硬件环境具有应用相关性 所以 作为高层软件与硬件之间的接口 b s p 必须为操作系统提供操作和控制具体硬件 的方法 2 操作系统相关性 不同的操作系统具有各自的软件层次结构 因此 不同的操作系统具有特定的硬件接口形式 在实现上 b s p 是一个介于操作系统 和底层硬件之间的软件层次 包括了系统中大部分与硬件相关的软件模块 2 2 2b s p 的功能 在功能上 b s p 主要包括两个方面 系统初始化和硬件相关设备驱动 l l 7 t 第2 章技术概述 作为系统启动的必备条件 嵌入式系统的最初级初始化工作就是由b s p 完 成的 这部分工作主要包括片级初始化和板级初始化工作 前者初始化的对象 主要是嵌入式系统的硬件核心 处理器 b s p 需要根据系统需要对一些处理器 内部寄存器进行必要的配置 例如设置系统总线数据位宽 总线频率 处理器 工作状态 地址映射等 而板级初始化的主要工作是对处理器以外的系统硬件 进行配置 例如打开开串口收发电路 初始化并启用以太网收发器等 在完成了系统最初级的初始化过程后 b s p 还要进行系统级初始化 与前两 步不同 这部分的工作主要是对软件的初始化 b s p 会引导嵌入式操作系统 并 将系统控制权移交 最终由嵌入式操作系统来完成余下的初始化工作 如加载 系统驱动程序和挂载文件系统等 b s p 另一个主要功能是硬件相关的设备驱动 与初始化过程相反 硬件相关 的设备驱动程序的初始化和使用通常是一个从高层到底层的过程 尽管b s p 中 包含硬件相关的设备驱动程序 但是这些设备驱动程序通常不直接由b s p 使用 而是在系统初始化过程中由b s p 把它们与操作系统中通用的设备驱动程序关联 起来 并在随后的应用中由通用的设备驱动程序调用 实现对硬件设备的操作 设计与硬件相关的驱动程序是b s p 设计中另一个关键环节 由于硬件驱动程序 的存在 b s p 不是一个简单的位于操作系统之下 硬件系统之上的中间层次 实 际上它的很大一部分直接渗透到了嵌入式操作系统之中 随后的章节中将对于 这部分做更详细的论述 2 2 3b s p 的设计方法 因为b s p 同时具硬件相关性和操作系统相关性 是一个介于硬件与软件之 间的中间层次 因此b s p 的开发不仅需要具备一定的硬件知识 例如c p u 的控 制 中断控制器的设置 内存控制器的设置及有关的总线规范等 同时还要求 掌握操作系统所定义的b s p 接口 另外 在b s p 的初始化部分通常会包含一些 汇编代码 因此还要求对所使用的c p u 汇编指令有所了解 此外 驱动程序的 开发还要求研究者熟悉所使用的设备的工作方式 接口特性等 总之 开发b s p 要求具备比较全面的软 硬件知识和必要的编程经验 b s p 的设计可以按照以下两种思路进行 一种方式是使各功能函数和硬件驱 动程序对上层应用不完全透明 应用程序对硬件的控制和操作将通过直接调用 其驱动程序特定的操作函数来完成 这种方式下 应用程序可以与硬件驱动程 序相互交叉 并以一个完整的运行程序放到操作系统上运行 8 第2 章技术概述 另一种方式是使各功能函数和硬件驱动程序对上层应用透明 所有驱动程 序由操作系统管理 应用程序需要使用和控制硬件必须通过操作系统的统一调 用接口来完成调用 在这种方式下 应用程序与硬件驱动程序之间被隔离 需 要通过操作系统的a p i 接口才能访问到相关的硬件 应用程序根本看不到驱动 程序的存在 驱动程序与应用程序分别加载并在系统上运行 这种方式也就是 通常所说的硬件抽象 对比两种设计思路可以发现 第一种方式中驱动程序同应用程序紧密结合 随着应用程序登记注册 管理和切换比较方便 在被调用时比较节省系统开销 因此整体效率较高 但由于驱动与应用具有相关性 导致驱动的增减和修改都 会导致上层应用的变动 需要进行重编译 在第二种方式中 应用程序与驱动 程序相对独立 应用程序对设备的访问需要通过操作系统中相应的a p i 来实现 由于在操作系统中驱动程序工作在核心态 而应用程序工作在用户态 驱动的 调用要求操作系统在两种状态之间频繁切换 从而导致系统开销较大 效率偏 低 但这种设计思路最大的优势在于它将应用与硬件隔离 规避了硬件差异带 来的开发障碍 使得上层应用可以在不同的硬件平台上方便互相移植 从而大 大提高了嵌入式应用的开发效率 综上所述 两种b s p 设计思路各有特点 且优势互补 可以在b s p 设计中 根据具体需求灵活运用 以达到功能和效率的最佳平衡 2 3 嵌入式l in u x 2 6 内核概述 l i n u x 操作系统是一个完全开放源代码的操作系统 它具有极好的可裁减 可配置 支持多种c p u 架构 有很高代码质量等优点 国内外对嵌入式l i n u x 的研究十分活跃 自1 9 9 1 年1 0 月诞生以来 经历了十多年的发展 从最初的 0 0 0 版本到最新的2 6 版本 其功能不断完善 稳定性逐渐提升 本研究所使 用的嵌入式操作系统为最新的l i n u x 2 6 内核 相比之前的版本和其它商业操作 系统 该内核均具有明显的技术优势 相比上一代的l i n u x 2 4 内核系列 最新 的2 6 内核在诸多方面作了重大改进 功能进一步完善 稳定性得到了提升i l 引 相对于上一代内核 l i n u x 2 6 内核最大的改进在于对于调度机制的改进 l i n u x 2 6 内核采用了抢占式内核 内核代码被设置了抢占点 这种设计使得调 度程序可以中止正在运行的低优先级进程而来执行优先级更高的进程 在系统 调用过程中 l i n u x2 6 会定时地检查抢占点 以避免不合理的延迟发生 进程 9 第2 章技术概述 调度经过重新编写 去掉了以前版本中效率不高的算法 调度程序每次不必扫 描所有的任务 而是在一个任务变成就绪状态时将其放到一个名为 当前队列弦 的队列之中 当进程调度程序运行时 它只选择队列中最有利的任务来执行 这样 调度就可以在一个恒定的时间里完成 当任务执行时 它就会得到一个 时间段 或在其转到另外一个线程之前得到一段时间的处理器使用权 当它的 时间段用完之后 任务就会被移到另外一个名为 过期 的队列中 而在该队 列中 任务会根据其优先级进行排序 这使得l i n u x 2 6 的多任务响应速度大为 提高 能够适应当今嵌入式系统多任务 高负荷的特点 此外 在硬件支持方面 l i n u x 2 6 对于最新的主流嵌入式处理器系列均提 供了较好的支持 本研究所用的a t m e l 9 2 6 1 处理器也在支持范围之内 同时 l i n u x 2 6 还未当今主流的外围设备提供了良好的驱动支持 例如 在协议层增 加了对于无线网络 8 0 2 1 1 b g 和i p v 6 的支持 进一步完善了网络功能 增 加了a l s a a d v a n c e dl i n u x s o u n da r c h i t e c t u r e 用以取代旧式o s s o p e ns o u n d s y s t e m 从而实现支持全杜比录音及回放 无缝混音 支持声音合成设备 u s b 声卡等 大量改进文件系统 支持w i n d o w s 的逻辑卷管理器 重写对n t f s 文件 系统的支持 改进h p f s 等 从而使l i n u x 在保留自身文件管理系统的同时其高 了对于其他操作系统文件的兼容性 总之 不断的改进已经使得l i n u x 2 6 达到了与其它商业操作系统同等的技 术水平 在部分技术上甚至超越了后者 成为了一款成熟的嵌入式操作系统 这对于一款开源系统来说是十分难能可贵的 它的开源特性更是为b s p 开发提 供了广阔的研究空间 这也是本设计将l i n u x 2 6 内核选定为操作系统的主要原 因 2 4b s p 与嵌入式操作系统 2 4 1b s p 与嵌入式操作系统的关系 作为嵌入式应用软件运行平台 嵌入式操作系统是最核心的软件 而作为 操作系统的重要支持部件b s p 也是不可缺少的 没有b s p 的支持 操作系统根 本无法在硬件平台上运行 也无法提供给应用程序硬件功能调用 可以说b s p 是操作系统与硬件之间的一个重要桥梁 两者之间的关系如图2 2 所示 1 0 第2 章技术概述 由图中所示可以看出 b s p 主体工作在操作系统下层 为操作系统访问硬件 平台提供了统一的接口 将硬件平台的差异同操作系统相隔离 b s p 与操作系统 两者的关系并不是相互孤立的 两者之间是一个交互的关系 b s p 的初始化是按 照操作系统运行的要求进行的 用以引导操作系统的引导程序目标就是将系统 控制权向操作系统移交 设备驱动程序则不只工作在b s p 层面 更直接渗透到 l i n u x 内核之中 成为操作系统的一个重要功能模块 应用程序 1 r 嵌 应用程序接口设备调用接口 入 式操作系统内核 操 内存管理模块 作 设备驱动 系 进程管理模块 统 设备管理模块 i o 管理模块 引导程序 设备驱动 b s 初始化代码 p 彳丁可千 l 土 l j r 硬件设备平台 图2 2b s p 与嵌入式操作系统的关系 2 4 2 嵌入式li n u xb s p 的组成 针对嵌入式l i n u x 的b s p 主要包括板级初始化模块 操作系统引导模块 驱动程序包三个部分 但随硬件的不同 在b s p 开发中涉及的任务也是不一样 的 由于嵌入式l i n u x 运行环境是专为嵌入式处理器定制的硬件平台 并不是 传统的x 8 6 结构p c 没有固化在主板b i o s 芯片中的引导程序 这就要求嵌入式 l i n u xb s p 的研究者开发从硬件复位之后开始的所有程序 包括p c 主板中b i o s 程序的基本功能也需要独立地实现 开发工作包括了b s p 的所有部件 即板级 初始化模块 操作系统引导模块 驱动程序包 在实际的实现过程中 板级初始化和操作系统引导由于它们是一个连续的 过程 往往并不分开而是编写在一个程序中 作为操作系统引导模块 也称为 l o a d e r 程序 而且为了能够更快更有效地开发 引导模块往往只包含系统启动 第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 xb s p 另一个重要的组成部分就是设备驱动程序 为了使l i n u x 操作系统加载后可以访问使用嵌入式系统平台中定制加入的硬件设备 需要有 特定的驱动程序将硬件进行抽象 以方便l i n u x 操作系统统一调用 这些驱动 程序构成了嵌入式l i n u xb s p 的驱动包 用于嵌入式l i n u x 的设备驱动程序主 要分为两种加载方式 可以作为驱动模块单独编译 在必要时由操作系统加载 并可随时卸载 也可以直接注册到内核中 随内核变异 随系统启动直接加载 2 5 本章小结 本章对于b s p 技术的基本概念进行了介绍 通过嵌入式软硬件层次模型说 明了嵌入式b s p 在软硬件系统中所处的地位和主要作用 对l i n u x2 6 内核进 行了概述 将其特点与b s p 研究相结合 阐明了嵌入式l i n u xb s p 与操作系统 之间的关系 提出了嵌入式l i n u xb s p 应该具备的功能 1 2 第3 章a t m e l9 2 6 1 系统结构分析 3 1 引言 第3 章a t m e i 9 2 6 1 系统结构分析 在开始b s p 设计之前 本章主要对于a t m e l9 2 6 1 硬件系统的技术特点进行 简要分析 依据不同的功能进行分类 将嵌入式硬件系统外围设备划分为最小 系统和扩展系统两部分 并分别介绍了两部分的设备组成 连接方式及相互关 系 3 2 系统特点分析 本研究中所设计的l i n u xb s p 主要针对的是a t m e l9 2 6 1 嵌入式硬件开发平 台 该平台采用a t m e l 公司最新研发的a r m 9 处理器s a m 9 2 6 1 作为平台核心l l 3 具有低功耗 高速度 高稳定性和易扩展性等特点 低功耗 作为一款工业级嵌入式c p u a t m e l9 2 6 1 在功耗控制方面做得十 分出色 在室温2 5 2 输入标准电压1 2 v 情况下 其全速运行的输入电流不超 过5 0 m a 其最大休眠电流仅有5 5 0ua 正是因为使用了这样的低功耗c p u 配 合外围电路的优化设计 整个a t m e l9 2 6 1 平台的运行功耗被控制在了3 5 w 以 内 使得该平台十分适用与对于功耗控制要求十分严格的场合 特别是在无外 置电源的情况下 较低的功耗可以大大增强产品的电池续航力 高速度 作为一款最新的a r m 9 产品 a t m e l9 2 6 1 处理器使用了a r m 公司高 速的9 2 6 e j 内核 具有d s p 扩展的指令集 支持复杂d s p 功能 如生物测量 语音识别 软调制解调或r s a 等加解密算法 在阵发模式下执行速度非常快 当处理器主频工作在1 8 0 1 删z 情况下 运算速度即可达到2 0 0 m i p s m i l l i o n i n s t r u c t i o n sp e rs e c o n d 每秒百万条指令 配合平台中的高速s d r a m 和快 速f l a s h 使得整个硬件平台的运算速度达到了很高的水平 完全足够满足现阶 段对于工业嵌入式处理器平台的运算要求 高稳定性 考虑到在工业环境中的应用 a t m e l9 2 6 1 处理器可以适应从一4 0 到8 5 c 之间的环境温度区间 且抗干扰能力较强 能够满足条件苛刻的工业 环境应用 易扩展性 c p u 的e b i 接口可以支持最大2 5 6 m 的s d r a m 和最大2 g b 的n a n i 1 3 第3 章a t m e l9 2 6 1 系统结构分析 f l a s h 同时支持最大容量2 5 6 m 的n o rf l a s h 这使得平台的存储器选择和扩展 变得十分灵活 为嵌入式平台应用提供了足够的存储空间 处理器还内置了最 高支持2 4 位色 分辨率高达2 0 4 8x2 0 4 8 的l c d 控制模块 对于如今主流的l c d 都提供了较好的扩展支持 无须外置l c d 控制模块 此外该型号的处理器还为 外围设备提供了丰富的扩展接口 如 u a r t s p i t w i s s c g p i o u s b 等 为各种外围设备的扩展提供了便利 除了设计时加入的外围模块 通过将各种 i o 引入标准接插件接口的方式 可以使用户方便得定制自己的外围扩展模块而 无须重新设计平台电路 3 3 最小系统组成分析 嵌入式系统是以实际应用为核心 对功能 可靠性 成本 体积 功耗有 严格要求的专业计算机系统 随着嵌入式系统相关技术的迅速发展 嵌入式系 统功能越来越强 应用接口更加丰富 使得嵌入式平台的结构日趋复杂化 但 无论功能模块如何繁杂 嵌入式平台总能够被划分为嵌入式最小系统和应用扩 展系统两大部分 嵌入式最小系统 是指以特定嵌入式处理器为核心 具有与其相配接的 f l a s h 电路 s d r a m 电路 j t a g 电路 基本通信端口和系统总线扩展等模块的电 路系统 该系统应当具备两大功能 首先 在硬件初始状态下 即裸板状态下 应用最小系统中的硬件结构 应当能够完成系统软件的录入 具体来说就是可 以通过最小系统中的通信端口 如串口 以太网接口等 同宿主机进行通讯 并通过特定协议装载目标机程序至目标机内存中 这些目标机程序可以用于非 易失性介质烧写或系统启动 其次 在程序已经烧写完成的目标机中 最小系 统应当能够运行l o a d e r 程序 并成功引导操作系统启动 在本研究中使用的a t m e l 9 2 6 1 硬件平台主要包括 a t m e l9 2 6 1 嵌入式处理 器 n a n df l a s h n o rf l a s h s d r a m 以太网接口及控制器 r s 一2 3 2 串口和 j t a g 接口i 如图3 1 所示 1 4 第3 章a t m e l 9 2 6 1 系统结构分析 图3 1a t m e l9 2 6 1 最小系统组成 其中s d r a m 部分采用两片1 6 位高速内存分别连接数据总线的高1 6 位和低 1 6 位 形成了3 2 位内存结构 非易失性介质分别采用一片1 6 m 的n o rf l a s h 和 另一片6 4 m 的n a n df l a s h 组成 其中n o rf l a s h 直接通过地址映射连接到c p u 的n o r 接口上 而n a n df l a s h 则通过专用的n a n df l a s h 接口进行读写 r s 2 3 2 接口通过电平转换电路与c p l j 的u a r t 控制器d 相连 专门用作调试通信端口 在以上最小系统中 d e b u gc o m 专门用作系统调试端口 用于从宿主机接受 指令并反馈系统信息到宿主机终端 以太网接口专门用于目标机程序的下载 通过特定的协议从宿主机向目标机发送 j t a g 接口直接与c p u 内部的d e b u g 模 块相连 n o rf l a s h 用于存储启动系统所需的l o a d e r 程序 相当于p c 中的b i o s n a n df l a s h 则用于存储操作系统和文件系统 类似p c 结构中的硬盘 3 4 扩展系统组成分析 嵌入式扩展系统是相对于最小系统的一个概念 扩展系统是在最小系统的 基础上建立起来的面向系统应用的扩展功能模块的统称 上一节中提到了最小 系统担负的主要工作是裸板状态下的程序录入以及系统的自举启动 这些功能 对于一个成熟的应用系统是远远不够的 实际应用中一个嵌入式系统往往包括 各种输入和输出设备 分别用于实现信息参数的输入和控制量及信息的输出 这些输入输出设备构成了嵌入式扩展系统的主体 在本研究中使用的a t m e l9 2 6 1 硬件平台上扩展系纠1 4 主要由c a nb u s 模块 串口 r s 2 3 2 模块 键盘及l e d 控制模块 u s b 模块 l c d 显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财产险知识精要
- 离婚房产分割协议中关于未成年子女权益保障细则范本
- 离婚房屋产权转移协议书范本三则
- 通信设备知识产权补充协议含多款通信专利
- 班组管理安全培训记录课件
- 达州公安安全知识培训课件
- 第04章 常用体外诊断仪器的功能模块
- 催收质检培训员工
- 《范爱农》课件大纲
- 文旅企业IP创新开发策略与2025年市场拓展分析报告
- 江西省专业技术职务任职评审表
- 物联网概述课件
- 中国旅游地理(第四版)中职PPT完整全套教学课件
- 园林机械完整版
- 几何模型“将军饮马”模型(将军饮马、将军遛马、将军造桥)(轴对称模型) 中考数学总复习必会几何模型剖析(全国通用)
- JJG 146-2011量块
- 小学数学思想方法(课件)
- 气管插管导管脱出的应急预案
- 《宠物美容与护理》全套教学课件
- 山东大学工程流体力学(杜广生)课件第5章 粘性流体的一维流动
- 底拖法在管道施工中的应用
评论
0/150
提交评论