




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统原理与设计第四章嵌入式操作系统 本章提要 1 2 3 操作系统的基本概念 C OS 操作系统 CLinux操作系统 4 WinCE操作系统 4 3 CLinux Micro Controller Linux 字面上的理解就是 针对微控制领域而设计的Linux系统 Linux最开始只运行在x86系统上 后逐步支持其他微处理器 在Linux2 0发布后 有人开始对Linux源码进行修改 使得它能在没有内存管理单元 MemoryManagementUnit 简称MMU 的微控制器上运行 修改后的内核代码就是 CLinux 时至今日 CLinux已得到广泛的认可和完善 它包含2 0 2 4和2 6的Linux内核 并且集成了很多有用的应用程序和库 这些相关的软件极大地方便了嵌入式开发者的工作 因此 目前在嵌入式Linux领域中 已经产生了明显的选择 如果微控制器具有MMU 就选择Linux 否则 选择 CLinux 4 3 1 CLinux简介 4 3 2Linux内核 Linux内核采用的是单一内核结构 这种内核结构的重要特征是模块化 Linux对模块给予了强有力的支持 在各个模块之间规定了良好的界面 并且可以动态地装入和卸载内核中的部分代码 Linux的内核为非抢占式的 它不能通过改变优先权来影响当前的执行流程 因此 可以对Linux某些重要的数据结构进行修改而不加任何保护措施 Linux内核功能 1 用软件接口抽象不同的硬件资源 以简化操作 屏蔽低层硬件的不同接口 即资源抽象 2 将抽象出来的各种资源分配给各个进程并负责取回这些系统资源 即资源分配 3 根据不同的资源类型使用不同的机制保证资源被进程所独占 即资源共享 4 3 2Linux内核 Linux内核包含进程调度 内存管理 文件系统 进程间通信 网络及资源管理6部分 图4 11Linux内核体系结构 4 3 2Linux内核 进程调度 控制CPU资源的分配 Linux内核采用基于优先级的抢占式多任务调度方式 内存管理 Linux的内存管理系统用于管理内存资源 它实现了进程之间的内存保护 内存共享及内存管理功能 可分为硬件相关部分和硬件无关部分 文件系统 Linux的文件系统结构和UNIX的类似 该系统具有虚拟文件系统 VFS 接口 所有真正的文件系统都挂接在虚拟文件系统下 通过虚拟文件系统接口切换 虚拟文件系统 VFS 逻辑文件系统 设备管理部分 Linux的文件系统 4 3 2Linux内核 4 进程间通信 IPC 主要的进程间通信方式有管道 Pipe 文件锁 SystemVIPC 信号 Signal 及共享内存等 因为Linux支持网络 所以还可以使用网络接口进行进程间通信 5 网络 Linux是在互联网环境下产生的操作系统 所以它具有对网络的良好支持 Linux内核支持多种网络协议 如IP IPv6 IFX Appletalk及蓝牙 Bluetooth 等 支持路由 防火墙过滤等网络设备功能 并提供标准的BSDSocket编程接口 6 资源管理 Linux中除了CPU和内存 其他资源都是用驱动程序的形式加以管理的 因此 其内核源代码的绝大部分是各种驱动程序 并且随着系统支持的硬件的增加 代码增加量最大的也是驱动程序 4 3 4 CLinux的内核结构 图4 12 CLinux的内核体系结构 4 3 3 CLinux内核与传统Linux的比较 4 3 5 CLinux在ARM上的移植 图4 13 CLinux发行版本目录结构 CLinux内核的移植可以分为板级移植和片级移植两种 CLinux发行版本目录结构如图4 13 4 3 5 CLinux在ARM上的移植 图4 14 CLinux内核的目录结构 CLinux内核目录结构如图4 14 4 3 5 CLinux在ARM上的移植 1 内核移植的主要任务 1 配置内核 CLinux常用的配置选项包括系统及其存储器配置 网络支持 USB支持 显示器支持以及触摸屏支持等 2 编译内核 主要包括使用MakeDep建立依赖关系 使用Make编译内核 使用MakezImage编译压缩核心 zImage 编译生成地 CLinux映像文件通常保存在 images目录下 3 下载 运行 调试内核 可通过调试器下载内核并运行 也可通过BootLoader将内核烧到Flash中 然后运行 Clinux 4 3 5 CLinux在ARM上的移植 2 CLinux调试在 Clinux开发中 由于有些嵌入式系统可能没有标准键盘和显示器支持 因此通常通过串行口将显示信息发送到主机 由主机端超级终端工具接收 以完成显示功能 在超级终端中也可输入数据 然后由 CLinux接收 以完成标准键盘功能 在调试过程中 也可以通过串行口将调试信息打印到超级终端 这是调试 CLinux的最有效和最简单的方法 4 3 5 CLinux在ARM上的移植 3 CLinux内核移植主要过程 1 内核配置 内核配置包括板级包配置 根据所选用的ARMCPU 例如S3C44B0X 分别配置其板级包 例如S3C44B0X MBA44 2 体系结构相关代码修改 应根据板级包的配置 修改相应的体系结构相关代码 包括压缩核心启动代码 内核启动代码及板级相关代码 3 连接脚本 CLinux的核心连接脚本是位于linux 2 4 x arch armnommu下的vmlinux lds文件 压缩核心连接脚本位于linux 2 4 x arch armnommu boot compressed下的linux lds文件 4 中断处理 在嵌入式系统中 CLinux内核一般在SDRAM中运行 因此在BootLoader中必须将中断向量表正确导入到该处地址 4 3 5 CLinux在ARM上的移植 5 加载文件系统 目前所有的 CLinux内核 2 4和2 5 都支持Romfs文件系统 但是在一些Linux发布中可能没有将其编译进来 6 编写驱动程序 CLinux的驱动程序目录为linux 2 4 x drivers 包括网卡驱动程序 LCD驱动程序和触摸屏驱动程序等 7 编译 CLinux文件系统 包括配置文件系统 编译文件系统源代码 生成 CLinux文件系统 生成Romfs文件系统映像及编译Romfs文件系统映像到内核中或者写到固定位置并由内核从该位置加载 4 4WinCE WindowsEmbedded是微软嵌入式技术和产品的总称 它是微软专门为嵌入式智能设备开发的窗口操作系统 目前微软的WindowsEmbedded家族主要包括两个产品 WindowsCE和WindowsEmbedded7 MicrosoftWindowsCE是一个开放的 可裁剪的 32位的实时嵌入式窗口操作系统 和其他桌面版窗口操作系统 Windows98 2000 XP等 相比 它具有可靠性好 实时性高 内核体积小的特点 所以被广泛用于各种嵌入式智能设备的开发 涉及工业控制 信息家电 移动通信 汽车电子 个人电子消费品等各个领域 是当今应用最多 增长最快的嵌入式操作系统 4 4 1WinCE简介 WindowsCE的设计目标 1 模块化和小内存占用 2 多种无线与有线连接支持 3 强大的实时性能力 4 丰富的多媒体和多语言支持 5 强大的开发工具支持2 WindowsCE的特征 1 可移植性 2 实时性 3 模块化 4 安全服务 5 多媒体性能 6 网络和通信性能 7 存储性能 8 本地化支持 9 GWES 10 开发环境全面 4 4 2WinCE内核结构 图4 15WindowsCE的架构 WindowsCE的内核结构是一种分层式结构 从底层向上分别为硬件层 OEM层 操作系统层和应用层 4 4 2WinCE内核结构 硬件层是指由CPU 存储器 I O端口 扩展板卡等组成的嵌入式硬件系统 是WindowsCE操作系统必不可少的载体 OEM层是嵌入式硬件与WindowsCE操作系统的接合层 OEM层主要由下列模块组成 1 OAL OEMAdaptationLayer OEM适配层 2 启动加载程序 BootLoader 3 配置文件 4 驱动程序 4 4 2WinCE内核结构 操作系统层是WindowsCE操作系统的核心层 它既要为下层OEM层提供接口和服务 也要为上层的应用程序提供服务与应用程序编程接口 操作系统层主要由下列模块构成 1 核心 2 CoreDLL 3 对象存储模块 4 多媒体技术模块 5 图形窗口和事件系统模块 6 设备管理器模块 7 通信服务与网络模块 8 应用和服务开发模块 4 4 2WinCE内核结构 应用层主要包括以下模块 1 WindowsCE应用程序 主要包括ActiveSync CAB安装 卸载应用程序 文件查看器Inbox 游戏 WordPad WindowsMessenger等应用程序以及RDP支持 声音重定向 文件存储重定向 打印机重定向 串并口重定向 智能卡重定向等应用程序 2 Internet客户服务 提供了对浏览器应用程序 定制浏览器技术及脚本语言解析引擎的支持 3 用户接口 构成了用户与基于WindowsCE的设备和应用程序的交互方式 它由鼠标接口 网络用户接口 软输入板 语音输入与识别 触摸屏等应用程序组成 4 客户应用程序 是用户为特定需要编写的特定功能的WindowsCE应用程序 4 4 3WinCE的开发与应用 由于WindowsCE自身良好的特点和开发工具环境的配套化 使用简单化 使得WindowsCE开发与应用相对比较容易 其一般流程如下 1 对操作系统进行裁剪和配置 更改相应的配置文件 除内核外都是可选的 2 OAL层 OEMAdaptationLayer 开发 3 编译生成操作系统的镜像文件 4 下载并调试 4 4 3WinCE的开发与应用 OAL的开发主要分以下三个步骤 1 内核初始化 1 配置Config bib文件 WindowsCE内核通过Config bib了解硬件的配置情况 包括Flash RAM ROM的物理地址空间和大小等配置 因此 需要在该文件中根据所设计的硬件平台进行正确的配置 2 Startup代码 即最原始的初始化代码 主要完成初始化CPU 设置寄存器 初始化存储系统等 使之达到正确工作的状态 进而启动内核调用系统初始化函数KernelStart或KernelInitialize来完成后续的初始化和操作系统的启动 4 4 3Win
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025财务援助借款合同书
- 2025汽车修理合同
- 个人健康服务承诺书(9篇)
- 2025企业资产托管合同格式范本
- 2025上海购销合同范本
- 保证信息准确完备传递承诺函8篇
- 2025聚氨酯地坪施工合同
- 2025年春季围巾产品采购合同
- 《初一英语自然拼读法教学与训练方案》
- 2025标准个人租房合同模板
- 文言文基础知识测验(含答案)统编版高中语文必修下册
- 装配式建筑装饰装修技术 课件 模块九 设备与管线部品
- 柴油MSDS化学品安全技术说明书
- 人教版九年级英语全一册 Unit 13 《We are trying to save the earth!》教学设计
- 质量管理五大工具之一SPC
- 2069-3-3101-002WKB产品判定准则-外发
- (正式版)JBT 14587-2024 胶体铅酸蓄电池 技术规范
- 医疗健康知识科普活动总结
- (高清版)DZT 0216-2020 煤层气储量估算规范
- 武汉过早文化研究报告
- 人教版四年级上册语文第一单元测试题(含答案)
评论
0/150
提交评论