RTOSuCOS-II原理及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
行状态
page 9
用户任务代码的一般结构
void MyTask(void *pdata)
{ ……
// 任务的初始化
for ( ; ; )
//超Байду номын сангаас环构成任务体
{ 可被中断的用户代码片断;
OS_ENTER_CRITICAL(); //进入临界区(关中断)
不可被中断的用户代码片断;
OS_EXIT_CRITICAL();
INT8OUSTOaSskTCasrekaCtree(a)te--(-- 创建任务系统函数。
OSStartv(o)i-d--(-*启tas动k)u(vCo/iOdS*-pIId任) ,务调//指度向器任。务的指针
OS_ENTvEoRid_*CpRdIaTtIaC,AL( ) ---- 进入//传临递界给区任(务的宏参)数
void task_A(void* pdata)
{
……;
//任务初始化部分
while (1)
{
……; //任务功能代码
}
}
2020/7/20
void main(void)
{
OSInit(); //系统初始化部分
……
OSTaskCreate( task_A, void * 0,
&MystackTop,
的状态叫做任务的
断申请就会中止
任务的状态及其转换 睡眠状态
运行而去执行中 断服务程序,这 时任务的状态叫
做中断服务状态
系统为任务配备 了任务控制块且 在任务就绪表中 进行了就绪登记, 这时任务的状态 叫做就绪状态。
2020/7/20
山东科技大学 信息学院
处于就绪状态的 任务如果经调度 器判断获得了 CPU的使用权, 则任务就进入运
OS_EXIOT_SC_RSITTKIC*ApLto(s) ,---- 退出临//界任区务堆(栈宏栈)顶的指针
INT8U prio
//任务的优先级别
)
2020/7/20
山东科技大学 信息学院
page 12
OSTaskCreate( ) 函数使用举例:
定义任务 task_A
在系统 “创建” 任务 task_A
山东科技大学 信息学院
page 11
2.1 任务的基本概念
O在S此In我it(们) 学函习数了原uC型/O:S-IvI o的id3O个S系In统it(函vo数id和)
2个宏。
OSStar( ) 函数原型: void OSStart( void )
OS TOaSsIkniCt(r)e-a--t-e初( )始函化数uC原/O型S-:II 环境。
2020/7/20
山东科技大学 信息学院
page 3
第2章 补充.目录
1、任务的特性 2、任务的划分目标 3、任务的划分方法 4、任务的可调度性分析 5、任务的执行分类和优先级安排 6、任务设计中的问题 7、系统设计编码实现过程 8、中断服务程序的设计
2020/7/20
山东科技大学 信息学院
2020/7/20
山东科技大学 信息学院
page 6
2.1 任务的基本概念
2020/7/20
山东科技大学 信息学院
page 7
2.1 任务的基本概念
任各“务个宏的任观5务”种在上状多的态任多:务任系务统并中发也,随实着际环上境是条 用件 单的Sle情CepP况-U-而--进具仅行有有多编不码任同未务的激处状活理态。,。“微观” 任 何 时RR任ue刻na务nd,yi状ng-只-态----能-已划- 运正激分占行活也用并一是“C个多P万任U任事运务务俱行,备操自存,作己在只系。欠C统P调的U度资管” 源理 竞手Wa争段it 。--------等任待务某调事度件发、生任。务现场。
嵌入式实时操作系统
μC/OS-II
2020/7/20
page 1
第2章 uC/OS-II 中的任务
2020/7/20
page 2
第2章 目录
1、任务的基本概念 2、任务堆栈 3、任务控制块及任务控制块链表 4、任务就绪表及任务调度 5、任务的创建 6、任务的挂起和恢复 7、其他任务管理函数 8、uC/OS-II的初始化和任务的启动
……
“O任SI务nit”( ); 不能被主函数 main( ) 或其他函数调用,
只…能…被主函数或已激活任务创建。
任O务ST的as运kC行rea由te(操M作yTa系sk统1,…调…度);管理。
OSTaskCreate( MyTask2,… … );
……
OSStart( );
……
}
2020/7/20
复杂问题 “分而治之” 的问题解题思路。 针对目标系统拆分后的 “小且易” 的问题的具
体处理方法编码和数据结构 ---- 任务。 uC/OS-II的两种任务:系统任务、用户任务。 任务的组成:
任务控制块 ---- uC/OS-II进行任务管理用的一个数据结构。 任务代码 ---- 描述任务算法的程序编码。 任务堆栈 ---- 任务的工作现场环境。
ISR_Sta ---- Running状态的任务被中断后进 入的状态。
2020/7/20
山东科技大学 信息学院
page 8
正在运行的任务,需要
等待一段时间或需要等
待一个事件发生再运行
时,该任务就会把CPU
任务在没有被配备
的使用权让给别的任务
任务控制块或被剥 夺了任务控制块时
。 一个正在运行的
而使任务进入任等务待一状旦态响应中
8
);
OSStart();
}
山东科技大学 信息学院
page 13
2.1 任务的基本概念
系统任务
空统空闲计闲任任任务务务(((OOOSSSTTTaaassskkkISdIdetael(tl(())))))使使用用说说明明::
//退出临界区(开中断)
可被中断的用户代码片断;
}
}
2020/7/20
山东科技大学 信息学院
page 10
void MyTask1(void *pdata)
用{ 户… …应}用程序的一般结构 void MyTask2(void *pdata) { …… }
“vo用id户ma任in务( ) ” 代码形式上很像 C函数,但他不是 函{ 数!
page 4
第2章 目录
1、任务的基本概念 2、任务堆栈 3、任务控制块及任务控制块链表 4、任务就绪表及任务调度 5、任务的创建 6、任务的挂起和恢复 7、其他任务管理函数 8、uC/OS-II的初始化和任务的启动
2020/7/20
山东科技大学 信息学院
page 5
2.1 任务的基本概念
相关文档
最新文档