




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、系统原理与设计(实时)操作系统及驱动设计2011.03qhfengRTOS内容提要RTOS定义主要功能及实现方法简介RTOS中的驱动BSP一般外设1、系统中OS的引入软硬件 方便移植 硬件设计与应用软件设计并行(simulator)方便建立多进程的复杂软件系统 统一高效的任务管理和通信 高效的使用硬件操作系统OS的主要功能 为应用程序提供硬件的接口如何使用硬件管理何时/由何应用来使用某 提供工具集 简化开发OS实现对硬件的管理 应用程序设计者不需要关注硬件细节 硬件如何使用由OS管理 不同硬件平台上OS提供相同接口,甚至可以用软件模拟接口应用程序实用工具/协议栈操作系统硬件OS-多进程的处理简
2、单应用可以由单段实现 例如大部分单片机程序(主循环+中断)复杂的应用难以用单个实现及管理 例如:1.2. 通话3. 查找音乐本4. 按键输入5. 显示操作系统是应用程序运行的程序OS的功能基本功能 处理器 内存管理管理(主要为中断管理) 进程管理(调度/通信) 设备驱动高级功能 文件系统 各种协议栈( 安全功能库)操作系统EOS(Embedded Operating System)在ROM等介质中)体积小(足够精简以可靠性高(长期不间断运行)功耗低(很多设备用电池供电)可配置性扩充性 新的硬件/新的服务EOS-体积小内核足够小/可配置单内核或宏内核 (monolithic kernel, Ma
3、cro kernel ) 宏内核被分为若干模块,运行一个的二进制大映像。模块间通过函数调用实现micro kernel微内核 微内核是一个消息转发站,把系统调用转发给相应的模块。 内核本身不提供操作系统的相关服务,而是提供实现这些服务的机制(地址空间管理,进程调度及通信)(分层)单内核与微内核EOS-可靠性安全可靠的编码详尽的测试/认证应用软件具有与操作系统同样的可靠性:ROM/备份恢复/看门狗EOS-内核裁剪裁剪 预编译命令 模块 运行时配置不同内核实现的缺点 单内核不容易作出修改 微内核效率不高 *均可改进EOS-功耗电源管理模块 在不需要的时候关闭/休眠硬件让CPU空闲时进入低功耗状态定
4、时关闭时钟*功耗降低需要应用程序配合 优化的代码设计,快速完成任务 通知OS关闭不需要的硬件eOS-扩充性静态扩展 重新编译/需要源码/良好的模块性动态扩展微内核内核加载/LKM操作系统经常性的变化对它的设计提出一定的要求。一个非常明确的观点是,在构造系统时应该采用模块化的结构,清楚地定义模块间的接口,并备有说明文档。对于像现代操作系统这样的大型程序,简单的模块化是不够的。实时操作系统RTOS(real time OS)系统能够在限定的响应时间内提供所需水平的服务(POSIX 1003.b) POSIX Portable Operationg System Interface(for UNIX
5、) ,IEEE制定的OS标准接口(类UNIX的OS,以及WindowNT均适用)实时性 快速响应外部 快速切换的使用 (实时任务调度) 确保任务按时完成实时系统实时计算:系统的正确性取决于计算的逻辑结果及产生结果的时间。硬实时 硬实时任务必须满足最后期限的限制,否则会给系统带来不可接受的破坏或致命错误。软实时 软实时任务期望满足最后期限的要求;但即使操作最后期限,完成这个任务仍然是有意义的。周期性实时任务 每隔周期T一次的任务 如果系统中均为周期性实时任务,则实时要求容易达到RTOS的要求可确定性 中断发生到响应中断的延迟可响应性 处理中断的时间用户 用户完成非常详细的设计(优先级/可靠性和故
6、障弱化等)RTOS-可确定性按照固定的、预先确定的时间或时间间隔执行操作。几乎没有完全可确定的系统 因为外部不是可以完全预先确定的中断发生开始处理中断的延迟 非实时:几十到几百ms 实时:几到几百usRTOS-可响应性从最初处理中断到中断处理完成的时间 ISR是否需要进程切换 Interrupt Service Routine. 中断服务例程 执行ISR所需要的时间 是否可能被其它中断打断快速的任务(进程/线程)切换*中断响应时间 包括中断发生到开始处理的延迟 处理中断的时间RTOS-用户非实时OS:不实时OS: 仔细区分每个任务的优先级 制定调度方式(例如是否可抢占) 内存的使用方式,进程的
7、权限等或者简单任务调度RTOS-可靠性及故障弱化尽可能详尽的设计和测试预留充足的出问题时能改进或降低影响 重启进程 备份机制性能不足时首先满足最重要的任务完成关机/重启/异常关闭时 保证数据的完整通用OS/eRTOS简单比较通用OSeRTOS/弱交互一般用户体积一般较大实时性要求不高可靠性要求不高系统开发体积小/可裁剪实时性可靠性要求高(标准)总结:RTOS的典型功能/特点体积小高效的中断管理高效的内存管理高效的进程管理/通信/调度2、RTOS主要功能及实现简介OS的通用功能中断管理内存管理进程管理及实时的要求小体积、灵活配置高效-实时RTOS-中断管理中断类别 硬件中断 软件中断中断向量表建
8、立中断的使能中断与实时处理RTOS-中断中断响应时间 RTOS中关闭中断的时间尽可能短 中断时的上下文切换中断响应过程 中断函数->进程中断嵌套时钟中断 一般作为RTOS的时间片 时间片短/中断次数多 时间片长/中断次数少RTOS-内存管理物理内存-虚拟内存 应用程序使用的内存地址需要经过翻译,转换成最终的硬件地址 转换由OS和硬件共同完成MMU 硬件提供的内存管理单元,通常由OS进行配置内核空间与用户空间 OS应保护缓存数据只能由OS自身 提高器的速度RTOS-进程串行处理与并行处理 (单)处理器某个时刻只能完成一个任务 并行处理是宏观特性进程块 标志符/状态/优先级/程序计数器/内存
9、指针(堆栈等)/上下文(CPU寄存器)/IO状态信息(设备/文件等)进程的状态及状态转换 新建/就绪/运行/阻塞/进程与线程 进程:;线程:调度/执行;RTOS-进程管理互斥 并发进程竞争使用同一个中断/降低实时性;多处理器不可用 原子操作 死锁/饥饿同步 多个进程通过共享机制:信号量交互RTOS-进程调度进程调度 优先级抢占每个进程一个优先级优先级预先分配/是否可改变抢占:高优先级的进程打断低优先级进程的执行 时间片轮转按固定时间间隔调度任务间片/变长时间片)时间片是否固定(何时调度/切换进程 时钟中断/IO中断/系统调用RTOS-调度RTOS一般采用时间片轮转+优先级抢占 优先级最高的进程
10、先执行 同一优先级的进程按时间片轮转执行抢占方式: 当前任务结束/非实时 在抢占点抢占/实时性不好 立即抢占优先级逆转抢占式操作系统的竞争 高优先级任务需要的占用著名的探路者号任务解决方案:,正被低优先级任务 优先级继承(在高优先级任务需要改低优先级任务的优先级)时,更时间限定的进程调度-RMS速率单调调度 rate monotonic scheduling周期性任务 周期最短的任务优先级最高 周期T 执行时间C 处理器使用率 U=C/T U1+Un <= n(21/n 1) (极限0.693) 最坏情况;实际可以到90%以上实例 20/100 40/150100/3500.753<
11、;0.779 2/43/63/1215>12时间限定的进程调度-EDF截止时间最近者优先调度 Earliest Deadline First动态优先级 截止时限最近的进程拥有最高优先级RTOS-进程间通信小数据量的通信 信号大数据量的通信 消息队列 共享内存 管道主流eRTOS及特点Linux VxWorks WinCE uCOSNucleus PlusLinux简介应用最广开源/丰富单内核+微内核(可加载内核模块)分支: 普通Linux裁剪 精简内核 实时性差(10ms,2.4内核不可抢占) RTLinux 添加实时内核模块 ucLinux不支持MMU Monta Vista Linu
12、xVxWorks简介高实时性/高可靠性行业特点: 优先级抢占+时间片轮转(可关闭) uS级的响应时间 完备的工具/协议栈 标准接口,通过多项测试WinCE简介调度:可抢占+时间片轮转(默认100ms) 优先级 0-256 0-96 高于Driver 97-152 Driver 153-247 低于Driver 248-255 普通应用中断:不可嵌套 /降低实时性 ISR(中断服务例程)+IST(中断服务线程)丰富的接口/工具及方便的变成方式 WIN32API.NET3、RTOS中的基本驱动/BSP驱动的作用 让RTOS能正常的运行 让应用程序能使用硬件设备驱动设计的基本目标硬件的实现细节,提供
13、方便的接口方式驱动分类按功能驱动系统 处理器 中断器驱动外设 网络设备驱动 总线驱动 输入输出设备驱动器件配置 其他设备驱动OS与硬件的关系层次图应用程序实用工具/协议栈操作系统驱动硬件板级支持包BSP建立让OS运行的最基本环境 初始化CPU内部寄存器 设定RAM工作时序 时钟驱动及中断器驱动 *串口驱动(简单有效的调试完善OS运行的环境 CACHE/MMU ROM 完善中断管理 系统总线驱动)一般启动流程复位从指置开始运行程序(ROM) 与CPU相关初始化CPU寄存器/关中断/配置时钟/RAM 初始化OS内核开中断/开MMU启动用户进程系统启动IIROM->RAMBootLoader开
14、发阶段的启动/最终发布阶段的启动RTOS的基本系统硬件接口CPU地址空间/寄存器外部器BSP-CPU初始化 让CPU处于最精简的可控状态关中断 (其他硬件的干扰)关缓存,关闭MMU设置时钟频率(由硬件设置配合完成)设置CPU关键寄存器(清零某些寄存器,设置堆栈等寄存器)正常运行 中断相关寄存器处理 模式转换 进程切换(PC及堆栈切换)CPU的模式 CPU硬件设计至少两种模式(模式和用户模式),由CPU内特殊寄存器来指示。 OS的内核态和用户态和CPU硬件的模式对应模式能所有有限 用户模式只能发中断)(超出范围则会触BSP-地址空间OS在内核态下能 所有寄存器 所有地址空间 (典型4G)所有OS
15、在用户态下只能有限 有限地址空间(典型0-3G)BSP-地址空间态的RTOS只工作在 OS系统代码和应用程序具有同等权限 程序编写简单,用户程序可直接硬件 可靠性差:OS系统代码及硬件寄存器不受保护区分内核态和用户态的RTOS 用户应用代码均运行在用户态 无法直接配合) 可靠性好大部分硬件(需要操作系统BSP-OS状态切换内核态?用户态 直接完成用户态?内核态 中断外部中断/内部中断(实现系统调用)BSP-器DRAM 需要配置特定的时序才能正常读写 是否启用Burst模式、工作时钟ROM 普通EEPROM / NOR FLASH直接可读数据需要特殊命令序列来实现如何入手BSP编写透彻的了解硬件
16、结构 熟悉相关的硬件文档是基础方便易用的开发环境 调试器/开发软件 交叉编译参考代码 熟悉好的参考代码能达到事半功倍的效果BSP的开发及调试硬件调试器 JTAG直接LED指示CPU内部寄存器 最直观/快速/简单的调试 使用最简单的设备(GPIO)串口信息 方便的输出调试信息BSP开发一般步骤1验证硬件 硬件准备 连接调试器(上电后的电压电流)读写CPU内部寄存器处理器的输出端口(GPIO)观察输出配置CPU中断/CACHE/Endian 设置时钟 设置cache为栈(以使用C编写的代码)BSP开发配置RAM初始化RAM 填写与RAM相关的CPU内寄存器 时序/时钟/方式:片选 刷新时序/等待时
17、序/读写时序 通过调试器逐个寄存器填写 部分调试器支持,填写多个寄存器 部分调试软件支持配置文件,测试RAM填写多个寄存器单元测试整体测试噪声测试单地址读写测试整块读写测试读写测试数据(特殊数据,如逐位置一)BSP开发-阶段验证确保CPU和RAM工作正常编写初始化CPU和RAM的代码并设置堆栈(一般是汇编代码)编写简单程序验证(C代码) 如编写一段简单的代码,用软件延迟周期性去点亮和关闭某一个LED C代码运行正常,则操作系统的用以被调BSP开发 内存管理内存的使用方式 多少内存供OS使用 是否使用MMU 外设的内存MMU 设置虚拟地址到物理地址的转换方式块段页BSP开发中断处理中断类型 直接
18、连接到CPU的中断 通过中断中断向量表器连接到CPU 为每个中断源的编写简单处理代码(一般是计算出一个中断向量)将每个中断源和OS的中断处理 汇编代码直接连接 使用OS提供的连接函数连接BSP开发内存与中断开中断和开MMU 不同的OS有不同的处理时钟中断 OS按时间片处理的依据,应重点处理BSP开发集成OS确保前述基本硬件工作正常按照OS的要求编写接口API比照参考代码进行整合BSP开发集成OS添加ROM驱动 最终系统需要烧写到ROM中 系统启动方式 Bootloader/Rom->Ram的copy添加串口驱动 方便调试Cache和MMU 打开Cache和MMU时,可能会出现问题(调试变
19、得困难)多核 AMP与SMP4、RTOS的驱动设计定义 OS(或应用程序)与硬件设备的接口功能 数据传输驱动的接口接口 按照应用设计的接口 必要时可绕过OS,由应用直接 简单/效率较好通用接口 按照OS所要求的通用接口来设计 一般是类文件操作的接口硬件设备 标准化的、初始化、卸载设备通用 内存方式:设备被到一段内存空间 基本操作:寄存器的读写 各种总线接口:总线的最终由寄存器实现和中断 由OS或应用发起中断/实时性差 硬件设备在必要时,以硬件中断通知CPU 结构相对复杂 实时性好数据传输通用读写 通过IO端口逐个数据读写(效率低)DMA 设备和内存(设备和设备)之间直接传输数据,CPU只需发起
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级数学比赛试卷及答案
- 实习机会中介协议
- 《机械加工工艺基本概念》课件
- 展现最佳状态 打造光滑细腻的肌肤
- 物理2025《高中考前》高考冲刺考试方法答题技巧高考预测板块一 力学、热学实验含答案
- 眼科疾病的手术治疗及后遗症管理
- 《健康之道:养生智慧》课件
- 光棍节与现代单身文化
- 《心脏疾病治疗现状与进展》课件
- 《市场调节法则》课件
- 医疗器械经营范围经营方式说明
- 可编辑修改中国地图模板
- 江苏省生物技术和新医药产业发展规划纲要
- 深信服SD-WAN产品使用说明书
- 安全观摩手册
- 事业单位1993历次调整工资标准对照表
- 关于中节能太阳能科技股份有限公司主要税种纳税情况的专项审核报告
- 药店营业场所养护工作记录表
- 个人简历表格
- 广西行政区划代码
- 心理咨询回访记录表
评论
0/150
提交评论