- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统及应用;主要内容;第一节任 务 ;在嵌入式实时系统中任务是操作系统内核调度的基本单位。
任务主要包含以下内容:
代码:一段可执行的程序
数据:程序所需要的相关数据(变量、工作空间、缓冲区等)
堆栈
程序执行的上下文环境
; void YourTask (void *pdata)
{
for (;;){
/* 用户代码;
调用uC/OS-II的某些功能函数*/:
OSFlagPend();
OSMboxPend();
OSMutexPend();
OSQPend();
OSSemPend();
OSTaskDel(OS_PRIO_SELF);
OSTaskSuspend(OS_PRIO_SELF);
OSTimeDly();
OSTimeDlyHMSM();
/* 用户代码 */
}
}
; void YourTask (void *pdata)
{
/* 用户代码;
OSTaskDel(OS_PRIO_SELF);
}
;int main(void)
{
// 初始化 uCOS内核.
OSInit();
// 在开始多任务之前必须先建立一个任务
OSTaskCreate(TestTask1, (void *) 11, TestTaskStk1[TASK_STK_SIZE], 11);
//第1个参数是指向该任务运行代码的指针,第2个参数是一个指向任务初始化数据的指针,
//第3个参数是任务的堆栈起始地址(高地址向低地址增长),
//第4个参数是任务的优先级,数值越小,优先级越高。
// 开始多任务,控制权交给内核
OSStart();
}
void TestTask1(void *pdata)
{ printf(%4u: ***** Test Task 1 First call *****\n, OSTime);
//创建其他任务
OSTaskCreate(TestTask2, (void *) 22, TestTaskStk2[TASK_STK_SIZE], 22);
while (1)
{
printf(%4u: ***** Test Task 11 *****\n, OSTime);
OSTimeDly(1);
}
};void TestTask2(void *pdata)
{
while (1)
{ printf(%4u: ***** Test Task 22 *****\n, OSTime);
OSTimeDly(1);
}
}
注:
堆栈大小有上限,对于X86处理器,OS_STK变量类型是16位变量,所以堆栈大小是1024B;
2. 内核允许建立多达63个用户任务,必须给这些任务分配一个独一无二的介于0-62的优先级。0是最高优先级。
3. OSStart()函数并不返回main函数。;任务的主要特性;任务与程序的区别:
任务能真实地体现工作内容的并发性,而程序不能;
程序是任务的组成部分
除程序外,任务还包括数据、堆栈及其上下文环境等内容;
程序是静态的,任务是动态的;
任务有生命周期,有诞生、有消亡,是短暂的;而程序是相对长久的;
一个程序可对应多个任务,反之亦然;
任务具有创建其他任务的功能,而程序没有。 ; 采用多任务的好处:
任务的规模较小
每个任务更容易编码和调试,其质量也更容易得到保证
不少应用本身就是由多个任务构成的
如一个应用可能需要进行以下任务的处理:计算、从网络获取数据和刷新显示屏幕
采用多任务的处理方式是应用问题的一个非常自然的解决方式
任务之间具有较高的独立性,耦合性小
通过增加新的任务就能方便的扩充系统功能
实时性强
保证紧急事件
您可能关注的文档
最近下载
- 想象与真实:网络玄幻小说《诡秘之主》的空间叙事研究.pdf VIP
- GB 1499.2-2024 钢筋混凝土用钢 第2部分:热轧带肋钢筋.pdf VIP
- 2024~2025学年10月山东青岛城阳区青岛实验高中高一上学期月考数学试卷(详解版).pdf VIP
- 《中国重症肌无力诊断和治疗指南(2025版)》解读PPT课件.pptx VIP
- 国庆双节小区物业安全温馨提示.doc VIP
- 《强制性条文实施计划》.docx VIP
- 长春易加科技-数字化互联化智能工厂解决方案.pdf VIP
- 23CJ87-1 采光、通风、消防排烟天窗(一)参考图集.docx VIP
- 车辆GPS动态监控管理制度完整.doc VIP
- 2-2《TIPS操作手册(公共代码管理子系统)》.pdf
文档评论(0)