收藏 分享(赏)

UCOS-II:源码公开的实时嵌入式操作系统.pdf

上传人:刘佐伊 文档编号:10275 上传时间:2018-06-01 格式:PDF 页数:298 大小:4.12MB
下载 相关 举报
UCOS-II:源码公开的实时嵌入式操作系统.pdf_第1页
第1页 / 共298页
UCOS-II:源码公开的实时嵌入式操作系统.pdf_第2页
第2页 / 共298页
UCOS-II:源码公开的实时嵌入式操作系统.pdf_第3页
第3页 / 共298页
UCOS-II:源码公开的实时嵌入式操作系统.pdf_第4页
第4页 / 共298页
UCOS-II:源码公开的实时嵌入式操作系统.pdf_第5页
第5页 / 共298页
点击查看更多>>
资源描述

1、 第一章:范例 . 1 1.00 安装 C/OS-II . 1 1.01 INCLUDES.H . 2 1.02 不依赖于编译的数据类型 . 2 1.03 全局变量 . 3 1.04 OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL() . 5 1.05 基于 PC 的服务 . 6 1.05.01 字符显示 . 6 1.05.02 花费时间的测量 . 6 1.05.03 其他函数 . 7 1.06 应用 C/OS-II 的范例 . 7 1.07 例 1 . 8 1.07.01 main() . 9 1.07.02 TaskStart() . 11 1.07.03 T

2、askN() . 13 1.08 例 2 . 14 1.08.01 main() . 15 1.08.02TaskStart() . 16 1.08.03 TaskN() . 17 1.09 例 3 . 21 1.09.01 main() . 21 1.09.02 任务 . 22 1.09.03 注意 . 25 第二章实时系统概念 . 28 2.0 前后台系统( FOREGROUND/BACKGROUND SYSTEM) . 28 2.1 代码的临界段 . 29 2.2 资源 . 29 2.3 共享资源 . 29 2.4 多任务 . 29 2.5 任务 . 30 2.6 任务切换 (CONTE

3、XT SWITCH OR TASK SWITCH) . 31 2.7 内核( KERNEL) . 31 2.8 调度( SCHEDULER) . 31 2.9 不可剥夺型内核( NON-PREEMPTIVE KERNEL) . 32 2.10 可剥夺型内核 . 33 2.11 可重入性( REENTRANCY) . 33 2.12 时间片轮番调度法 . 35 2.13 任务优先级 . 35 2.14 静态优先级 . 35 2.15 动态优先级 . 36 2.16 优先级反转 . 36 2.17 任务优先级分配 . 38 2.18 互斥条件 . 39 2.18.1 关中断和开中断 . 39 2.

4、18.2 测试并置位 . 40 2.18.3 禁止 ,然后允许任务切换 . 41 2.18.4 信号量 (Semaphores) . 42 2.19 死锁 (或抱死 )( DEADLOCK (OR DEADLY EMBRACE)) . 46 2.20 同步 . 46 2.21 事件标志 (EVENT FLAGS) . 48 2.22 任务间的通讯 (INTERTASK COMMUNICATION) . 49 2.23 消息邮箱 (MESSAGE MAIL BOXES) . 49 2.24 消息队列 (MESSAGE QUEUE) . 50 2.25 中断 . 51 2.26 中断延迟 . 51

5、 2.27 中断响应 . 52 2.28 中断恢复时间 (INTERRUPT RECOVERY) . 53 2.29 中断延迟、响应和恢复 . 53 2.30 中断处理时间 . 53 2.31 非屏蔽中断 (NMI) . 54 2.32 时钟节拍 (CLOCK TICK). 56 2.33 对存储器的需求 . 58 2.34 使用实时内核的优缺点 . 59 2.35 实时系统小结 . 60 第三章内核结构 . 61 3.0 临界段 (CRITICAL SECTIONS) . 61 3.1 任务 . 61 3.2 任务状态 . 63 3.3 任务控制块( TASK CONTROL BLOCKS,

6、 OS_TCBS) . 64 3.4 就绪表( READY LIST) . 67 3.5 任务调度( TASK SCHEDULING) . 70 3.6 给调度器上锁和开锁 (LOCKING AND UNLOCKING THE SCHEDULER) . 71 3.7 空闲任务 (IDLE TASK) . 73 3.8 统计任务 . 73 3.9 C/OS 中的中断处理 . 77 3.10 时钟节拍 . 81 3.11 C/OS-初始化 . 85 3.12 C/OS-的启动 . 85 3.13 获取当前 C/OS-的版本号 . 88 3.14 OSEVENT?()函数 . 89 第四章任务管理

