- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
- 2024至2030年中国左氧氟沙星片行业深度调查与前景预测分析报告.docx
- 菜籽项目申请报告.docx
- 2024至2030年中国八角钢行业深度调查与前景预测分析报告.docx
文档评论(0)