




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式操作系统基础培训 日期 2020年1月21日 版次 v1 0 培训内容 嵌入式操作系统基本概念vxWorks操作系统介绍运行支撑MAP和IAP简介 培训内容 嵌入式操作系统基本概念 实时计算机系统 实时计算机系统简称为实时系统 real timesystem 指能够在确定和限定的时间内执行其功能并对外部的异步事件作出响应的计算机系统 三个衡量指标 响应时间 ResponseTime 生存时间 SurvivalTime 吞吐量 Throughput 实时操作系统 实时多任务操作系统 RealTimeOperatingSystem 对规模较大的实时系统 需要使用实时多任务操作系统来加以管理 实时操作系统是指具有实时性 能支持实时控制系统工作的操作系统 重要特点是要满足对时间的限制和要求 实时操作系统可以分为 一般实时操作系统嵌入式实时操作系统 嵌入式系统 嵌入式系统 EmbeddedSystem 以应用为中心 以计算机技术为基础 软件硬件可裁剪 适应应用系统对功能 可靠性 成本 体积和功耗严格要求的专用计算机系统 交叉开发 宿主机 目标机 方式 嵌入式实时操作系统 嵌入式实时操作系统具备了实时操作系统和嵌入式系统的特征 即采用的是交叉开发的方式 同时要满足实时操作系统对时间的限制和要求 常用的商用实时操作系统1 Tornado VxWorks2 pSOSystem3 WindowsCE 任务 任务 task RTOS的任务是由计算机所执行的一项活动 也就是一段程序 该程序可以认为CPU完全只属于该程序自己 任务 续 任务的特点 动态性并发性异步独立性任务的状态 运行态 Executing 就绪态 Ready 等待 waiting 通常又称为挂起 suspend 休眠 Dormant 状态迁移图 互斥 互斥用于确保当一个任务使用一个共享资源时 其它任务不能做同样的操作的手段 与共享资源打交道时 使之满足互斥条件最一般的方法有 关中断使用测试并置位指令禁止做任务切换利用信号量 同步 同步在实时系统中通常几个任务是协同工作的 需要在确定的时间里执行各自的功能 这就产生同步问题 对于单个任务 所谓同步就是使它能在指定的时间执行 一个任务可以通过系统调用来使自己挂起一段时间或者挂起到某一指定的时刻 通常我们所谓的任务同步 主要是指两个或两个以上的任务需要协调执行的情况 实现同步主要有两种方式 信号量和事件 任务间通信 任务间通信主要有两种途径共享数据结构 全局变量 缓冲区数据结构发消息给另一个任务 邮箱 消息队列 中断 中断处理中断是一种硬件机制 用于通知CPU有个异步事件发生了 异步事件是指无一定时序关系的随机发生的事件 中断一旦被识别 CPU就保存部分 或全部 上下文 即部分或全部寄存器值 跳转到专门的子程序 称为中断服务子程序 ISR 中断服务子程序做事件处理 处理完成后 程序回到 在前后台系统中 程序回到后台程序对非抢占内核 程序回到被中断的任务对抢占内核 让进入就绪态的优先级最高的任务开始运行 时钟节拍 时钟节拍在实时系统中 一般不能缺少实时时钟 它是实时软件运行的必不可少的硬件设施 实时时钟单纯地提供一个规则的脉冲序列 脉冲之间的间隔可以作为系统的时间基准称为时基 时基的大小代表了实时时钟的精度 这个精度取决于系统的要求 软时钟方法硬件所做的工作 死锁 死锁若一个进程集合中的每一个进程都在等待只能由本集合中的另一个进程才能引发的事件 则这种情况被视为死锁 deadlock 例 系统有两个信号量 初始值都是1 任务1和任务2优先级相同 任务1申请到信号量1 此时系统调度到任务2 任务2申请到了信号量2 此时 任务2又想申请信号量1 由于任务1没有释放而阻塞 系统调度任务1运行 任务1想申请信号量2 同样由于任务2没有释放而阻塞 这样一来 任务1和任务2都想获得对方占用的资源 永远都不可能继续执行下去 引起了死锁 调度策略 实时调度策略任务调度就是从就绪状态的任务中 挑选一个任务到处理器上运行 常见的调度算法有 1 先进先出2 短任务优先3 轮循调度4 基于优先级的抢占式调度 培训内容 vxWorks操作系统介绍 任务的定义 代码 上下文 context 任务上下文 内存位置 TCB内容 CPU的寄存器 PC SP 堆栈I O输入 输出分配的I O 延时定时器时间片定时器内核的控制结构信号句柄其它用于调试和监控的值 任务的状态及转换 任务状态转换图 基于优先级可抢占调度算法 时间片轮转调度算法 抢占禁止 taskLock taskUnlock 执行时间长不禁止中断intLock intUnlock 执行时间短会增加系统的中断时延不会关掉任务调度 semTake会调度 消息队列 消息队列使用注意 使用消息队列发送和接受消息时都存在着内存拷贝 因此要注意效率 如果传递的是指针的话要注意堆栈的问题 注意消息队列的大小 中断中可以调用msgQSend 但必须使用NO WAIT的方式 二进制信号量 二进制信号量能够满足两种类型的任务协调需要 互斥和同步 二进制信号量需要的系统开销最小 因而特别适用于高性能的需求 二进制信号量可以处于两种状态 FULL态或者EMPTY态 FULL态代表信号量可用 一般量化为1 EMPTY态代表信号量不可用 对应的量化为0 用于互斥时信号量的初始值必须是1 FULL 用于同步时信号量的初始值必须是0 EMPTY 互斥信号量 互斥信号量 用来解决任务的优先级继承 安全删除和对资源的递归访问等问题 互斥信号量使用有一些特别要求 1 它只能用于互斥2 它只能被取走它的任务释放 且可以嵌套调用3 它不能被中断服务程序使用4 不能用semFlush 函数对它进行操作 计数信号量 计数信号量是任务同步和互斥的另一种实现方式 计数信号量除了保留信号量被释放的次数的跟踪以外 其他功能和二进制信号量是一样的 每次信号量被释放一次 计数增加1 每次信号量被占用一次 计数减少1 当计数减少为0时 要求得到信号量的任务被阻塞 中断服务 中断使用注意 不能调用那些由可能引起阻塞的程序 malloc free printf等 不允许通过VxWorks的驱动来执行其它I O操作浮点寄存器 自己保存和恢复 请注意能被中断中调用的系统函数 semGive logMsg msgQSend intLock等 内存划分 LOCAL MEM LOCAL ADRS到RAM LOW ADRS之间的空间用于存放一些与具体CPU相关的系统信息如中断向量等 RAM LOW ADRS到FREE RAM ADRS之间用于存放VxWorksimage 映像文件 WDB POOL SIZE段专供调试使用 SYSTEMMEMORYPOOL与USER RESERVED MEM段可供用户使用 内存分配方式 从静态存储区域分配 固定长度的内存池 如UB userblock在栈上创建从堆上分配 即malloc 频繁使用会造成内存碎片 培训内容 运行支撑MAP和IAP简介 支撑系统位置 系统位置应用模块之下系统层面之上 支撑系统作用 功能或作用约束上层应用 框架规范 简化应用设计屏蔽系统层面差异资源控制 便于管理辅助故障诊断 支撑系统组成 支撑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学美术鉴赏试题及答案
- 出师表课件笔记
- 企业安全培训课程内容课件
- 2025水利工程施工监理合同专用条件模板样本
- 2025公寓房屋买卖合同范文
- 2025年三维打印设备购销合同
- 2025医院临时工劳动合同书
- 2025【合同范本】简易个人房屋转售合同
- 冰的秘密课件
- 版权溯源技术优化-洞察及研究
- 2025年海南省通信网络技术保障中心招聘事业编制人员考试笔试试卷【附答案】
- 2025年江苏省昆山市辅警招聘考试试题题库及答案详解(典优)
- 外委人员管理办法
- 《国家基层肥胖症综合管理技术指南(2025)》解读
- 邮储银行招聘考试笔试试题集及参考答案
- 投标部奖罚管理办法
- 补充耕地后期管护方案(3篇)
- 设备设施运行台账教学幻灯片
- 健康四大基石科普讲座
- 护士培训班自我介绍
- 2025深入贯彻中央八项规定精神学习教育测试题和答案
评论
0/150
提交评论