词条 | μC、OS-2标准教程 |
释义 | 书名,杨宗德著,人民邮电出版社2009年出版。主要介绍当前最新版本的μC/OS-II(2.80版本)实时操作系统,包括内核分析及其在ARM9内核处理器(S3C2410)上的移植方法。该书可以作为高等院校学习嵌入式操作系统原理的专业教材,也适合有意从事嵌入式系统开发的工程技术人员阅读。 版权信息书 名: μC、OS-2标准教程 作 者:杨宗德 出版社: 人民邮电出版社 出版时间: 2009 ISBN: 9787115204424 开本: 16 定价: 39.00 元 内容简介《μC/OS-2标准教程》主要介绍当前最新版本的μC/OS-II(2.80版本)实时操作系统,包括内核分析及其在ARM9内核处理器(S3C2410)上的移植方法。内核方面主要包括μC/OS-II操作任务管理、任务级任务调度和中断级任务调度、系统启动与初始化、时钟任务管理、任务间通信机制、任务间单事件和多事件同步机制、内存管理方式。《μC/OS-2标准教程》还通过具体实例介绍μC/OS-II系统在以ARM9为内核的嵌入式处理器S3C2410上的移植方法,最后对轻量级TCP/IP协议栈——μC/TCP-IP协议栈进行了概要介绍。《μC/OS-2标准教程》可以作为高等院校学习嵌入式操作系统原理的专业教材,也适合有意从事嵌入式系统开发的工程技术人员阅读。《μC/OS-2标准教程》假定读者有较好的C语言基础和数据结构基础知识,如果读者对ARM处理器有一定的了解,将更容易掌握《μC/OS-2标准教程》内容。 编辑推荐《μC/OS-2标准教程》特点:逐句分析u(3/OS-II(2.80版本)源代码,详细分析系统原理。以Microsoftvc++环境为平台,配备完整模拟应用案例。以S3C2410(ARM9)为处理器平台,分析硬件平台相关代码,逐步介绍移植过程。《μC/OS-2标准教程》主要介绍uC/OS-II(2.80版本)内核基本原理(包括任务及任务调度、系统启动与实始化、任务间通信与同步、内存管理),分析源代码及应用案例,并介绍在ARM9内核处理器(S3C:2410)上的移植和uC/TCP-IP协议栈设计方法。 目录第1章μC/OS-II与嵌入式实时操作系统1 1.1实时操作系统概述2 1.1.1嵌入式系统软件结构2 1.1.2实时操作系统内核概述3 1.1.3常见实时操作系统简介4 1.2μC/OS-II内核源代码文档结构6 1.2.1构建μC/OS-II模拟编程环境6 1.2.2测试程序源代码说明8 1.3μC/OS-II基本概念9 1.3.1嵌入式应用程序开发模式9 1.3.2可重入函数与不可重入函数10 1.3.3μC/OS-II临界状态管理11 1.4小结12 1.5习题13 第2章μC/OS-II任务管理15 2.1案例引入:基于mC/OS-II的多任务管理16 2.1.1μC/OS-II多任务示例运行结果16 2.1.2μC/OS-II多任务代码分析16 2.2μC/OS-II任务基本属性17 2.2.1C语言可执行代码结构17 2.2.2μC/OS-II任务结构18 2.2.3μC/OS-II任务栈19 2.2.4μC/OS-II任务控制块21 2.2.5μC/OS-II任务优先级26 2.2.6μC/OS-II任务状态26 2.2.7系统任务28 2.3μC/OS-II任务管理函数源码分析32 2.3.1创建任务32 2.3.2初始化任务栈35 2.3.3初始化任务控制块37 2.3.4扩展创建任务40 2.3.5删除任务42 2.3.6请求删除任务45 2.3.7挂起任务47 2.3.8恢复任务49 2.3.9设置任务名称50 2.3.10获取任务名称52 2.3.11读取任务TCB信息53 2.4应用实例:多任务管理应用分析55 2.4.1基本功能55 2.4.2程序实现及源码分析55 2.5小结58 2.6习题58 第3章μC/OS-II任务调度与系统初始化59 3.1μC/OS-II任务级任务调度机制60 3.1.1μC/OS-II调度算法60 3.1.2μC/OS-II任务就绪表60 3.1.3获取最高优先级就绪任务62 3.2μC/OS-II任务级任务调度63 3.2.1任务级任务调度算法分析63 3.2.2任务级任务切换OS_TASK_SW()64 3.2.3调度器上锁与解锁66 3.2.4修改任务优先级67 3.3μC/OS-II中断级任务调度69 3.3.1μC/OS-II中断管理69 3.3.2IRQ中断处理过程及中断级调度70 3.3.3OSIntEnter()进入中断管理函数72 3.3.4OSIntExit()退出中断管理函数72 3.3.5中断级任务调度切换函数OSIntCtxSw()73 3.3.6FIQ中断处理过程及中断级调度74 3.4任务级任务调度实例76 3.4.1程序功能76 3.4.2程序实现及源码分析76 3.5小结78 3.6习题79 第4章μC/OS-II系统启动与时钟任务管理81 4.1μC/OS-II系统启动过程分析82 4.1.1μC/OS-II应用程序开发模式82 4.1.2OSInit()函数初始化分析82 4.1.3OSStart()函数启动系统分析87 4.1.4运行最高优先级任务87 4.2时钟任务与时钟管理88 4.2.1创建系统时钟任务88 4.2.2时钟中断服务程序OSTimeTick()89 4.2.3系统时间管理函数源码分析91 4.3小结95 4.4习题95 第5章μC/OS-II任务间通信机制97 5.1μC/OS-II事件管理机制98 5.1.1事件控制块98 5.1.2事件控制块管理99 5.2单一消息传递事件:消息邮箱101 5.2.1消息邮箱基本原理101 5.2.2创建消息邮箱101 5.2.3阻塞式读取消息103 5.2.4非阻塞式读取消息106 5.2.5发送消息到消息邮箱107 5.2.6按指定方式发送数据到消息邮箱110 5.2.7删除消息邮箱111 5.2.8获取消息邮箱基本信息114 5.2.9消息邮箱应用实例115 5.3多消息传递事件:消息队列117 5.3.1消息队列基本原理117 5.3.2创建消息队列119 5.3.3发送消息到队列尾121 5.3.4发送消息到队首122 5.3.5按指定方式发送消息124 5.3.6阻塞式读取消息125 5.3.7非阻塞式读取消息128 5.3.8删除消息队列129 5.3.9获取消息队列信息132 5.3.10清理消息队列空间133 5.3.11消息队列应用实例134 5.4小结137 5.5习题138 第6章μC/OS-II任务间单事件同步机制139 6.1任务同步机制:信号量140 6.1.1信号量基本原理140 6.1.2创建信号量140 6.1.3阻塞式获取信号量141 6.1.4非阻塞式获取信号量143 6.1.5释放信号量144 6.1.6删除信号量145 6.1.7查询信号量信息147 6.1.8设置信号量的值148 6.1.9信号量实现生产-消费问题应用实例149 6.2互斥事件管理机制:互斥锁153 6.2.1互斥锁与优先级反转153 6.2.2创建互斥锁156 6.2.3阻塞式获取互斥锁158 6.2.4非阻塞式获取互斥锁161 6.2.5释放互斥锁162 6.2.6删除互斥锁164 6.2.7获取互斥锁基本信息167 6.3小结168 6.4习题169 第7章μC/OS-II多事件同步机制171 7.1事件组标志同步机制基本原理172 7.1.1事件组标志基本原理172 7.1.2初始化事件标志组控制块174 7.2事件组标志基本操作175 7.2.1创建事件组标志175 7.2.2阻塞式等待事件组标志176 7.2.3非阻塞式等待事件组标志182 7.2.4修改事件组标志状态184 7.2.5删除事件标志组187 7.2.6获取任务就绪标志190 7.2.7查询事件组标志信息190 7.2.8获取事件组标志名称191 7.2.9设置事件组标志名称192 7.3使用事件组标志实现读写锁功能案例193 7.3.1案例功能及原理说明193 7.3.2程序源代码分析195 7.4小结197 7.5习题197 第8章μC/OS-II内存分区管理199 8.1内存分区管理基本原理200 8.1.1μC/OS-II内存分区管理机制200 8.1.2内存分区控制块数据空间初始化201 8.2μC/OS-II内存分区管理操作202 8.2.1创建内存分区202 8.2.2申请一个内存分区块204 8.2.3释放内存分区块205 8.2.4查询内存分区基本信息206 8.2.5读取/设置内存分区名称207 8.3μC/OS-II内存管理应用实例210 8.3.1应用程序基本功能210 8.3.2应用程序源代码分析211 8.4小结212 8.5习题212 第9章μC/OS-II在S3C2410处理器上的移植案例分析213 9.1ARM可执行文件结构分析214 9.1.1可执行文件结构分析214 9.1.2ADS下可执行文件的编译连接过程分析215 9.1.3移植第一步:设置代码存储加载位置217 9.2移植第二步:编写系统启动代码218 9.2.1开始执行,禁止中断219 9.2.2初始化栈空间219 9.2.3复制异常代码与异常向量地址220 9.3移植第三步:中断处理与时钟中断任务221 9.3.1S3C2410中断向量221 9.3.2S3C2410中断处理硬件结构223 9.3.3移植时对中断的处理225 9.3.4示例:μC/OS-II系统时钟中断任务管理228 9.4移植第四步:修改与调度相关的汇编代码229 9.4.1临界状态问题229 9.4.2数据类型问题230 9.4.3任务调度问题与钩子函数问题231 9.5移植后续工作:添加硬件驱动程序232 9.5.1重新写C函数以实现信息从串口输出232 9.5.2实现串口驱动程序234 9.5.3重写堆栈空间初始化函数237 9.6小结238 9.7习题238 第10章μC/TCP-IP协议栈设计分析239 10.1TCP/IP协议栈概述240 10.1.1标准TCP/IP协议栈模型240 10.1.2BSD面向连接的TCP通信编程过程241 10.1.3BSD面向无连接的UDP通信实现242 10.1.4轻量级TCP/IP协议栈和标准TCP/IP协议栈比较242 10.1.5μC/TCP-IP协议栈介绍及特点243 10.2μC/TCP-IP协议栈设计243 10.2.1μC/TCP-IP协议栈基本框架243 10.2.2进程基本形式245 10.2.3接收数据过程245 10.2.4发送数据过程246 10.3μC/TCP-IP协议栈实现247 10.3.1IP协议栈设计及实现247 10.3.2TCP协议设计及实现249 10.3.3UDP协议设计及实现252 10.3.4ICMP协议设计及实现253 10.3.5ARP设计及实现255 10.3.6缓冲区设计及管理257 10.4小结260 10.5习题260 附录编译程序工具简介261 A.1VisualC++6.0集成开发环境261 A.2ADS集成开发环境264 A.3SourceInsight源代码查看工具269 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。