FreeRTOS框架

本文深入探讨FreeRTOS的任务管理,包括任务状态、任务间通信、中断处理和资源管理。介绍了信号量、互斥量、事件、消息队列等IPC通信机制。此外,还讨论了中断延迟、中断嵌套和基于中断的任务切换。内存管理和软件定时器的实现也进行了详细阐述。
摘要由CSDN通过智能技术生成

 

 

 

任务
    意义:竞争系统资源的最小单元,任务可以使用或等待CPU、使用内存空间等系统资源,并独立于其他任务运行。只有单核的时候,意味着任何时刻只有一个任务在执行,任务之间的交替工作需要调度器的切换功能;
    原型;void ATaskFunction(void *pvParameters)
    特点:死循环,无返回值,一般情况下不会执行到函数末尾,只能被删除或一直运行;
    状态
        就绪态:任务在就绪列表中,就绪的任务已经具备执行能力,只等待调度器的调度,新建的任务会初始化为就绪态;
        运行态:任务正在执行,此时它占用处理器;
        阻塞态:任务正在等待事件的发生,事件到达后进入就绪态;
        挂起态:处于挂起态的任务对调度器而言是不可见的,只能使用vTaskSuspend()挂起和vTaskResume()唤醒; 

任务间通信
    实现任务间同步和通信、任务与事件的同步;
    IPC通信机制
        信号量
            二值信号量:可以用于同步功能(任务与任务间的同步或任务和中断间的同步)和临界资源的访问;
            互斥量:(优先级继承机制)主要用于临界资源的访问;
            计数信号量:用于事件计数与资源管理;
            递归信号量:可以重复获取调用的信号量;

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值