7、. 90 4.0 建立任务, OSTASKCREATE() . 91 4.1 建立任务, OSTASKCREATEEXT() . 95 4.2 任务堆栈 . 98 4.3 堆栈检验, OSTASKSTKCHK() . 100 4.4 删除任务, OSTASKDEL() . 103 4.5 请求删除任务, OSTASKDELREQ() . 106 4.6 改变 任务的优先级, OSTASKCHANGEPRIO() . 109 4.7 挂起任务, OSTASKSUSPEND() . 112 4.8 恢复任务, OSTASKRESUME() . 113 4.9 获得有关 任务的信息, OSTASKQ

8、UERY(). 115 第五章时间管理 . 117 5.0 任务延时函数, OSTIMEDLY() . 117 5.1 按时分秒延时函数 OSTIMEDLYHMSM(). 118 5.2 让处在延时期的任务结束延时, OSTIMEDLYRESUME() . 120 5.3 系统时间, OSTIMEGET()和 OSTIMESET() . 122 第六章任务之间的通讯与同步 . 123 6.0 事件控制块 ECB . 124 6.1 初始化一个事件控制块, OSEVENTWAITLISTINIT() . 127 6.2 使一个任务进入就绪态, OSEVENTTASKRDY() . 128 6.3

9、 使一个任务进入等待某事件发生状态 , OSEVENTTASKWAIT(). 130 6.4 由于等待超时而将任务置为就绪态 , OSEVENTTO() . 131 6.5 信号量 . 131 6.5.1 建立一个信号量 , OSSemCreate() . 132 6.5.2 等待一个信号量 , OSSemPend() . 133 6.5.3 发 送一个信号量 , OSSemPost() . 135 6.5.4 无等待地请求一个信号量 , OSSemAccept() . 136 6.5.5 查询一个信号量的当前状态 , OSSemQuery() . 137 6.6 邮箱 . 138 6.6.1

10、 建立一个邮箱, OSMboxCreate() . 139 6.6.2 等待一个邮箱中的消息, OSMboxPend() . 139 6.6.3 发送一个消息到邮箱中, OSMboxPost() . 141 6.6.4 无等待地从邮箱中得到一个消息 , OSMboxAccept() . 143 6.6.5 查询一个邮箱的状态 , OSMboxQuery() . 143 6.6.6 用邮箱作二值信号量 . 144 6.6.7 用邮箱实现延时,而不使 用 OSTimeDly() . 145 6.7 消息队列 . 146 6.7.1 建立一个消息队列, OSQCreate() . 149 6.7.2

11、 等待一个消息队列中的消息, OSQPend() . 151 6.7.3 向消息队列发送一个消息( FIFO), OSQPost() . 153 6.7.4 向消息队列发送一个消息(后进先出 LIFO), OSQPostFront() . 155 6.7.5 无等待地从一个消息队列中取得消息 , OSQAccept() . 156 6.7.6 清空一个消息队列 , OSQFlush() . 157 6.7.7 查询一个消息队列的状态, OSQQuery() . 158 6.7.8 使用消息队列读取模拟量的值 . 159 6.7.9 使用一个消息队列作为计数信号量 . 160 第七章 内存管理 . 162 7.0 内存控制块 . 163 7.1 建立一个内存分区, OSMEMCREATE() . 164 7.2 分配一个内存块, OSMEMGET() . 166 7.3 释放一个内存块, OSMEMPUT() . 168 7.4 查询一个内存分区的状态, OSMEMQUERY() . 169 7.5 USING MEMORY PARTITIONS . 169 7.6 等待一个内存块 . 171 第八章 移植 C/OS- .

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 网络技术 > 热门技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报