- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
voidMyTask1(void*pdata) //定义用户任务1{for(;;){……}}voidMyTask2(void*pdata) //定义用户任务2{for(;;){……}}voidMyTask3(void*pdata) //定义用户任务3{for(;;){……}}voidmain(){……OSInit(); //初始化uC/OS-II……OSTaskCreate(MyTask1,……); //创建用户任务1OSTaskCreate(MyTask2,……); //创建用户任务2OSTaskCreate(MyTask3,……); //创建用户任务3……OSStart(); //启动任务……}空闲任务(OSTaskIdle())在多任务系统运行时,系统经常会在某个时间内无用户任务可运行而处于空闲状态,为使CPU在没有用户任务可执行时有事可做,提供了空闲任务(代码)统计任务(OSTaskStat())*每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUsage中,以便应用程序通过访问它来了解CPU的利用率01如果用户应用程序要使用统计任务,则必须把定义在系统头文件OS_CFG.H中的系统配置常数OS_TASK_STAT_EN设置为1,并且必须在创建统计任务之前调用函数OSStatInit()对系统任务进行初始化0201每个任务都必须具有一个唯一的优先级别020~63共64个优先级别,总共不大于64个任务在文件OS_CFG.H中常数OS_LOWEST_PRIO指明程序中任务优先级别的个数优先级别:0,1,2,…,OS_LOWEST_PRIO任务个数:OS_LOWEST_PRIO+1其中:OS_LOWEST_PRIO自动赋给空闲任务OS_LOWEST_PRIO-1自动赋给统计任务如果希望应用程序中任务的优先级别为28个,则表示最低优先级别的常数OS_LOWEST_PRIO值应该是多少?如果应用程序中使用了系统提供的空闲任务和统计任务,则应用程序最多可以安排多少任务?01存储器中按数据“后进先出(LIFO)”的原则组织的连续存储空间。堆栈:02任务的重要组成部分每个任务都配有自己的堆栈满足切换和响应中断时保护CPU寄存器中的内容及存储任务私有数据的需要任务堆栈:typedefunsignedintOS_STK;在文件OS_CPU.H中的数据类型OS_STK#defineTASK_STK_SIZE512 //定义堆栈长度OS_STKTaskStk[TASK_STK_SIZE]//定义数组在应用程序中定义OS_STK类型的一个数组使用:当调用函数OSTaskCreate()来创建一个任务时,把数组的指针传递给函数OSTaskCreate()中的堆栈栈顶参数ptos,就可以把该数组与任务关联起来而成为该任务的任务堆栈创建任务函数的原型任务代码堆栈的增长方向是随系统所使用的处理器不同而不同CPU启动运行一个任务时,各寄存器需要预置一些数据,如:指向任务的指针、PSW程序状态字任务堆栈初始化函数OSTaskStkInit()1OS_STK*OSTaskStkInit(2void(*task)(void*pd),3void*pdata,4OS_STK*ptos,5INT16Uopt6);2.3任务控制块及
任务控制块链表*任务控制块(OS_TCB):用来记录任务的堆栈指针、任务的当前状态、任务的优先级别等一系列与任务管理有关的属性的表任务控制块结构的定义是一个结构类型数据用户应用程序调用OSTaskCreate()函数创建一个用户任务时,这个函数就会对任务控制块中的所有成员赋予与该任务相关的数据,并驻留在RAM中现在已经有v3.0的版本,在/page/home网站上可以找到。不过由于教材的选择,我们还是以v2.52版本为学习的范例。稳定性与可靠性:1992年以来已经有很多的商业应用软件品质获得认证:2000年7月得到了美国联邦航管理局的认证教学适用性:容易获得C语言编写的源代码及注释在这些特点里面,要强调的是实时性,也就是说嵌入式操作系统是一个实时的操作系统。基于实时操作系统
的程序设计技术信息科学与技术学院2
文档评论(0)