文档详情

实时嵌入式系统.ppt

发布:2016-12-19约10.81万字共574页下载文档
文本预览下载声明
附A.4 μC/OS-Ⅱ0X86上的移植 附A.4.1 概述 附A.4.2 任务切换 附A.4.2.1 任务切换函数OSCtxSw() 附A.4.2.1 任务切换函数OSCtxSw() 附A.4.2.1 任务切换函数OSCtxSw() 附A.4.2.1 任务切换函数OSCtxSw() 附A.4.2.2任务切换宏OS_TASK_SW() 附A.4.2.2任务切换宏OS_TASK_SW() 附A.4.2.2任务切换宏OS_TASK_SW() 附A.4.2.2任务切换宏OS_TASK_SW() 附A.4.2.3 中断级任务切换函数OSIntCtxSw() 附A.4.2.3 中断级任务切换函数OSIntCtxSw() 附A.4.2.3 中断级任务切换函数OSIntCtxSw() 附A.4.2.3 中断级任务切换函数OSIntCtxSw() 附A.4.3 系统时钟 附A.4.3.1 PC中DOS的系统时钟 附A.4.3.2 PC中μC/OS-Ⅱ的系统时钟 附A.4.3.2 PC中μC/OS-Ⅱ的系统时钟 附A.4.3.2 PC中μC/OS-Ⅱ的系统时钟 附A.4.3.2 PC中μC/OS-Ⅱ的系统时钟 附A.4.3.3 μC/OS-Ⅱ系统时钟中断服务程序 附A.4.3.3 μC/OS-Ⅱ系统时钟中断服务程序 附A.4.3.4 μC/OS-Ⅱ系统时钟中断向量的安装 附A.4.3.4 μC/OS-Ⅱ系统时钟中断向量的安装 附A.4.3.4 由μC/OS-Ⅱ返回DOS 7 .2 .1 创建动态内存分区 7.2.1 创建动态内存分区 7.2.2 请求获得一个内存块 7.2.2 请求获得一个内存块 7.2.4 查询一个内存分区的状态 8.1.1 可重入函数的概念 8.1.1 可重入函数的概念 8.1.3 任务堆栈的设计 8.2.2任务堆栈的设计 8.2.3文件OS_CPU_C. C的修改 8.2.3文件OS_CPU_C. C的修改 8.2.3文件OS_CPU_C. C的修改 8.2.3文件OS_CPU_C. C的修改 8.2.4 几点注意事项 8.2.4 几点注意事项 8.3 应用举例 μC/OSⅡ * 6.2 信号量集的操作 6.2.1创建信号量集 任务可以通过调用函数OSFIagCreate()来创建一个信号量集。 该函数原型如下: OS_FLAG_GRP * OSFlagCreate( OS_FLAGS flags //信号的初始值 INT8U * err //错误信息 ); μC/OSⅡ * 6.2.1 创建信号量集 OS_ FLAG_GRP * OSFlagCreate( OS_FLAGS flags,INT8U * err) { #if OS_CRITICAL_METHOD==3 OS_ CPU _SR cpu_sr; #endif OS_FLAG_GRP * pgrp; if (OSIntNesting0) { *err = OS _ERR_CREATE_ ISR; return ((OS_FLAG_GRP * )0); } OS_ENTER_CRITICAL(); pgrp = OSFlagFreeList; if (pgrp != (OS_FLAG_GRP *)0) 函数OSFlagCreate()的源代码如下: μC/OSⅡ * 6.2.1 创建信号量集 { OSF1agFreeList =(OS_FLAG_GRP * )OSFlagFreeList-OSFlagWaitList; pgrp - OSFlagType = OS_EVENT_TYPE_FLAG; pgrp - OSFlagFlags = flags; pgrp - OSF1agWaitList = (void *)0; OS_EXIT_CRITICAL() ; *err = OS _NO_ERR; } else { OS_EXIT_CRITICAL(); *err = OS_FLAG_GRP_DEPLETED; } return (pgrp) } μC/OSⅡ * 6.2.1 创建信号量集 在实际应用中,OSFlagFlags可以根据需要赋值。 从函数的源代码中可知,创建信号量集的函数主要做了两项工作:一是从空标志组链表中取下一个标志组,
显示全部
相似文档