- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
arm任务管理
函数名称 OSInit 所属文件 OS_CORE.C 函数原型 void OSInit(void) 功能描述 初始化μC/OS-Ⅱ,无函数参数和返回值 特殊说明 必须在调用OSStart()函数之前调用OSInit(),而只有在调用OSStart()函数之后,μC/OS-Ⅱ才真正开始运行多任务 OSInit函数 函数名称 OSStart 所属文件 OS_CORE.C 函数原型 void OSStart(void) 功能描述 启动μC/OS-II的多任务环境,无函数参数和返回值 特殊说明 在调用OSStart( )之前必须先调用OSInit ( )。在用户程序中OSStart( )只能被调用一次,第二次调用OSStart( )将不执行任何操作 OSStart函数 任务管理 核心函数 任务管理函数 任务管理函数 任务管理函数 功能 配置开关常量 调用者 OSTaskChangePrio() 任务级变更 OS_TASK_CHANGE_PRIO_EN 任务 OSTaskCreate() 任务建立 OS_TASK_CREATE_EN 任务、启动代码 OSTaskCreateExt() 任务建立 OS_TASK_CREATE_EXT_EN 任务、启动代码 OSTaskDelReq() 请求删除任务 OS_TASK_DEL_REQ_EN 任务 OSTaskQuery() 任务信息的获取 OS_TASK_QUERY_EN 中断、任务 OSTaskResume() 任务恢复 OS_TASK_RESUME_EN 任务 OSTaskStkChk() 堆栈检验 OS_TASK_STK_CHK_EN 任务 OSTaskSuspend() 任务挂起 OS_TASK_SUSPEND_EN 任务 OSTaskDel() 删除任务 OS_TASK_DEL_EN 任务 函数名称 OSTaskCreate 所属文件 OS_TASK.C 函数原型 INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio) 功能描述 建立一个新任务。既可以在多任务环境启动之前,也可以在正在运行的任务中创建任务 函数参数 task :指向任务代码的指针(函数指针) pdata :传递给任务的参数(一个变量指针) ptos :指向任务堆栈栈顶的指针 prio :任务的优先级 函数返回值 OS_NO_ERR:函数调用成功 OS_PRIO_EXIST:具有该优先级的任务已经存在 OS_PRIO_INVALID:参数指定的优先级大于OS_LOWEST_PRIO OS_NO_MORE_TCB:系统中没有OS_TCB可以分配给任务了 特殊说明 任务堆栈必须声明为OS_STK类型。注意:在中断处理程序中不能建立任务。在任务中必须调用μC/OS提供的下述过程之一:延时等待、任务挂起、等待事件发生(等待信号量,消息邮箱、消息队列),以便其它任务也能获得CPU的使用权 建立任务——OSTaskCreate() 任务栈 堆栈 ---- LIFO访问原则组织的连续存储器。 任务堆栈----用于保存任务函数中所有寄存器、变量和数据结构的堆栈。 任务堆栈在 uC/OS-II 中的应用: 1、任务堆栈是任务的三大组成部分之一。 2、保存 CPU 寄存器现场。 3、保存本 Task 的私有数据。 ----- 在创建任务的同时,任务堆栈即被创建。 举例: #define MyTaskStkSize 64 OS_STK MyTaskStk[ MyTaskStkSize ] //在 OS_CPU.H中定义 OS_STK … … // typedef INT16U OS_STK INT8U OSTaskCreate( void (*task) (void *pd), //指向任务的指针 void * pdata, //传递给任务的参数 MyTaskStk[ MyTaskStkSize -1 ] //任务堆栈栈顶的指针 INT8U prio //任务的优先级别 ) 任务栈的创建 存在两种堆栈形式 递增堆栈 ---- 进栈操作向上(大地址)方向发展。 递减堆栈 ---- 进栈操作向下(小地址)方向发展。 OSTaskCreate( … … MyTaskStk[StkSize - 1], … … ) OSTaskCreate( … … MyTaskStk[ 0 ], … … ) 备注:OS_CPU.H
您可能关注的文档
- Ankylos presentation in Chinese 1__ Concept1.ppt
- Appendix2_业绩合同手册.ppt
- AlphaSTAR Training(PCB化银).ppt
- Alltech 2000型蒸发光散射检测器解决HPLC检测难题.ppt
- AQJ——50多种气体检测器教案.ppt
- ARCGIS教程.docx
- AQ应急预案体系的构成及编制.ppt
- arcgis教程_空间数据的可视化与制图.ppt
- arc-8852-3-4曲线的凹凸性与拐点.ppt
- App Inventor的功能和使用方法.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)