推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验03_任务优先级抢占实验.docx

资料介绍

实验 03:任务优先级抢占实验

实验说明

实验概述

FreeRTOS 是一个抢占式实时操作系统,其核心调度机制基于任务优先级。理解优先级抢占对于设计可靠、高效的嵌入式系统至关重要。本实验通过设置两个不同优先级的任务,直观展示高优先级任务如何抢占低优先级任务的 CPU 执行权,以及低优先级任务在何种条件下才能获得执行机会。

实验原理

FreeRTOS 中,每个任务被赋予一个优先级,数值越大优先级越高。调度器始终确保处于就绪态的最高优先级任务获得 CPU 使用权。当高优先级任务就绪时,即使低优先级任务正在执行,也会被立即打断(抢占)。只有高优先级任务主动阻塞(如调用 vTaskDelay()、等待信号量等)或被更高优先级任务抢占时,低优先级任务才有机会运行。本实验使用 vTaskDelayUntil() 实现周期性执行,该函数相比 vTaskDelay() 能提供更精确的周期控制,不受任务执行时间抖动的影响。

关键知识点

1. 抢占式调度:高优先级任务就绪时立即抢占低优先级任务,这是 RTOS 实时性的保证。

2. vTaskDelayUntil():绝对延时函数,用于固定周期执行,适合需要精确时序的场景。

3. 优先级反转:低优先级任务持有高优先级任务需要的资源时,会导致高优先级任务被阻塞,需要互斥量的优先级继承机制解决。

实验现象

低优先级任务每隔 2 秒打印一次运行信息,高优先级任务每隔 3 秒执行一次繁重计算并打印信息。当高优先级任务执行时,低优先级任务被抢占,在其执行完毕释放 CPU 后,低优先级任务继续运行。

完整代码


部分文件列表

文件名 大小
实验03_任务优先级抢占实验.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

  • 21下载积分 打赏5.00元   3天前

    用户:ccc6188

  • 21下载积分 打赏5.00元   3天前

    用户:木集盒

推荐下载