当前位置:主页 > 技术文档 > 系统设计 下载
《μC/OS-Ⅱ嵌入式系统设计》PPT

《μC/OS-Ⅱ嵌入式系统设计》PPT

  • 更新:2022-03-22 09:05:06
  • 大小:4.8 MB
  • 热度:904
  • 审核:班梅风
  • 类别:技术文章
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书主要介绍基于Cortex-M微控制器的μC/OS-Ⅱ嵌入式系统设计,内容包括:实时操作系统内核基础、任务管理、任务调度、系统启动与初始化、中断和时间管理、事件管理、消息管理、内存管理、移植方式及其在Cortex-M微控制器上的移植方法。最后对轻量级TCP/IP-μC/TCP-IP协议栈设计进行概要介绍。

封面图

目录

  • 前言
  • 第1章绪论1
  • 1.1嵌入式实时操作系统概要1
  • 1.2嵌入式实时操作系统2
  • 1.2.1体系结构3
  • 1.2.2功能及特点5
  • 1.2.3分类介绍7
  • 1.3嵌入式系统实时性的概念9
  • 1.4约束条件11
  • 1.4.1时间约束11
  • 1.4.2优先约束12
  • 1.4.3资源约束13
  • 1.5搭建开发环境14
  • 1.5.1CCS 6.0的安装14
  • 1.5.2利用CCS 6.0新建工程18
  • 本章小结21
  • 练习与思考题21
  • 第2章嵌入式硬件系统22
  • 2.1嵌入式系统的硬件构成22
  • 2.2嵌入式微处理器概述23
  • 2.2.1嵌入式微处理器的存储体系结构23
  • 2.2.2嵌入式微处理器的指令集24
  • 2.2.3主流的嵌入式微处理器25
  • 2.3总线26
  • 2.4存储器28
  • 2.5输入/输出接口和设备28
  • 2.6ARM系列28
  • 2.6.1ARM 指令集体系结构的演变 29
  • 2.6.2ARM产品系列33
  • 2.7ARM Cortex-M4系列处理器41
  • 2.7.1ARM Cortex-M4处理器的特点41
  • 2.7.2Cortex-M4处理器的结构42
  • 2.7.3Cortex-M4的操作模式和特权级别46
  • 2.7.4Cortex-M4的寄存器组47
  • 2.7.5Cortex-M4的异常处理51
  • 2.7.6Cortex-M4的存储器映射55
  • 2.8TM4C123GH6PM微控制器57
  • 2.8.1TM4C123GH6PM微控制器的电气特性与封装57
  • 2.8.2TM4C123GH6PM微控制器的特性58
  • 2.8.3TM4C123GH6PM微控制器的结构59
  • 2.9TM4C123GH6PM实验板卡61
  • 2.10RGB LED点亮实验65
  • 2.10.1建立新的CCS工程65
  • 2.10.2源代码解析70
  • 本章小结72
  • 练习与思考题72
  • 第3章嵌入式实时内核73
  • 3.1内核概要73
  • 3.1.1μC/OS-Ⅱ的内核73
  • 3.1.2调度算法74
  • 3.1.3不可剥夺型内核74
  • 3.1.4可剥夺型内核75
  • 3.1.5数据类型的重定义与宏定义76
  • 3.2内核功能77
  • 3.2.1任务管理77
  • 3.2.2同步与通信管理78
  • 3.2.3中断管理81
  • 3.2.4时间管理82
  • 3.2.5对共享资源的互斥管理83
  • 3.2.6内存管理84
  • 3.2.7I/O管理85
  • 3.2.8出错管理86
  • 3.2.9用户扩展管理86
  • 3.2.10电源管理87
  • 3.3内核性能测试实例87
  • 3.3.1概述87
  • 3.3.2中断时序图88
  • 3.3.3中断延迟时间89
  • 3.3.4内核最大关中断时间90
  • 3.3.5中断响应时间92
  • 3.3.6中断恢复时间95
  • 3.3.7非屏蔽中断97
  • 3.3.8中断处理时间98
  • 3.3.9任务切换时间98
  • 3.3.10任务响应时间103
  • 3.3.11系统调用的执行时间103
  • 3.3.12有关时间确定性的测试104
  • 3.3.13嵌入式实时内核的存储开销105
  • 本章小结105
  • 练习与思考题106
  • 第4章任务管理的数据结构107
  • 4.1任务及其存储结构107
  • 4.2任务状态108
  • 4.3任务生成代码实例109
  • 4.4任务的优先级111
  • 4.5系统任务111
  • 4.6任务堆栈115
  • 4.6.1任务堆栈的创建115
  • 4.6.2任务堆栈的增长方向115
  • 4.6.3任务堆栈的初始化116
  • 4.7任务控制块116
  • 4.7.1任务控制块的结构117
  • 4.7.2任务控制块链表119
  • 4.7.3任务控制块的初始化121
  • 4.8任务就绪表123
  • 4.8.1任务就绪表的结构123
  • 4.8.2任务就绪表的操作126
  • 4.9临界段131
  • 本章小结132
  • 练习与思考题132
  • 第5章任务管理133
  • 5.1创建任务133
  • 5.1.1用OSTaskCreate创建任务133
  • 5.1.2用OSTaskCreateExt创建任务135
  • 5.2删除任务137
  • 5.3请求删除任务143
  • 5.4挂起和恢复任务144
  • 5.4.1任务挂起145
  • 5.4.2任务恢复146
  • 5.5任务优先级别的修改148
  • 5.6任务TCB信息的获取151
  • 5.7任务堆栈检查152
  • 5.8任务调度154
  • 5.8.1μC/OS-Ⅱ的调度算法154
  • 5.8.2μC/OS-Ⅱ的任务级调度154
  • 5.8.3任务级任务切换函数OS_TASK_SW( )157
  • 5.9μC/OS-Ⅱ的初始化和多任务的启动161
  • 5.9.1μC/OS-Ⅱ的初始化161
  • 5.9.2μC/OS-Ⅱ的多任务启动167
  • 5.10任务级调度实例168
  • 5.10.1程序功能说明168
  • 5.10.2程序实现及源代码解析169
  • 5.10.3CCS工程导入172
  • 本章小结173
  • 练习与思考题173
  • 第6章中断与时钟174
  • 6.1μC/OS-Ⅱ的中断管理174
  • 6.1.1μC/OS-Ⅱ的中断管理过程174
  • 6.1.2进入中断处理函数175
  • 6.1.3退出中断处理函数176
  • 6.1.4中断级任务切换函数177
  • 6.2μC/OS-Ⅱ的时钟178
  • 6.2.1系统时钟中断服务程序178
  • 6.2.2时钟节拍服务函数179
  • 6.3μC/OS-Ⅱ的时间管理181
  • 6.3.1任务延时函数182
  • 6.3.2按时分秒延时函数182
  • 6.3.3取消任务的延时函数184
  • 6.3.4获取系统时间函数185
  • 6.3.5设置系统时间函数185
  • 6.4中断管理实例186
  • 6.4.1程序功能说明186
  • 6.4.2程序实现及源代码解析186
  • 本章小结188
  • 练习与思考题188
  • 第7章任务同步机制与通信方式189
  • 7.1任务同步与事件管理189
  • 7.1.1任务之间的关系189
  • 7.1.2同步与通信190
  • 7.1.3临界区191
  • 7.1.4信息传递191
  • 7.2事件管理的数据结构192
  • 7.2.1事件192
  • 7.2.2事件控制块ECB193
  • 7.2.3事件等待组和事件等待表194
  • 7.2.4事件控制块空闲链表196
  • 7.2.5事件管理程序196
  • 7.3信号量199
  • 7.3.1信号量概述199
  • 7.3.2数据结构200
  • 7.3.3信号量的操作201
  • 7.3.4应用举例209
  • 7.4互斥信号量214
  • 7.4.1任务优先级的反转现象215
  • 7.4.2互斥型信号量概述216
  • 7.4.3数据结构217
  • 7.4.4互斥信号量的操作217
  • 7.4.5应用举例228
  • 7.5事件标志组232
  • 7.5.1事件标志组概述232
  • 7.5.2事件标志组的数据结构233
  • 7.5.3事件标志组的操作236
  • 7.5.4事件标志组管理实例249
  • 本章小结255
  • 练习与思考题255
  • 第8章消息管理256
  • 8.1消息邮箱256
  • 8.1.1消息邮箱概述256
  • 8.1.2消息邮箱的数据结构257
  • 8.1.3消息邮箱的操作257
  • 8.1.4消息邮箱实例265
  • 8.2消息队列267
  • 8.2.1消息队列概述267
  • 8.2.2消息队列的数据结构268
  • 8.2.3消息队列的操作270
  • 8.2.4消息队列实例278
  • 本章小结281
  • 练习与思考题281
  • 第9章内存管理282
  • 9.1μC/OS-Ⅱ的内存管理机制282
  • 9.2内存控制块282
  • 9.2.1内存分区283
  • 9.2.2内存控制块的结构283
  • 9.2.3内存控制块的初始化283
  • 9.3创建内存分区285
  • 9.4申请一个内存块287
  • 9.5释放一个内存块288
  • 9.6查询内存分区的状态289
  • 9.7读取内存分区名称的有效长度290
  • 9.8设置内存分区名称291
  • 9.9内存管理应用实例292
  • 9.9.1程序功能说明292
  • 9.9.2程序实现及源代码分析292
  • 本章小结296
  • 练习与思考题296
  • 第10章μC/OS-Ⅱ的移植297
  • 10.1移植说明297
  • 10.2移植详解298
  • 10.2.1工程的建立和目录结构298
  • 10.2.2板级支持包298
  • 10.2.3文件os_cpu.h的编写298
  • 10.2.4文件os_cpu_c.c的编写300
  • 10.2.5文件os_cpu_a.asm的编写303
  • 10.3测试μC/OS-Ⅱ309
  • 本章小结310
  • 练习与思考题310
  • 第11章CAN总线应用设计311
  • 11.1CAN协议概述311
  • 11.1.1CAN总线的特点311
  • 11.1.2CAN协议报文的帧类型312
  • 11.2Tiva微控制器的CAN接口314
  • 11.2.1CAN模块内部结构314
  • 11.2.2信号描述315
  • 11.3功能说明316
  • 11.3.1初始化和配置316
  • 11.3.2数据收发317
  • 11.3.3位速率的控制323
  • 11.3.4中断处理324
  • 11.3.5测试模式325
  • 11.4应用举例326
  • 本章小结331
  • 练习与思考题332

资源下载

资源下载地址1:https://pan.baidu.com/s/1TwreAMYVfTYdCmyBZWoCTA

相关资源

网友留言