uC/OS-ll 任务、任务控制块、任务控制链表

本文详细介绍了uC/OS-II操作系统中的任务管理,包括任务(线程)的组成部分、分类和状态,以及任务代码的结构。此外,还阐述了任务堆栈的定义、创建和初始化过程。最后,讨论了任务控制块的重要性和任务控制块链表的管理方式,如何通过链表管理任务控制块来实现任务调度。
摘要由CSDN通过智能技术生成

第二章

2.1任务(又称为线程)

组成部分:任务程序代码 任务堆栈 任务控制块

分类:用户任务(解决应用问题)、系统任务(为应用程序提供服务)

Uc/OS-ll在管理任务时将每个任务作为一个节点,链接成任务链表,最多可对64个任务进行管理。

状态:典型地、每个任务都是一个无限的循环。每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态

 

任务代码的一般结构:执行代码是一个无限循环结构,可以响应中断,称为超循环结构。

例1、  void mytask(void *pdata)

{

     For(;;)

{

    可以被中断的用户代码;

    OS_ENTER_CRITICAL( );  //进入临界段(关中断)

    不可以被中断的用户代码;

    OS_EXIT_CRITICAL( ); //退出临界段(开中断)

    可以被中断的用户代码;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值