小型微控制器上的实时操作系统

上传人:豆浆 文档编号:10860388 上传时间:2017-09-02 格式:PDF 页数:23 大小:1.11MB
返回 下载 相关 举报
小型微控制器上的实时操作系统_第1页
第1页 / 共23页
小型微控制器上的实时操作系统_第2页
第2页 / 共23页
小型微控制器上的实时操作系统_第3页
第3页 / 共23页
小型微控制器上的实时操作系统_第4页
第4页 / 共23页
小型微控制器上的实时操作系统_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《小型微控制器上的实时操作系统》由会员分享,可在线阅读,更多相关《小型微控制器上的实时操作系统(23页珍藏版)》请在金锄头文库上搜索。

1、w.tecos.rg大连悠龙咨询服务有限公司( w.uloong.c) 第 1页小 型 微 控 制 器 上 的 实 时 操 作 系 统author( TranNguyenBaoAnhSu-Lim Tan)作者 单位(新加坡工程中心 南洋理工大学)译者注: T-Engine中国开源社区在参展 2010年 12月的日本东京 Tronshow时看 到T-Engine官方宣传资料上引用了 IEEE杂志的一篇文章 “ REAL-TIMEOPERATINGSYSTEMSFORSMALLMICROCONTROLLERS” 的内容,该文章详细对 uC/OS、 uTenux(uT-Kernel)等多种 RTOS

2、进 行 了 性 能 测 试 , 社 区 感 觉 对 国 内 的 读 者 会 很 有 帮 助 , 正 好 大 连 理 工 大 学 软 件学院的学生康海龙在实验室实习,康海龙同学很积极的利用业余时间翻译成了中文 , 再次深表感谢,也希望大家能够通过这篇文章对常用的 RTOS有更深的了解。实时操作系统 已经在基于 微控制器和处理器的嵌入式系统设计 中 获得了普及 。 本文讨论 实时操作系统和通用操作系统间的差异 , 在小型微控制器系统开发中使用实时操作系统的优缺点 , 以及用于实时操作系统基准测试的方法 。 基准 测试 结果表明没有明显的赢家 ,在不同的标准下, 每个实时操作系统上 的执行 比 其他

3、的 更好一些。嵌入式实时系统 用于 各种用途 , 如控制或处理数据 。 实时操作系统是一种 带有一 套API的 软件 , 开发人员可以使用 这些 API来构建应用程序 。 为 支持一些嵌入式系统 的 需要 , 实时操作系统满足最后期限 。 但是 , 使用实时操作系统并不能保证系统一定能满足最后期限 , 因为这些系统 也取决于 整个系统的设计 。 虽然嵌入式实时系统主要是在高 端32位 CPU的 微处理器或微控制器 上 使用 , 但是在中端 ( 16位和 8位 ) 处理器的系统 上提供这些功能,也有着 日益增长的趋势 。实 时操作系统和通用操作系统间的比较 操作系统管理计算机系统 的 共享资源

4、。 不同于 通用 操作系统 , 实时操作系统 是 被 专门设计 来实现 实时响应。在其他 方面 , 实时操作系统也不同于 通用操作系统。首先 , 实时操作系统 提供 抢占式的基于优先级的 调度 方法 。 调度方案指的是 实时操作 系 统 怎 样 为 执 行 的 任 务 指 定 CPU周 期 。 因 此 , 调 度 方 案 影 响 操 作 系 统 如 何 执 行 各 种软件程序。 大多数 通用操作系统分配任务的执行时间片数相同(例如通过 轮番 调度) 。实时操作系统 经常分配任务的优先级 , 高优先级的任务可以在执行过程中抢占 低优先级w.tecos.rg大连悠龙咨询服务有限公司( w.uloo

5、ng.c) 第 2页的 任务 ( 抢占式调度 ) 。 其他实时操作系统采取协同调度 , 这通常意味着正在运行的任务必须明确地调用调度 器来 进行任务之间 的 切换。此外 , 实时操作系统 允许 可预见的任务同步 。 在通用操作系统中 , 任务同步 , 是难以预测的 , 原因是操作系统可直接或间接地 在 应用软件 中 引入延迟 。 在实时操作系统 中 ,任务同步必须 是 时间可以预测的。该系统服务必须 存在已知的、可预期的 执行时间 。通 用 操 作 系 统 和 实 时 操 作 系 统 的 主 要 区 别 是 , 实 时 操 作 系 统 支 持 确 定 性 行 为 。 在实时操作系统 中 , 即

