RTOS实时管理应用软件的开发挑战

嵌入式技术

1335人已加入

描述

  普通人每天与手机、汽车、家用电器、玩具、收银机、娱乐电子产品、安全系统、环境控制和个人电子产品中的数百个嵌入式处理器进行交互。所有这些产品之间的共同联系是它们能够实时响应用户、外部事件和通信渠道。

  这些嵌入式设备的软件可以分为应用软件和操作系统(OS)软件。应用软件使产品独一无二,并包含使产品符合其规格所需的数据收集、信号处理和硬件控制例程。操作系统允许程序员将大型应用程序分解为更小的、单独开发的进程或任务。

  操作系统的核心是内核,它调度程序的执行并管理共享资源。实时操作系统 (RTOS) 在保证的最长时间内处理来自定时器或外部事件的硬件请求或中断。程序员通过 API 与操作系统交互并设置优先级和数据依赖关系。在执行期间,RTOS 通过一系列外部实时活动来管理应用软件。

  内部代码

  即使具有 RTOS 的优势,国产操作系统仍然在嵌入式实时产品中占据不小的比例。开发人员有多种动机可以完全绕过商业 RTOS 并编写自己的实时例程。开发人员不选择商业操作系统的最大原因是缺乏需求。只需运行一项任务,设计人员认为他们可以轻松跟踪所需的硬件交互。

  特殊情况有时证明内部软件是合理的。例如,便携式医疗保健设备的设计目标可以包括低成本、低功耗和一年的电池待机寿命,无需额外的内存和处理能力来支持商业 RTOS。此外,如果一个新项目是对先前项目的升级,开发人员可能希望尽可能多地使用遗留代码。

  并非同一家公司发明的组件也可能是许多开发人员编写自己的操作系统的原因之一。将第三方软件安装到他们的展示产品中就像承认他们在某种程度上无法胜任这项任务。此外,开发人员可能认为他们将失去进行软件调整以补偿硬件更改或纠正错误的能力。设计人员可以轻松调整执行顺序或使用汇编语言来解决内部开发软件的关键时序问题。然而,在商业 RTOS 中,调度程序处理了许多时序问题,因此开发人员失去了完全控制的感觉。最后,程序员将贴纸震惊列为编写自己的操作软件的另一个原因。

  软件快捷方式

  随着嵌入式系统复杂性的增加和项目进度的缩短,软件已经取代硬件成为大多数嵌入式开发项目中价格最高的项目。如果设计团队可以购买 RTOS 并消除软件结构中最复杂部分的编码、调试和文档,那么购买决定应该得到仔细考虑。尽管商业 RTOS 可能很昂贵,但较小的开发团队和较短的项目时间框架可能会节省足够多的成本来证明购买的合理性。

  RTOS 允许程序员编写独立的、可重用的模块,以降低软件复杂性并缩短开发进度。程序员可以独立编写每个软件例程,而不会陷入任务间时序问题。大多数 RTOS 供应商提供完整的交互式开发环境,包括源代码编辑器、代码管理器、链接器、下载器、运行时工具和一个或多个调试器。软件供应商还提供软件性能分析工具,以帮助分析和可视化应用程序例程中的实时活动。程序员可以监控哪些任务正在运行,观察数据流,并检测任务何时以及多久被更高优先级的项目中断。RTOS 供应商一致认为,高质量的开发工具可以显着缩短调试时间。

  除了节省成本外,RTOS 供应商还列举了多种技术原因来证明其产品的合理性。例如,如果应用程序涉及大量数据处理,则可以轻松扩展许多 RTOS,以将任务分散到多个处理器上,从而显着提升性能。RTOS 提供通信和同步服务以使多处理透明化。此外,与多核处理器一起工作的现成 RTOS 简化了新设计或产品更新中的旧代码集成。

  商业 RTOS 是模块化的,因此用户只能选择他们需要的操作系统的那些部分或功能。指定成熟商业 RTOS 的子集可以降低采购成本和所需的内存占用。在当前的连接趋势下,即使是最简单的嵌入式产品也可能需要连接到 Internet 并通过 Internet 发送数据。图形用户界面也可能成为小型嵌入式系统的标准,即使只是为了维护。这些功能在大多数商业 RTOS 中都包含或可选地可用,但可能非常昂贵或不可能添加到专有操作系统中。供应商还将产品按需技术支持作为商业 RTOS 的主要优势。

  现成的平台

  商业 RTOS 不断升级以添加新功能并跟上不断变化的技术。例如,Wind River 流行的 VxWorks 操作系统最近进行了修改,以提供 64 位计算支持以及改进的多核功能。VxWorks 包括一个外壳、调试功能、内存管理、性能监控和对多处理的支持。实时功能包括用于抢先式多任务处理、中断响应、进程间通信和文件系统的内核(参见图 1 中的框图)。Wind River Workbench 开发工具套件和 Intel Integrated Performance Primitives for VxWorks 支持软件开发。

  图 1: Wind River 的 VxWorks RTOS 适合许多嵌入式应用程序,具有 32 位或 64 位处理、多核支持和众多连接选项。

  

嵌入式

  RTOS 支持对称多处理 (SMP) 和非对称多处理 (AMP) 模式下的各种多核配置,或作为 Wind River Hypervisor 之上的客户操作系统。VxWorks 还具有可配置和可调的小内存占用,允许用户控制每个项目使用多少操作系统。

  除了提供大量商业 RTOS 产品外,嵌入式系统社区还维护一个基于实时内核的开源操作系统,可免费用于商业应用程序。FreeRTOS 项目正在持续积极开发中,并根据 GNU 通用公共许可证分发,但有一个可选例外,允许用户对其专有软件保密。免费源代码和没有经常性版税是小型、低预算嵌入式项目的流行特性。FreeRTOS 已移植到多个微控制器平台,并且具有最小的 ROM、RAM 和处理开销,从而产生了 4 KB 到 9 KB 范围内的典型内核二进制映像。尽管内核的 FreeRTOS 源代码仅包含在三个 C 代码文件中,

  潜在的开源软件用户最大的抱怨是缺乏中央资源来提供类似于商业软件供应商提供的支持。但是,FreeRTOS 网站有一个活跃的免费支持论坛,开发人员可以在其中找到技术问题的答案。为了支持开源平台,Microchip Technology 提供了 FreeRTOS Microchip PIC32 教育套件。这个 95 美元的套件包括一个开发板,使用户能够在 PIC32 微控制器系列上开发 USB 嵌入式主机、设备和 On-The-Go 应用程序。

  实时未来

  尽管程序员在考虑开发内部操作系统的挑战时可能会感到兴奋,但“自己动手”的日子可能正在逐渐消失。设计人员可以期待实时软件成为未来嵌入式产品的标准。

  客户对更快响应时间、复杂功能和即时数据访问的需求不断增加嵌入式设计的挑战。先进的技术还要求嵌入式产品能够随着需求的变化进行定期软件更新,以及可能转移到下一代硬件平台。

  在开始内部软件开发项目之前,开发人员应该花时间分析他们的系统需求、开发计划、软件支持、可扩展性、通信、可扩展性和未来增长。一个现成的商业 RTOS 甚至开源操作系统可能在你的未来。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分