嵌入式操作系统移植说明.pptx_第1页
嵌入式操作系统移植说明.pptx_第2页
嵌入式操作系统移植说明.pptx_第3页
嵌入式操作系统移植说明.pptx_第4页
嵌入式操作系统移植说明.pptx_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式实时操作系统 uCOS 嵌入式实时操作系统 实时操作系统定义 特点 性能指标实时操作系统现状uCOS操作系统简介uCOS操作系统移植 操作系统主要类型 实时操作系统 VxWorks eCos uCOS FreeOS等 网络操作系统 Linux UNIX BSD WindowsServerMac OSXServer NovellNetWare等 嵌入式操作系统 Linux Android IOS WinCE 桌面操作系统 MACOS Windows Linux 服务器操作系统 Linux UNIX BSD WindowsServer MacOSXServer NovellNetWare等 主要类型 实时操作系统定义 实时系统定义 实时操作系统 RTOS 是指当外界事件或数据产生时 能够及时接受并以足够快的速度予以处理 其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应 并控制所有实时任务协调一致运行的操作系统 要点 1 对外部事件或数据快速处理 2 对处理结果能够在规定时间内快速响应 3 让所有的实时任务协调一致的运行 实时操作系统特点 嵌入式实时系统特点 1 对外部事件作出反应的时间是确定的 可重复实现的 系统响应时间都是可预测的 2 具有处理异步并发事件的能力 3 具有出错处理和自动复位功能 4 可裁剪 可移植 适用于多种处理器 5 具有多任务执行 调度能力 能进行任务间通讯 消息传递等 实时操作系统性能指标 系统性能指标 中断延迟时间 中断延迟时间是指从中断发生到系统获知中断 并且开始执行中断服务程序所需要的最大滞后时间中断响应时间 中断响应时间是指从中断发生到开始执行用户中断服务程序的第一条指令之间的时间中断恢复时间 中断恢复时间是用户中断服务程序结束后回到被中断代码之间的时间 实时操作系统性能指标 内核最大关中断时间内核在执行一些临界区的代码时采取了关中断 即执行临界区代码所用时间任务上下文切换时间任务上下文切换是指 的控制权由运行任务转移到另外一个就绪任务时所发生的时间任务响应时间任务响应时间是指从任务对应的中断产生到该任务真正开始运行这一过程所花费的时间 任务响应时间又称调度延迟 系统调用的执行时间调用系统函数所执行的时间 实时操作系统性能指标 实时操作系统现状 从20世纪七十年代单片机的出现到各式各样的嵌入式微处理器 微控制器的大规模应用 嵌入式系统已经有了近30年的发展历史 最早的单片机是Intel公司的8048 它出现在1976年 Motorola同时推出了68HC05 Zilog公司推出了Z80系列 这些早期的单片机均含有256字节的RAM 4K的ROM 4个8位并口 1个全双工串行口 两个16位定时器 之后在80年代初 Intel又进一步完善了8048 在它的基础上研制成功了8051 这在单片机的历史上是值得纪念的一页 迄今为止 51系列的单片机仍然是最为成功的单片机芯片 在各种产品中有着非常广泛的应用 实时操作系统现状 从80年代早期开始 嵌入式系统的程序员开始用商业级的 操作系统 编写嵌入式应用软件 这使得可以获取更短的开发周期 更低的开发资金和更高的开发效率 嵌入式系统 真正出现了 确切点说 这个时候的操作系统是一个实时核 这个实时核包含了许多传统操作系统的特征 包括任务管理 任务间通讯 同步与相互排斥 中断支持 内存管理等功能 90年代以后 随着对实时性要求的提高 软件规模不断上升 实时核逐渐发展为实时多任务操作系统 RTOS 并作为一种软件平台逐步成为目前国际嵌入式系统的主流 这时候更多的公司看到了嵌入式系统的广阔发展前景 开始大力发展自己的嵌入式操作系统 如PalmOS WinCE 嵌入式Linux Lynx Nucleux 以及国内的Hopen DeltaOs等嵌入式操作系统 实时操作系统现状 RTOS在嵌入式系统设计中的主导地位已经确定 越来越多的工程师使用RTOS 更多的新用户愿意选择购买而不是自己开发 我们注意到 RTOS的技术发展有以下一些变化 1 新的处理器越来越多 RTOS自身结构的设计更易于移植 以便在短时间内支持更多种微处理器 2 开放源码之风已波及RTOS厂家 相当多的RTOS厂家出售RTOS时 就附加了源程序代码并含生产版税 3 后PC时代更多的产品使用RTOS 它们对实时性要求并不高 如手持设备等 微软公司的WinCE PlamOS Android IOS等 产品就是顺应这些应用而开发出来的 5 嵌入式Linux已经在消费电子设备中得到广泛应用 实时操作系统现状 RTOS有名的厂家 1 GreenHillsSoftwareINTEGRITY2 WindRiverVxWorks3 QNXNeutrino4 FreeRTOS5 Micrium C OS II III6 WindowsCE7 TI RTOSKernel previouslycalledDSP BIOS RTOS应用趋势 OS用户兴趣调查 uCOS简介 uC OSII MicroControlOperationSystemTwo 是一个可以基于ROM运行的 可裁减的 抢占式 实时多任务内核 具有高度可移植性 特别适合于微处理器和控制器 与很多商业操作系统性能相当的实时操作系统 RTOS C OS II的前身是 C OS 最早出自于1992年美国嵌入式系统专家JeanJ Labrosse在 嵌入式系统编程 杂志的5月和6月刊上刊登的文章连载 并把 C OS的源码发布在该杂志的BBS上 目前最新版本 C OS III uCOS支持芯片类型 ARM Generic ARMCortex A5ARMCortex A8ARMCortex A9ARMCortex M0ARMCortex M3ARMCortex M4ARMCortex M7ARMCortex R4 ARM7ARM9AlteraNIOS IIAnalogDevicesBlackfinAtmelAVR32AtmelAVR8MIPS32M4KMicrochipPIC24 30 33MicrochipPIC32 MIPS32 M4K uCOS支持芯片类型 Freescale68HC08Freescale68HC12Freescale68HC16FreescaleColdfireFreescaleCore603EFreescaleDSP568xxFreescaleM COREFreescaleM68000FreescaleM683xx FreescaleMCF5272FreescaleMPC5200FreescaleMPC55xxFreescaleMPC56xxFreescaleMPC8xxFreescalePPC555FreescaleS12XEPagedFreescaleStarCore uCOS支持芯片类型 Renesas78KRenesasH8RenesasM16CRenesasM32CRenesasR32CRenesasRL78RenesasRX100RenesasRX200RenesasRX600RenesasRX700 RenesasSuperHRISCRenesasV850RenesasV850E2MRenesasV850E2SRenesasV850ESSparcLeon3TensilicaXtensaTexasInstrumentsMSP430WindowsXilinxMicro Blaze uCOS内核组成 C OS II可以大致分成核心 任务处理 时间处理 任务同步与通信 CPU的移植等5个部分 1 核心部分 OSCore c 是操作系统的处理核心 包括操作系统初始化 操作系统运行 中断进出的前导 时钟节拍 任务调度 事件处理等多部分 能够维持系统基本工作的部分都在这里 2 任务处理部分 OSTask c 任务处理部分中的内容都是与任务的操作密切相关的 包括任务的建立 删除 挂起 恢复等等 因为 C OS II是以任务为基本单位调度的 所以这部分内容也相当重要 3 时钟部分 OSTime c C OS II中的最小时钟单位是timetick 时钟节拍 任务延时等操作是在这里完成的 uCOS内核组成 4 任务同步和通信部分 为事件处理部分 包括信号量 邮箱 消息队列 事件标志等部分 主要用于任务间的互相联系和对临界资源的访问 5 与CPU的接口部分 是指 C OS II针对所使用的CPU的移植部分 由于 C OS II是一个通用性的操作系统 所以对于关键问题上的实现 还是需要根据具体CPU的具体内容和要求作相应的移植 这部分内容由于牵涉到SP等系统指针 所以通常用汇编语言编写 主要包括中断级任务切换的底层实现 任务级任务切换的底层实现 时钟节拍的产生和处理 中断的相关处理部分等内容 uCOS架构 信号量 互斥信号量 事件标识 消息邮箱 消息队列 任务管理 固定大小内存块管理 时间管理 移植相关 任务切换 入栈 出栈 中断关断 开启 系统时钟中断服务程序等 任务调度方式 前后台系统 任务调度方式 多任务系统 uCOS操作系统移植 中断向量表中断过程 PC PSW值保存及恢复过程软中断 硬中断汇编语言任务状态入栈 出栈 基础知识 注 以后章节涉及内容均依据RenesasV850ES Fx3手册和相关的汇编手册作为参考 uCOS操作系统移植 中断向量表中断源 中断名 中断优先级 中断码 中断服务程序入口地址 中断控制寄存器 有些中断向量固定到ROM中 有些中断向量固定到RAM中 uCOS操作系统移植 中断过程 PC PSW值保存及恢复过程 uCOS操作系统移植 汇编语言 命令字源操作数 目的操作数stsr5 r1 storespecialregister5tor1ldsrr1 5 loadspecialregisterr1to5mov OSRunning r11 move OSRunning addresstor11st br2 0 r11 storebyter2tor11addressmov OSTCBHighRdy r11 ld w0 r11 r11 ld w0 r11 sp jarl OSTaskSwHook lp jmp lp cmp0 x1 r2 bneb uCOS操作系统移植 任务状态 uCOS操作系统移植 任务切换 从图中可以看出任务切换有两个通路1 以定时器中断为基础通过调用 OSIntCtxSw来实现任务调度2 以OS Sched 调用trap指令来实现软中断为基础 通过调用 OSCtxSw来实现任务调度 注 图中带颜色部分均是与移植相关的 uCOS操作系统移植 入栈 出栈 相关寄存器栈的特点是FILO 先入后出 有的栈从高地址向低地址增长 有的栈则相反 具体跟处理器有关 栈的操作一般发生在函数调用前和后 中断响应前和后 函数在调用前先将主调函数的寄存器值 PC PSW值等保存到栈中 然后调用被调函数 在被调函数返回时 在将之前保存在栈中的内容恢复到相应的寄存器 PC PSW中 这样主调函数才能继续执行 对于无操作系统的任务来说 栈的使用是由编译器编译决定的 对于多任务操作系统来说 栈空间是由任务创建者手动创建 这就要求操作系统在任务切换时能够准确知道任务栈的首地址及栈空间的大小 因此栈的操作对于操作系统移植能否成功起关键性作用 uCOS操作系统移植 移植准备在官方网站根据自己CPU选择相近的处理器型号进行源码下载 uCOS操作系统移植 移植准备os cpu a s定义了一些重要的函数 如任务切换函数 中断响应函数等 如下 OS CPU SR Save 中断到来时 将PSW值保存到R1中 并关中断DI OS CPU SR Restore 中断结束时 将R1中的值恢复到PSW中 OSStartHighRdy 系统初始化后 首先要调度的第一个优先级最高的任务 OSCtxSw 任务切换函数 由OS Sched 调用OS TASK SW 产生软中触发 OSIntCtxSw 由时钟中断触发的任务切换函数 OS CPU TickHandler 时钟中断服务程序 uCOS操作系统移植 移植要素 1 时钟中断向量表2 时钟中断服务程序3 时钟初始化4 软中断向量表5 软中断服务程序6 软中断触发程序7 os cpu a s中的函数8 os cpu a inc中的函数9 os cpu h中软中断触发 defineOS TASK SW asm trap0 x00 uCOS操作系统移植 时钟中断向量表为了时钟不受影响的产生中断 中断优先级必须设置为最高时钟中断服务程序新建os int tick s文件 其内容为 extern OS CPU TickHandler section INTTAA0CC0 text INTTAA0CC0interruptvector180HINT TAA0CC0 jr OS CPU TickHandler时钟初始化新建os time tick init c os time tick init h文档TAA0 Init uCOS操作系统

温馨提示

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

评论

0/150

提交评论