6、使任务的数量 在 增加 , 任务 分派 时间 , 任务切换延迟和中断延迟必须 是时间可预测的 和一致的 。 与此相反 , 当 任务数量的增加 时 , 通用操作系统 ( 主要是由于其分时办法)减少系统的整体响应 , 并不能保证在一定的时间 内 调用服务 的 执行 。动态内存分配 ( m aloc( ) 在 C语言 中 ) , 虽然在通用操作系统 被 广泛 地 支持 , 但是 在实时操作系统 中 不建议 使用 , 因为它 产生不可预测的 行为 。 相反 , 实时操作系统提供固定大小的内存分配,他们为每个请求只分配固定大小的内存块。 小 规模嵌入系统的实时操作系统 可 利 用 的 实 时 操 作 系

7、 统 包 括 商 业 , 私 有 和 开 源 系 统 。 许 多 系 统 设 计 师 相 信 被 设 计使用小型微控制器的小规模嵌入系统 (即 ROM最大 值 128KB和 RAM最大 值 4KB的微型控制器 )不需要实时操作系统 。 然而 , 实时操作系统 为 这个范围的 设备提供 重大好处 。例如 , 开发人员可以使用实时操作系统优化软件开发 。 在使用小型微控制器 进行 系统开发 , 软件生产率是一个关键问题 , 因为上市时间的压力以及缩短 的 开发周期 ( 见 2004年 嵌 入 式 系 统 设 计 调 查 http:/w.em ns/survey) 。 对 于 涉 及 复 杂 的

8、代码 的 项 目 , 实 时 操 作 系 统 是 一 种 有 效 的 工 具 来 管 理 和 分 发 软 件 开 发 人 员 之 间 的 任 务 。使用实时操作系统 , 项目负责人 可以把 整个软件 分割成模块任务 , 便于个体程序员处理 。此外,其他开发人员能够开发低级别的驱动程序。 实时操作系统也提供了更好的和更安全的同步 机制 。 在没有实时操作系统 的 小型嵌入式系统 开发中 ,开发人员通常使用全局变量 来用于 同步 、 模块和函数间通信。但是 ,使用全局变量可以导致错误和软件安全问题 , 特别是在高度 的 中断驱动 的 系统 , ( 见 2006年嵌入式系统设计调查 htp:/w.e

9、m ns/) 。 因为这些全局变量往往 被共享和 函数 之间的访问 , 在 程序执行过程中他们是非常 容易被篡改 。 随着 代码开始增长 ,这些错误隐藏得更深 , 从而更难以发现 。 结果 , 即使是这些小规模的系统 , 开发 时间 将被 延长 。 随着实时操作系统到位 , 任务可以安全地传递信息或相互同步 , 不存在篡改 问题。w.tecos.rg大连悠龙咨询服务有限公司( w.uloong.c) 第 3页大多数实时操作系统提供 API,让开发 人员 管理系统资源,建立包括任务管理 , 内存 池 管 理 , 时 间 管 理 , 中 断 管 理 , 通 信 和 同 步 的 函 数 。 实 时

10、 操 作 系 统 为 开 发 人 员 提 供了抽象层 , 开发人员可以自由组织 软件 , 实现更干净的代码 , 甚至 通过很少的 代码修改 ,在不同硬件平台快速 移植 。 特别是在小型系统开发 中 , 硬件成本是一个重要的制约因素 ,开发 时间通常 是 较短 的 。时间管理功能让软件设计者不必了解底层硬件机制 , 实现任务延误,定时器处理 ,或时间触发的处理 。 在没有实时操作系统 的 小系统 中 , 实现定时相关的 特性 可能会非常棘手 , 因为软件设计人员必须了解相关的外围设备 ( 如定时器 ) , 如何使用它们 , 以及如何 和 顶层应用程序代码联系在一起 。 任何修改 , 如延迟时间

