μC/OS-II 创建一个任务的流程
Posted Zackary.Liu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了μC/OS-II 创建一个任务的流程相关的知识,希望对你有一定的参考价值。
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 创建一个任务的流程的主要内容,如果未能解决你的问题,请参考以下文章
μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品