码迷,mamicode.com
首页 > 其他好文 > 详细

μC/OS-II 创建一个任务的流程

时间:2018-04-23 00:16:32      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:data   -o   lis   pre   ...   initrd   启动   进入   开始   

1. 声明任务的优先级、任务堆栈的大小及任务函数

#define LED_TASK_PRIO                   6
#define LED_STK_SIZE                    64

void led_task(void *pdata);

2. 分配任务堆栈缓冲区

OS_STK LED_TASK_STK[LED_STK_SIZE];

3. 初始化 OS

OSInit();   
    -->
    OS_InitRdyList();                            
    OS_InitTCBList();                       
    OS_InitEventList();  
    OS_InitTaskIdle(); 
    OS_InitTaskStat();
    ......

初始化系统中重要的链表及两个系统任务(空闲和统计任务)等操作

4. 任务的创建

OSTaskCreate(led_task,(void *)0,(OS_STK*)&LED_TASK_STK[LED_STK_SIZE-1],LED_TASK_PRIO);  
    -->
    配置任务链表及初始化任务堆栈等操作

5. 启动 OS

OSStart();
    -->
    系统启动,开始实现各任务的调度工作

到此,μCOS-II 系统的初始化及启动工作已经完成,系统会进入运行状态。

μC/OS-II 创建一个任务的流程

标签:data   -o   lis   pre   ...   initrd   启动   进入   开始   

原文地址:https://www.cnblogs.com/GyForever1004/p/8910343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!