已阅读5页,还剩56页未读, 继续免费阅读
(模式识别与智能系统专业论文)基于μclinux的嵌入式web服务器的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着微电子技术 计算机技术的飞速发展 嵌入式系统得到广泛的应用 由于嵌 入式系统具有体积小 功耗低 功能强等特点 目前已经应用于军事国防 工业控制 及智能家电等领域 同时 越来越多的嵌入式设备要求内嵌w e b 服务器 以便通过 t n t e r n e t 网络对它们进行访问 并进行一些简单的控制 u c l i n u x 是l i n u x 的一个分支 主要针对于微控制领域 它保留了l i n u x 大多数 优点 稳定 良好的移植性 强大的网络功能 完备的文件系统支持以及标准的a p l 支持 这些使得h c l i n u x 作为嵌入式操作系统具有诸多优势 本文主要实现了基于u c l i n u x 的嵌入式w e b 服务器 论文从l a c l i n u x 的内核出发 分析并探讨了内存管理 进程管理 中断处理以及启动过程等 并且描述l i c l i n u x 的 定制和裁减的流程 在此基础上 本文实现了嵌入式w e b 服务器 它主要由h t r p 引擎分析客户端请求 并根据分析结果作出相应的响应 它的主要特点是 简单 可 移植 速度快及安全 同时本文对嵌入式w e b 服务器开发中的一些问题提出了一些 建议 最后 本文对所作的工作进行了总结并展望了此嵌入式系统的进一步应用 关键词 嵌入式系统 v c l i n u x 嵌入式w e b 服务器 h r r p 引擎 a b s t r a c t w i t ht h ed e v e l o p m e n ta tf u l ls p e e di nt h em i c r o e l e c t r i ct e c h n i q u ea n dc o m p u t e r t e c h n o l o g y t h ee m b e d d e ds y s t e m sa r ew i d e l yu s e d b e c a u s ei th a ss m a l ls p a c e l o wp o w e r d i s s i p a t i o na n dp o w e r f u lp e r f o r m a n c e t h ee m b e d d e ds y s t e mh a sa l r e a d ya p p l i e dt os u c h f i e l d sa sm i l i t a r yn a t i o n a ld e f e n c e i n d u s t r i a lc o n t r o la n di n t e l l e c t u a lh o m ea p p l i a n c e sa n d s oo i l m e a n w h i l e m o r ea n dm o r ee m b e d d e de q u i p m e n t sr e q u i r eu s i n gw e bs e r v e ri ni ti n o r d e rt ov i s i tt h e mt h r o u g hi n t e r n e t a n dm a k es o m es i m p l ec o n t r 0 1 1 a c l i n u xi sab r a n c ho fl i n u x i td e s i g n e df o rm i c r o c o n t r o lf i e l dm a i n l y i ti n h e r i t e d m o s ta d v a n t a g e so fl i n u xs u c ha ss t a b i f i z a t i o n e a s i l yp o r t a b l e p o w e f u ln e t w o r k e o 唧l e t e f i l es y s t e ms u p p o r t i n ga n ds t a n d a r da p is u p p o 州n g w h i c hm a k ei th a v eag r e a td e a lo f a d v a n t a g e sa st h ee m b e d d e do p e r a t i n gs y s t e m a ne m b e d d e dw e bs e r v e rh a sb e e nd e v e l o p e di nt h i st h e s i s w h i c hb e g i n n i n gw i t h k e m d t h e na n a l y z e da n dd i s c u s s e dm e m o r ym a n a g e m e n t p r o c e s sm a n a g e m e n t i n t e r r u p t a n db o o tp r o c e s s w ea l s od e s c r i b e dk e r n e lc u s t o m i z a t i o na n di t ss i z er e d u c t i o ni ni t o n t h e s eb a s e s w cf i n i s h e da l le m b e d d e dw e bs e r v e r w h i c ha n a l y s e st h ec u s t o mr e q u e s tb y h r r pe n g i n e a n dm a k et h ec o r r e s p o n d i n gr e s p o n s ea c c o r d i n gt ot h ea n a l y s i sr e s u l t i t s m a i nc h a r a c t e r i s t i ci ss i m p l e p o r t a b l e f a s ta n ds e c u r e m e a n w h i l e w ep u tf o r w a r ds o m e s u g g e s t i o n sa b o u td e v e l o p i n ge m b e d d e dw e bs e r v e r f i n a l l y as u m u pa n dp r o s p e c to ft h e f u r t h e ra p p f i c a t i o no ft h i se m b e d d e ds y s t e ma r eg i v e n k e yw o r d s e m b e d d e ds y s t e m u c l i n u x e m b e d d e dw e bs e r v e r h i me n g i n e 2 y7 6 3 4 3 5 声明 本学位论文是我在导师的指导下取得的研究成果 尽我所知 在 本学位论文中 除了加以标注和致谢的部分外 不包含其他人已经发 表或公布过的研究成果 也不包含我为获得任何教育机构的学位或学 历而使用过的材料 与我一同工作的同事对本学位论文做出的贡献均 己在论文中作了明确的说明 研究生签名 醚 巨这2 睨基年诟月b 毛日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档 可以借阅 或上网公布本学位论文的全部或部分内容 可以向有关部门或机构送 交并授权其保存 借阅或上网公布本学位论文的全部或部分内容 对 于保密论文 按保密的有关规定和程序处理 研究生签名 硕士论文 基于u c l i n u x 的嵌入式w e b 服务器的研究 1 绪论 1 1 研究背景及意义 数字化生存 的作者尼古拉 庞帝来中国讲演时 曾预言未来p c 的市场 份额将逐渐减少 取而代之的将是价格非常便宜 种类异常繁多的嵌入式 i n t e m e t 接入设备 在预测未来i n t e m e t 技术往何处去的时候 包括美国贝尔实 验室总裁a r u nn e t r a v a l i 在内的一批科学家强调了嵌入式技术与i n t e m e t 技术 的融合 在以后的阶段 将会产生比p c 时代多成百上千倍的瘦服务器和超级 嵌入式瘦服务器 随着微电子技术 计算机技术等的飞速发展 目前基于3 2 位嵌入式微处 理器的计算机应用正处于迅猛发展的时期 据不完全统计 全世界嵌入式处理 器的品种总量已经超出1 0 0 0 种 流行体系结构有三十个系列 同时 连入互 连网的嵌入式系统的出现 将给地球披上 电子皮肤 嵌入式片上系统 s y s t e m o nac h i p 被称为 瘦服务器 将来这些瘦服务器将与这个世界上的各种物 理信息 生物信息相连接 通过i m e m e t 网 我们可以自动地 实时地 方便 地 简单地得到需要对象地信息 将众多的小设备挂到i n t e m e t 网上有如下意义 1 大大扩展了数据的传输范围 因为 m e m e t 是多样异种异构网络的集 合体 因此数据在传输时可以跨越异种网络的限制 只有i n t e m e t 蔓 延的地方 数据都能够到达 数据传输速度以及传输质量得到了进一步的提高和保证 所能传输的数据信号 不必再局限于单一的数据信息 传递包括声音 图像在内的多媒体信息也将得到支持 由于通讯协议的公开性 人们可以开发一些通用的应用程序来读取信 息 如w e b 浏览器 而且根据人们的需要 可以对这些工具的繁简程 度进行定制 由于相同的数据信息对于不同的用户将会产生不同的需求 如运行人 员主要用于监视与控制系统正常运行 管理人员将根据收集到的信息 进行决策等 因此用户可以根据各自的需要定义不同的视图 有利于 进行显示和操作 嵌入式i n t e r n e t 与嵌入微处理器 嵌入式微控制器技术密切相关 同时需 要嵌入式软件及嵌入式开发工具的发展更新 因此包括m o t o r o l a s i e m e n s i n f i n e o n 和p h i l i p s 在内的数十家公司联合成立了 嵌入式i n t e m e t 联 盟 e t d 共同推动这一市场 可以预言 嵌入式设备与i n t e m e t 的结合代表 硕士论文 着嵌入式系统和网络技术的真正未来 1 2嵌入式系统研究概况 嵌入式系统是以应用为中心 阻计算机技术为基础 软硬件可裁减 适应 应用系统对功能 可靠性 成本 体积 功耗严格要求的专用计算机系统 它 的历史几乎和计算机自身的历史一样长 它们最初于六十年代晚期在通讯中被 用于控制机电电话交换机 由于在过去的十多年里 计算机产业不断朝着更小 的系统方向发展 嵌入式系统也与之一起为这些小型机器提供了更多的功能 渐渐地 就需要把这些嵌入式系统连接到某种网络上 因而也就产生了对网络 栈的要求 这提高了系统的复杂程度并要求更多的存储器和接口 还有操作系 统的服务 o 七十年代晚期出现了用作嵌入式系统的现成的操作系统 现在有许多可行 的选择方案 其中 一些主要的竞争者开始崭露头角 比如 目前常见的实时 操作系统有 w i n dr i v e rs y s t e m 公司的v x w o 成s 和p s o s m i r c r o w a r e 公司的 0 s 9 m i c r o t e c 公司的v r t x q n xs o f t w a r es y s t e m 公司的q n x r e d h a t 公司的e c o s 等 常见的嵌入式非实时操作系统有m i c r o s o f t 公司的w i n d o w s c e e m b e d d e d w i n d o w s x p p a l m 公司的p a l m o s s y m b i a n 公司的e p o c 嵌入式l i n u x 系统等 现今 嵌入式操作系统在嵌入式系统中占的比重日显突出 因为现在的嵌 入式系统所要完成的工作越来越复杂 程序的代码越来越庞大 需要管理的外 设越来越多 只有拥有嵌入式多任务的操作系统 开发的重点工作才能由原来 的硬件 软件的调试转变到应用程序的性能提高 智能软件的编写 此外 只 有在一个完整的 具有统一编程规范的操作系统的基础上 使用高级语言开发 出的应用程序 才具有良好的移植性 才能被重复使用 嵌入式系统的核心硬件部分是各种类型的嵌入式处理器 从功能上看 用 于嵌入式系统的嵌入式处理器主要分为3 类 嵌入微处理器 e m b e c i d e d m i c r o p r o c e s s o ru n i t 简称e m p u 嵌入式微控制器 m i c r o c o n t r o l l e ru n i t 简 称m c u 嵌入式d s p 处理器 e m b e d d e dd i s t a ls i g i t a lp r o c e s s o r 简称e d s p 目前典型的嵌入式处理器有 a r m a d v a n c e dr i s cm a c h i n e s m i p s m i c r o p r o c e s s o rw i t h o u ti n t e r l o c k e dp i p e ds t a g e s p o w e r p c 6 8 k c o l d f i r e 等 1 3 嵌入式1 1 c l i n u x 系统概况 u c l i n u x 是一个完全符合g n u g p l 公约的操作系统 完全开发代码 现 在由l i n e o 公司支持维护 u c l i n u x 的 u 代表微小之意 字母 c 代表 硕 匕论文基于u c l l n u x 的嵌入式w e b 服务器的研究 控审4 器 所以从字面上就可以看出它的含义 即 微控制领域中的l i n u x 系统 u c l i n u x 从l i n u x 2 0 2 4 内核派生而来 沿袭了主流l i n u x 的绝大部分特性 它是专门针对没有m m u m e m o r ym a n a g e m e n tu n i t 的c p u 并且为嵌入式系 统做了许多小型化的工作 适合于没有虚拟内存或内存管理单元 m m u 的处 理器 例如a r m 7 t d m i 它通常用于很少内存或f l a s h 的嵌入式系统 l a c l i n u x 是为了支持没有m m u 的处理器而对标准l i n u x 作出的修正 它保留了操作系 统的所以特性 为硬件平台更好的运行各种程序提供了保证 在g n u 通用公 共许可证 g n ug p l 的保护下 运行l a c l i n u x 操作系统的用户可以使用几乎所 有的l i n u xa p i 函数 不会因为没有m m u 而受到影响 由于 a c l i n u x 在标准 的l i n u x 基础上进行了适当的裁减和优化 形成了一个高度优化的 代码紧凑 的嵌入式l i n u x 虽然它的体积很小 它仍然保留了l i n u x 的大多数的优点 稳定 良好的移植性 强大的网络功能 完备的对各种文件系统的支持 以及 标准的a p i 等 u c l i n u x 的基本框架图如下图所示 系统调用处理函数l 虚拟文件系统管理模块 紊囊 文件系统模块 图1 1u a i n t j x 的基本架构 由于u c l i n u x 缺少了m m u 的支持 l a c l i n u x 的多任务管理功能受到一定 限制 主要有如下缺陷 l a c l i n u x 中无法实现f o r k 而只能使用v f o r k 0 这并不意味着 c l i n u x 不具有多任务功能 而是父进程在调用v f o r k 0 之后 必须在子进程调 用e x e c 0 或者e x i t 之前阻塞 i 叫刮引 l 绪论硕士论文 标准l i n u x 中的内存分段为应用程序提供了很大的堆空间和栈空间 而c l i n u x 为可执行程序在紧随它的数据段结束处分配堆栈空间 这 样如果堆增长的太大 它将可能覆盖程序的静态数据段和代码段 u c l i n u x 中没有自动扩展的栈 也没有b r k 0 调用 用户必须通过使用 m m a p 0 来分配内存空间 用户可以在程序的编译过程中指定栈的大 小 不具有内存保护机制 任何程序都有可能导致内核崩溃 1 4 嵌入式i n t e r n e t 及嵌入式w e b 服务器研究现状 单片机或微控制器 m c u 已经在工业和家庭等各个领域得到了广泛应 用 目前在这些应用中 大多数嵌入式系统还处于单独应用的阶段 他们之间 共同的特点是 以m c u 为核心 与一些监测 服务 指示设备配合来实现功 能 m c u 本身是嵌入在相关设备中的 不具有自己独立的外壳 在有的应用 中 为了实现多个m c u 之间的信息交流 常利用c a n r s 一2 3 2 r s 一4 8 5 等 总线将m c u 组网 但这种网络的有效半径有限 相关的通讯协议也比较少 并且是孤立于i n t e m e t 的 要把嵌入式设备接入i n t e r n e t 目前通常的接入方案 有如下三种 1 4 11 6 3 2 b i tm c u 嵌入式操作系统 采用3 2 b i t 高档单片机 在多任务嵌入式操作系统平台上进行软件开发 以 达到在嵌入式系统中实现t c p i p 协议处理 如图1 2 所示 弋 厩磊翮 om 器为核心的嵌入式系统l l j 图1 2 直接实现t c p l p 的方法 此方案的优点 嵌入式系统直接与i n t e r n e t 有很大的灵活性 缺点 占 用资源较多 成本偏高 对开发人员的能力要求也比较高 无法在以8 1 6 b i t 的低速微控制器为核心的嵌入式系统上实现 1 4 2 m c u 内部专用网络 专用网关 采用内部专业网络 如r s 2 3 2 r s 一4 8 5 c a nb u s 等 把一批单片机连接 在一起 然后再将该专业网络连接到一个特殊的网关上 如图1 3 所示 该网 关将负责把内部专业网络上的信息转换成t c p i p 协议数据包 然后发到网上 硕士论文基于u c l i n u x 的嵌入式w e b 服务器的研究 实现信息传输 该方案的优点 通常增加到嵌入式系统中的负责通讯任务进程 的相关代码比较小 不会影响m c u 的正常运行 解决了以低速8 1 6 b i tm c u 为核心的嵌入式系统接入i n t e m e t 的问题 同时 网关可阻管理多个嵌入式设 备 从而提高了嵌入式网络的结构化 智能化 缺点 需要一个专门的嵌入式 网关 而且网关和嵌入式系统之间的通讯距离同样受到距离和速度的限制 对 于过于分散的嵌入式系统而言 这种方法的实现成本将会增加 圈1 3 采用嵌入式网关的方法 1 4 38 比特m c u t c p i p 协议栈芯片 这个方案是由价格低廉的8 比特m c u 加上固化了t c p i p 协议栈的芯片 来组成应用系统的核心 应用系统可以直接拨号上网 这种解决方案的特点是 硬件电路相对简单 但是片上系统要求大容量的存储器 根据这种设计思路 t c p i p 协议可以选择软件固化或是硬件固化两种方式 不过 在采用软件固 化协议栈时 若采用的t c p 1 p 协议芯片是软件固化的 还要求m c u 具有较 高的运算速度 在分析比较了上述嵌入式设备接入i n t e r n e t 的三种实现方案的基础上 本 课题将基于方案一的思路 学习和探讨基于1 6 3 2 b i tm c u 和嵌入式操作系统 的i n t e r n e t 应用开发问题 并且在嵌入式操作系统的基础上支持基本的h t t p 规范 研究及实现嵌入式w e b 服务器 e w s 选择的理由如下 1 随着硬件水平和对嵌入式系统功能要求的不断提高 在嵌入式系统中 应用嵌入式操作系统是大的趋势 从8 位 1 6 位单片机发展到以a r m c p u 核为代表的3 2 位嵌入式处理器 嵌入式操作系统将替代传统的 由手工编制的监制程序或调度程序 成为重要的基础组件 更重要的 是嵌入式操作系统可以对应用程序起到屏蔽的作用 使程序员面向操 作系统开发应用级软件 并易于在不同的a r m 核的嵌入式处理器上 移植 2 u c l i n u x 除了在1 3 节中提到的优点外 它还具备一整套工具链 容 易在l i n u x 或者w i n d o w s 的环境下 与其建立交叉运行环境和开发环 境 可以跨越 a g i c e 等障碍 3 如何设计和制造嵌入式瘦服务器 嵌入式网关和嵌入式因特网路由器 硕士论文 已经成为嵌入式i n t e m e t 时代的关键和核心技术 本课题对嵌入式瘦 服务器的研究 可以帮助了解嵌入式网关和嵌入式路由 而这些将是 嵌入式i n t e m e t 大规模应用的重要设备 此外 一股情况下 在设计嵌入式w e b 服务器 e w s 时 要考虑以下三个 方面的问题 1 资源有限 开发e w s 必须把设备资源的相对有限这个问题考虑进去 e w s 必须符合嵌入式设备的内存要求 并且限制其处理权力 2 可靠性 一般的网络设备需要高可靠性 作为网络设备的嵌入式组成 部分 e w s 同样需要高可靠性 因为它是优先级较低的进程 所以至 少它必须防止内部的错误在整个系统中蔓延 3 安全性 e w s 必须提供一种机制 限制对敏感数据的访问 现有的 s e c u 胁 i t r p 是h r r p 的一种扩展 在w e b 服务器和w e b 浏览器之 间进行鉴权及数据加密的 e w s 设计时必须考虑对不同的嵌入式设备 使用相应的安全等级 1 5 嵌入式i n t e r n e t 技术的应用前景 嵌入式 n t e m e t 技术具有广阔的应用前景 它可以渗透与人们生活和工作 中的诸多领域 这些领域包括 1 信息家电 冰箱 空调等的网络化 工业自动化 目前已经有大量的8 1 6 3 2 位嵌入式微控制器在应用 中 网络化是提供生产效率和产品质量 减少人力资源的主要途径 智能公路 交通管理 车辆导航 流量控制 信息监测与汽车服务 工业制冷 冷库 中央空调 超级市场冰柜 虚拟现实家政系统 水 电 煤气表的自动抄表 安全防火 防盗系 统 p o s 网络及电子商务 公共交通无接触智能卡 c o n t a c t l e s ss m a r t c a r d c s c 发行系统 公共电话卡发行系统 自动售货机 1 6 本文的工作 1 选择模拟集成开发环境 并对模拟的开发板的硬件作一些介绍 2 对v c l i n u x 内核的主要部分 内存管理 进程调度 中断处理 启动 过程等部分进行研究分析 这部分是将为c l i n u x 的定制和裁减 以 及在其中实现e w s 打下基础 3 定制和裁减l a c l i n u x 使其编译出的内核更小 并能适用与 3 c 4 5 1 0 b 芯片 硕士论文 基于u c l i n u x 的嵌入式w e b 服务器的研究 4 研究和实现e w s 支持基本的腓规范 支持认证 5 通过模拟集成开发环境 验证软件系统的正确性 模拟集成开发环境硕士论文 2 模拟集成开发环境 本课题将基于s k y e y e 硬件模拟平台 模拟e v a l u a t o r 7 t 开发板 把经过定制 和裁减后的u c l i n u x 移植到上面 并在其上实现嵌入式w e b 服务器 因此下面将对 模拟集成开发环境s k y e y e e v a l u a t o r 7 t 开发板 以及嵌入式系统的调试方法做一 些介绍 为在其上的开发 调试做一些必要的铺垫 2 1 s k y e y e 介绍 s k y e y e 是一个开源软件 o p e n s o u r c e s o f t w a r e 项目 中文名字是 天目 s k y e y e 的目标是在通用的l i n u x 和w i n d o w s 平台上实现一个纯软件集成开发环境 模拟常见的嵌入式计算机系统 可在s k y e y e 上运行v c f i n u x 以及uc o s i i 等多种 嵌入式操作系统和各种系统软件 如t c p i p 协议栈 图形子系统 文件子系统等 并可对它们进行源码级的分析和测试 1 纯软件的模拟器有许多种 如模拟一个芯片时序逻辑的模拟器 只模拟c p u 指令的模拟器 模拟整个硬件开发板的模拟器 模拟一个p d a 的模拟器等 目前 存在一些纯软件的仿真器或模拟器 如s t a n f o r d 大学的s i m o s 模拟器 它仿真的 是m i p s 系列c p u 和相关外设 可以在其上运行s g i 公司的i r i x 操作系统和软件 目前基本上停止了进一步的开发 p s i m 是一个仿真p o w e r p c 指令集的模拟器 目 前只支持简单的命令行应用程序 x c o p i l o t 是一个p d a 模拟器 它是由g r e gh e w g i l l 出于个人喜好编写的 它仿真的是m 6 8 kc p u 通过它可以给基于p a l m o s 的软件 开发者提供一个模拟开发环境 b o c h s 是一个仿真x 8 6c p u 的开源项目 目前还支 持a m d 6 4c p u 在它上面可以运行l i n u x 操作系统 其它一些商业软件的仿真软 件如v l r l w a r e 和v i r t u a l p c 可以仿真一个真实的x 8 6 计算机 而v 1 r t u t e c hs i m i c s 仿 真器可以仿真多种c p u 和硬件 功能强大 可以用于硬件和系统软件的评测 s k y e y e 是一个指令级硬件模拟平台 可以模拟多种嵌入式开发板 可支持多种 c p u 指令集 在s k y e y e 上运行的操作系统意识不到它是在一个虚拟的环境中运行 而且开发人员可以通过s k y e y e 调试操作系统和系统软件 由于s k y e y e 的目标不是 验证硬件逻辑 而是协助开发 调试和学习系统软件 所以在实现上s k y e y e 与真实 的硬件环境相比还是有一定差别的 s k y e y e 的意义及学习 选用s k y e y e 的原因有如下三个方面 通过s k y e y e 硬件模拟平台可以很方便地进入到嵌入式系统软件学习和开 发的广阔天地中 尤其对于缺少嵌入式硬件开发环境和软件开发环境的用 户来说 它将是一个非常有效的学习工具和开发手段 因为s k y e y e 的整 个软件系统都是开放源码的 且基于g p l 协议 uc o s h 除外 硕士论文 基于u c l i n u x 的嵌入式w e b 服务器的研究 如果想研究与具体硬件无关的系统软件 如t c p i p 协议栈等 采用s k y e y e 可以有效地提高工作效率 因为可以直接在u c o s h 和u c l i n u xf o r s k y e y e 上进行开发和调试 而与具体硬件打交道的各种驱动已经存在 且 有源码级调试环境 所以开发人员只需关心高层的逻辑设计和实现就可以 了 s k y e y e 本身作为一个开放式的项目体系 可以划分为多个独立的子项目系 统 可以通过进一步学习 分析 精通l i n u x 内核 掌握a r m 嵌入式c p u 编程 当然 s k y e y e 并不能取代开发板等硬件的功能 但通过它可以比较容易进入 到嵌入式软件的广阔天地中 由于s k y e y e 建立g d b 基础之上 使用者可以方便 地使用g d b 提供的各种调试手段对s k y e y e 仿真系统上的软件进行源码级的调试 还可以进行各种分析 如执行热点分析 程序执行覆盖度分析等 2 2 模拟硬件平台 2 2 1 c p u 和开发板的模拟 目前s k y e y e 可以模拟的c p u 主要是基于a r m 内核的c p u 包括a r m 7 t d m i a r m 7 2 0 t a r m 9 2 0 t a r m 9 x x s t r o n g a r m x s c a l e 等 a r m 7 9 1 0 t d m i 是a r m 系列c p u 的基本核心部分 它们不支持m m u c a c 唧和一些扩展指令 是a r mc p u 基本核 a r m 7 2 0 t a r m 9 2 0 t a r m l o x x s t r o n g a r m x s c a l e 是建立在以上a r m c p u 核上 并扩展了m m u c a c h e 和其他功能 各硬件开发公司可以根据他们的需 求在上述c p u 核上加上特定的扩展 形成基于各种a r m 基本核心的特定c p u 如 a t m e l 9 l x 4 0 和e p 7 3 1 2 分别扩展了a r m 7 t d m i 和a r m 7 2 0 t 的内存控制和各种i o 控制器 简化了开发板的逻辑设计 大大增强了开发板的功能 目前s k y e y e 模拟的开发板包括基于 3 c 4 5 1 0 b 的开发板 基于a t m e l 9 1 x 4 0c p u 的开发板 基于c r i c u sl o g i ce p 7 3 1 2 的开发板 基于s t r o n g a r mc p u 的a d s b i t s y 开发板 基于x s c a l ep x a 2 5 0c p u 的l u b b o c k 开发板等 2 2 2网络芯片 目前s k y e y e 模拟了网络芯片8 0 1 9 a s 其特点是 n e 2 0 0 0 兼容 内建1 6 k r a m 缓冲区 1 0 m b 传输速率 虽然目前模拟的开发板上不一定有网络芯片8 0 1 9 a s 但 可以在模拟的开发板上加上网络芯片8 0 1 9 a s 的模拟 这样再加上在不同操作系统上 的8 0 1 9 a s 驱动程序 就可以方便地完成各种网络应用地开发和设计 目前已经在基 于a t m e l 9 1 x 4 0c p u 的开发板上实现了网络芯片8 0 1 9 a s 扩展 并增加了uc o s l i 和u c l i n u x 的网络驱动程序 已经支持大量的网络应用程序 此外 s k y e y e 模拟了其它的硬件 包括存储器 存储管理单元 缓存单元 串 模拟集成开发环境硕士论文 口 时钟 l c d t c i u c hs c r e e n 等的模拟 2 2 3e v a l u a t o r 7 t 开发板 a r me v a l u a t o r 7 t 是一款a r m 公司推出的采用s a m s u n g4 5 1 0 微控制器的评估 板 板上集成了最小核心设备 预装了b o o r s 扛a pl o a d e r 和a n 毋e 等驻留模块 可以 很方便地进行程序下载 并通过多种调试手段进行调试 同时 将所有接口都采用可 扩展的方式留给用户自行添加 u 在该评估板上主要集成了如下的器件 s a m s u n gk s 3 2 c 5 0 1 0 0 4 5l o b 微控制器 5 1 2 kf l a s h 髓p r o mb o o tr o m 5 1 2 k 3 2 b i t w i d e s r a m 2 个9 p i nd t y p er s 2 3 2 连接器 4 个l e d s 1 个7 段数码管 1 个4 位d i p 开关 m u l d i 2 e 连接器等 1 0 m h z 时钟 处理器使用它产生5 0 m h z 的时钟频率 该评估板的硬件结构如图2 1 所示 0 图2 1a r me v a l u a t o r 7 t 系统结构圉 硕士论文基于u c l i r l u x 的嵌入式w e b 服务器的研究 3 c 4 5 1 0 b 是专为以太网通信系统的集线器和路由器设计的 具有低成本和高性 能的特点 3 c 4 5 1 0 b 中内置了a r m 公司设计的1 6 3 2 位a r m 7 t d m i 处理器 可以 执行3 2 位的a r m 指令 也可以执行1 6 位的t h u m b 指令 由于 3 c 4 5 1 0 b 芯片是 面向网络应用的 因此在芯片内部集成了一个以太阿控制器 该控制器工作于m a c 媒体访问控制器 层 完全兼容i e e e 8 0 2 3 协议标准 它能运行于1 0 m b p s 1 0 0 m b p s 模式 该控制器包括一个接受 发送单元 一个流控制器 一个用于存放网络地址的 内容可寻址存储单元和一系列命令 状态寄存器 3 c 4 5 1 0 b 在芯片上集成了很多功能 主要有 8 k b 的c a c h e s r a m 以太网控制器 两个u a r t 通道及两个d m a 通道 为r o m s r a m f l a s h s d r a m d r a m 以及扩展 o 提供8 1 6 3 2 b i t 的 扩展外部总线支持 两个h d l c 通道 每个通道可支持1 0 m b p s 1 8 个可编程i o 口 中断控制器 支持2 1 个中断源 包括4 个外部中断 两个可编程3 2 位定时器 因为 3 c 4 5 1 0 b 内嵌了一个以太网控制器 支持媒体独立界面 m 毋和带缓冲的 d m a 界面 可在半双工和全双工的模式下提供1 0 m l r 0 0 m b p s 的以太网接入 所以特 别适合于网络相关应用 正满足于本系统开发的需要 2 3嵌入式系统调试方法 从交叉调试的技术实现途径以及它的应用情景两个角度看 调试方法通常可以分 为 硬件级调试 和 源码级软件调试 两大类 例如 最常见的在线仿真器i c e 和j t a g 仿真器就属于硬件级调试工具 而g d b 包括运行在目标机上的g d b s e r v e r 或g d b s t u b 程序 则属于源码级软件调试工具 1 g d b 远程调试 在目标机上有一小段代码驻留在其中 这段代码称为 调试 桩 d e b u g g i n gs t u b 也称为 调试代理 d e b u g g i n g a g e n t 其责任就是 在目标机上实现由主机上的调试器发送过来的调试命令 并且向主机调试器 报告目标机上发生的异常事件 调试代理与g d b 主机之间的通讯遵循 g d b 远程串行协议 r e m o t e s e r i a lp r o t o c 0 1 简称 g d br s p 协议 目前已经 实现的g d b 调试代理主要有三种 最基本的g d b s t u b 实现 g d b s e r v e r 程序 k g d b 程序 下图是用g d b 和g d b 调试代理进行远程调试的系统框架结构 这个调试方法也是本课题使用的主要调试方法 模拟集成开发环境硕士论文 1 2 图2 2 用g d b 进行远程调试的系统框架结构 2 j t a g 仿真器 j t a g 仿真器也称为j t a g 调试器 可以对具有j t a g 接口 芯片的硬件电路进行边界扫描和故障检测 j t a g 仿真器比较便宜 连接比 较方便 通过现有的j t a g 边界扫描口和a r mc p u 核通信 属于完全非插 入式调试 它无需目标存储器 不占用目标系统的任何端口 而这些是驻留 监控软件所必须的 另外 由于j t a g 调试的目标程序是在目标板上执行 仿真更接近于目标硬件 因此 许多接口问题可以被最小化 使用集成开发 环境配合j t a g 仿真器进行开发是目前采用最多的一种调试方式 3 在线仿真器 i c e 在线仿真器可以代替物理目标上的处理器或m c u 其表 现与被代替的目标处理器完全一样 而且它允许用户查看处理器内部的数据 或代码并控制c p u 的运行 通常在线仿真器的价格昂贵 并且其技术实现 的特点决定了对于每一种不同的处理器通常都要有不同的仿真器硬件电路 限制了i c e 的通用化及标准化 硕士论文基于u c l i n u x 的嵌入式w e b 服务器的研究 3 c l i n u x 内核浅析 3 1 源文件组织结构 用户可以从u c l i n u x 的官方网站w w w u c l i n u x o r 2 上免费下载c l i n u x 的源码包 该网站定期为新推出的l i n u x 内核更新相应的l a c l i n u x 源码包 本文使用的源码包为 u c l i n u x d i s t 2 0 0 4 1 2 1 5 t a r g z 使用的内核版本为2 4 2 7 下载此源码包后 执行t a rz x v f u c l i n u x d i s t 一2 0 0 4 1 2 1 5 t a r g z 在当前目录将会生成一个u c l i n u x d i s t 的新目录 这个 目录就是u c l i n u x 的源码根目录 里面有进行p c l i n u x 开发的所有的源代码 u c l i n u x d i s t 根目录下有如图3 1 示的几个目录 c s i 图3 1p c l i n u x 源码包目录结构组织 本文选用的是2 4 2 7 的内核 所以我们将讨论一下l i n u x 一2 4 x 目录下子目录结 构 1 a r c h a r c h 是a r c h i t e c t u r e 一词的缩写 内核中与具体c p u 和系统结构相关的代 码分别放在下一层的子目录中 而相关的 h 文件则分别放在i n c l u d e a s m 目录下 此目录下增加了a r l l l n o r n l t l u m 6 8 k n o m m u 等目录 这些是对无m m u 处理器的支 u c l i n u x 内核浅析硕士论文 持 2 d r i v e r s 设备驱动程序 包括各种块设备和字符设备的驱动程序 3 f s 文件系统 每个子目录分别对应一个特定的文件系统 还有一些共同的源程 序则用于虚拟文件系统 v f s 4 i n c l u d e 包含了所有的 h 文件 如a r c h 子目录一样 在i n c l u d e 中也是为各种c p u 都设置了一个子目录 如a s m a r m a s m a r m n o m m u 等 除此之外 还有通用的子目 录l i n u x n e t 等 5 i n i t 内核的m a i n 及初始化过程 6 i p c 包含内核进程间通信的文件 7 k e m e t 包含进程管理和调度的文件 如s c h e d c f o r k c s o f t i r q c 等 8 l i b 通用的工具性子程序 如对出错信息的处理等 9 m l t i m m i l o t n m l l 内存管理 分别对应m m u 和无m m u 的内存管理 1 0 n e t 包含了各种不同的网卡和网络规程的驱动程序 一般在每个目录下都有一个m a k e f i l e 文件 这个文件是编译时使用的辅助文 件 仔细阅读这个文件对弄清各个文件之间的联系很有帮助 而且有的目录下还有 r e a d m e 文件 它是对该目录下的文件的一些说明 同样有利于对内核源代码的理 解 3 2内存管理 内存管理是操作系统中非常重要的子模块 如同普通的操作系统一样 在嵌入式 操作系统中 内存管理实现的好坏对系统的性能有决定性的作用 l i n u x 内核的内存 管理子系统性能优越 目前大多数使用的嵌入式l i n u x 解决方案中都直接使用了标准 l i n u x 内存管理机制 或者对l i n u x 内核的内存管理子模块做了很小的改动 例如去 掉那些为高端应用而引入的复杂的内存管理机制 像基于z o n e 和s l a b 块的内存分配 机制等 从目前开源的主流嵌入式i a n u x 分析中可以发现 像h a r d h a t l i n u x 使用的 l i n u x 内核中的内存管理子模块没有进行任何修改 而像c c t i n u x 这样的嵌入式l i n u x 系统 就是直接使用了没有做过任何修改的标准l i n u x 内核 从这两个例子可以看出 目前嵌入式l i n u x 领域对内核的裁减中很多都没有涉及到内存子模块 同时 因为目 前的l i n u x 内核已经支持很多的非x 8 6 平台 像对a r m m 6 8 k p p c s p a r c a l p h a 等都有很好的支持 这也是嵌入式系统开发人员没有修改内存子模块的原因 但是在 嵌入式设备中 由于成本等因素的影响 普遍采用不带有m m u 的处理器 这就决定 了嵌入式系统没有足够的硬件支持来实现虚拟存储管理技术 同时 在带有m m u 的 系统 当进程访问的页面不在内存时 系统发生缺页异常 系统处理该中断 并将页 面加载到内存中 这需要极耗时间的磁盘f o 操作 这对于有些系统尤其实时系统是 硕士论文基于u c l i n u x 的嵌入式w e b 服务器的研究 不可接受的 出于以上原因的考虑 嵌入式l i n u x 对于缺少m m u 支持的内存管理仍 然是值得关注的问题 因此在嵌入式l i n u x 领域出现了c f i n u x 其独特之处在于它 的内存管理方面的特性 也正是这个特性使其成为优秀的嵌入式l i n u x 操作系统 u c i i n u x h e a p 畲 豢阂 s t a t i c d a t a t e x t 使甩m l v l a p 分配h e 印页 固定大小 s t a c k 没有间隙 图3 2l i n u x 和 c l i n u x 地址空间比较示意图 上图为l i n u x 和u c l i n u x 用户地址空间分配示意图 l i n u x 采用了虚拟页式存储 管理 1 同样 u c l i n u x 也是采用的是存储器的分页管理 系统在启动时把实际存 储器进行分页 在加载应用程序时程序分页加载 但是由于没有m m u 管理 所以实 际上u c l i n u x 采用实存储器管理策略 由于c l i n u x 系统对内存的访问是直接的 所 有程序中访问的地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度房地产销售台账制作与销售团队激励合同3篇
- 生态种植基地建议书可行性研究报告备案
- 二零二五年度商务中心租赁合同范本6篇
- 甘肃省天水市(2024年-2025年小学六年级语文)统编版阶段练习(下学期)试卷及答案
- 湖南省益阳市(2024年-2025年小学六年级语文)统编版竞赛题((上下)学期)试卷及答案
- 二零二五年度冷链物流配送服务协议2篇
- 2025版轨道交通车辆维修服务承包协议3篇
- 促进文化消费繁荣的策略选择与实施路径
- 二零二五年度仓储租赁合同包含仓储信息化管理服务3篇
- 二零二五年度商业综合体租赁承包经营全面合同3篇
- 2024年时事政治试题【有答案】
- 2024年信息系统项目管理师(综合知识、案例分析、论文)合卷软件资格考试(高级)试题与参考答案
- 2024年认证行业法律法规及认证基础知识
- 华中数控车床编程及操作
- 农民专业合作社财务报表(三张表)
- 培训准备工作清单
- 沉井工程检验批全套【精选文档】
- 贝类增养殖考试资料
- 旅游专业旅游概论试题有答案
- 3、起重工、焊工、电工安全技术交底
- 水稻幼穗分化八个时期的划分表
评论
0/150
提交评论