×

如何借助MPLAB Harmony实现多种RTOS支持的详细资料概述

消耗积分:0 | 格式:pdf | 大小:1.19 MB | 2018-05-25

旧念

分享资料个

  在嵌入式应用程序中,应用程序在某些情况下需要停止当前活动并开始另一任务或对外部事件做出响应。在没有操作系统的环境中,只能使用中断来实现这一目的。通过中断功能,可实现应用程序代码抢占。

  在使用MPLAB® Harmony软件框架开发的应用程序中,通过将每个任务划分为较小的执行单元,使得应用程序、中间件和驱动程序等多个层实现协同工作。但是,仅当程序有机会运行任务时,才能处理事件。因此,处理事件的周期时间可能不确定,会随着功能的增加、移除或更改而发生变化。

  实时操作系统(Real-Time Operating System,RTOS)可抢占任务,然后允许执行其他高优先级任务。此外, RTOS调度器可确保等待资源或事件的任务不会浪费 CPU时间。此类任务会进入被阻塞状态,然后准备运行的任务会获得CPU时间。这样可以更有效地利用CPU 带宽。

  在RTOS环境中,不再需要通过大型超级循环运行所有任务,每个任务都可在专用的循环中运行。这样可为单个任务分配优先级,因此如果将高优先级分配给对时间有严格要求(硬实时)的任务,就能实现更快的响应速度。图1展示了基于MPLAB Harmony的应用程序中的任务在非RTOS环境中通过超级循环运行的方式。

  图2 展示了当MPLAB Harmony 应用程序被配置为在 RTOS环境中运行时每个任务在独立线程中的运行方式。通常,驱动程序任务程序可能仍在中断上下文中运行。中断通常支持最佳实时响应延时,而硬件通常提供用于设置中断优先级的机制。

如何借助MPLAB Harmony实现多种RTOS支持的详细资料概述
如何借助MPLAB Harmony实现多种RTOS支持的详细资料概述

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

评论(0)
发评论

下载排行榜

全部0条评论

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