11、加 长 , 将要求开发人员重新检查代码和相应的外围设备 , 来 进行更改 。 为了移植软件 到另一个使用不同微控制器 、不同外设 的 平台,开发人员必须重写这些定时 函数 。除非该项目涉及 到关键 计时问题 ,而使用 一个独特的硬件 , 否则 使用实时操作系统可以帮助加快开发所需的时间 , 以 处理这些 时间 问题 。Ganssle使 用 打 印 机 系 统 的 例 子 说 明 了 在 小 系 统 的 设 计 中 实 时 操 作 系 统 的 重 要 性 。如果没有实时操作系统,该系统采用了单独的代码块来管理所有打印机活动,送纸 , 用户输入阅读,打印控 制 。实时操作系统让 独立 任务管理 各

12、自 活动。除了传递状态信息 ,每一个任务并不需要知道其他任务正在执行什么 。 因此 , 有一个到位的实时操作系统可以 在 时 间 域 中 和 在 功 能 方 面 分 配 软 件 的 执 行 ( 任 务 同 时 运 行 , 每 个 任 务 的 执 行 特 定 操作)。w.tecos.rg大连悠龙咨询服务有限公司( w.uloong.c) 第 4页图 1.在 2004年 嵌 入 式 系 统 设 计 嵌 入 式 市 场 调 查 (http:/w.em 实时操作系统使用报告:已经使用( a) , 即将考虑使用( )(版权所有 2009TechInsights.授权使用)图 1显 示 了 从 2004

13、年 嵌 入 式 系 统 设 计 对 开 发 人 员 使 用 , 并 会 考 虑 在 其 现 有 的 和 即将开展的项目 中使用 实时操作系统 数量的 嵌入 市场 调查结果 。 ( 从 2004年 、 2006年调查 结果在 http:/w.em ) 2004年 , 超 过 49%的 开发人员说 ,他们曾使用实时操作系统 。 在 2005年的调查 中 这个百分比上升到 80.9, 并于 2006年达 到 71%。 开 发 人 员 会 考 虑 在 即 将 开 展 的 项 目 中 使 用 实 时 操 作 系 统 的 比 例 为 66.6%, 在2004年和 2005年的 86%,表明使用实时操作系

14、统走向稳定的趋势。w.tecos.rg大连悠龙咨询服务有限公司( w.uloong.c) 第 5页表 1使 用 的 各 种 类 型 的 操 作 系 统 在 2006年 嵌 入 式 系 统 设 计 嵌 入 式 市 场 的 调 查 结 果( http:/w.em 2009TechInsights.授权使用)表 1显示 来自于 , 揭示 另一种在实时操作系统选择 上的 趋势 。 公司正在走向开源实时 操 作 系 统 -从 目 前 的 项 目 中 16%到 在 即 将 开 展 的 项 目 中 19%, 走 向 商 业 发 行 的 开 源 实时操作系统从目前的项目中 12至在即将开展的项目 中 17。

15、商业和内部系统的使用 ,目前虽然 使用 广泛 , 但 正在下降 , 商业操作系统从目前的项目中 51至即将开展的项 目47%, 内 部 操 作 系 统 从 21%至 17。 在 2007年 的 调 查 中 , 商 业 操 作 系 统 的 使 用 进 一 步下 降 至 41.2007年 的 调 查 还 显 示 , 在 实 时 操 作 系 统 选 择 中 , 选 择 商 业 操 作 系 统 关 键 影响的因素是质量和技术支持 。 如果 没有 足够的技术支持 , 公司可能会寻找其他更符合成本效益的选择。在小型 微控制器 上使用 实时操作系统也有一些缺点 。 因为实时操作系统消耗 额外 的内存 ( R

16、OM和 RA) , 计算资源和 电量 , 系统设计者必须确定系统是否可以 承担这些开 销 。 对 于 小 型 的 微 控 制 器 , 实 时 操 作 系 统 必 须 有 紧 凑 ROM和 RA的 需 求 。 各 种 实w.tecos.rg大连悠龙咨询服务有限公司( w.uloong.c) 第 6页时操作系统可用于这些设备 , 有些是具有足够的灵活性 , 设计人员可以将它们配置为仅拥有那些功能和应用程序需要 的 API, 从而 有 一个较小的代码大小 。 此外 , 大多数实时操作系统需要一个周期定时器(操作系统 滴答 )执行调度程序和其他相关系统服务。如任务同步实时操作系统服务必须有一个已知的执行时间 ( 也就是任务需要 一定量的时间 切换到发生 ) 。 根据这些时间因素 , 并使用相关的实时操作系统服务

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号