描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787515919270
内容简介
本书系统地介绍了在VxWorks系统下进行程序开发的过 程和工程实践。本书内容翔实,主要包括:集成开发环境 的安装,实时操作系统VxWorks的基本原理、内存管理、中 断、时钟、定时器、I/O系统、PCI设备驱动程序、网络与 交换技术,如何构建一个实时系统和定制VxWorks,Workbench集成开发环境安装、使用与VxWorksSMP系统, 软件运行异常分析排查作业指导等。 ~7章是基础知识 部分,图文并茂,适合初学者入门学习;第8~12章结合了 工程实践精华,给出了各种疑难案例解决方案,适合相关 领域工程技术人员研读。
目 录
第1章 嵌入式实时操作系统VxWorks 概况 1
1.1 VxWorks 系统特点 1
1.2 VxWorks 操作系统组成 3
1.3 本书组成 7
第2章 集成开发环境Tornado 2.2.1 8
2.1 Tornado 2.2.1 安装 8
2.1.1 术语与约定 8
2.1.2 安装准备 8
2.1.3 安装步骤 9
2.2 目标机仿真器 40
2.2.1 集成目标机仿真器 40
2.2.2 全功能目标机仿真器 43
2.3 工程管理工具 52
2.3.1 编译Bootloader Image(bootrom) 52
2.3.2 操作系统工程 55
2.3.3 应用程序工程 61
2.4 制作系统启动盘 74
2.4.1 制作系统启动盘一 74
2.4.2 制作系统启动盘二 75
2.4.3 制作系统启动盘三 75
2.5 目标机服务器 76
2.5.1 配置目标机服务器 76
2.5.2 启动目标机服务器 80
2.6 目标机浏览器 80
2.7 Host Shell 82
2.8 WindView 83
2.9 调试器 86嵌入式实时操作系统VxWorks 实战
2.10 FTP 服务器 90
第3章 实时多任务和任务间通信 93
3.1 实时多任务 93
3.1.1 任务生命周期管理 93
3.1.2 任务状态控制 99
3.1.3 任务调度 101
3.1.4 用户接口 103
3.1.5 任务堆栈示意图 104
3.2 任务间通信 105
3.2.1 共享数据结构 105
3.2.2 互斥和同步 106
3.2.3 信号量 107
3.2.4 消息队列 114
3.2.5 命名管道 117
3.2.6 信号 119
第4章 实时系统的中断、时钟和定时器 122
4.1 中断 122
4.1.1 中断服务程序 122
4.1.2 中断连接 123
4.1.3 使能中断 125
4.1.4 中断级判断 125
4.1.5 中断级 125
4.1.6 中断级异常和任务级异常 125
4.1.7 中断和任务的通信 126
4.2 时钟 126
4.2.1 系统时钟 126
4.2.2 辅助时钟 127
4.2.3 TSC 时钟 129
4.2.4 实时时钟 130
4.3 定时器 130
4.3.1 创建看门 131
4.3.2 启动看门 131
4.3.3 取消看门 131
4.3.4 删除看门 132目 录V
第5章 实时系统的内存管理 133
5.1 内存管理 133
5.1.1 内存申请 133
5.1.2 内存释放 134
5.2 实例化 135
5.2.1 动态实例化 135
5.2.2 静态实例化 135
第6章 基本I/O 系统 136
6.1 文件和设备 136
6.2 基本I/O 操作 137
6.2.1 文件描述符 137
6.2.2 标准输入、标准输出和标准错误处理137
6.2.3 打开和关闭 138
6.2.4 生成与删除 139
6.2.5 读写操作 139
6.2.6 文件裁剪 140
6.2.7 I/O 控制 140
6.2.8 等待多个文件描述符:select 功能 140
6.3 基于缓存的I/O 操作 141
第7章 PCI 设备驱动程序开发 142
7.1 自动内存映射 142
7.2 读取设备资源 144
7.3 中断初始化 146
7.4 中断服务程序 146
第8章 网络与交换技术 147
8.1 VxWorks 5.5.1 网络 147
8.1.1 网络结构 147
8.1.2 FTP 服务器 148
8.1.3 远程登录 149
8.1.4 远程文件 149
8.1.5 网络通信 149
8.2 二层交换技术 176
8.2.1 MAC 地址表 176
8.2.2 ARP 缓存表 176
8.2.3 静默与洪泛 177
8.3 网络安全与防火墙 177
8.3.1 防火墙的设计 178
8.3.2 防火墙的实现 183
8.3.3 防火墙的测试 183
第9章 实时操作系统VxWorks 5.5.1 定制 186
9.1 目标机BIOS 配置 186
9.2 引导行参数 186
9.2.1 默认引导行参数 186
9.2.2 引导行参数存储 187
9.3 自动映射PCI 设备内存 188
9.4 USB 键盘配置 194
9.5 网络配置 201
9.5.1 自动协商问题 201
9.5.2 网络协议问题 211
9.5.3 网络数据接收延迟问题 226
9.5.4 多网卡和WDB 调试问题 226
9.6 clockLib 缺少互斥锁问题 234
9.7 FPU 浮点协处理器与任务选项VX_FP_TASK 236
9.8 脚本程序执行不成功问题 237
9.9 支持AHCI 设备驱动问题 242
9.9.1 BIOS 配置AHCI 模式 242
9.9.2 AHCI 驱动程序移植 242
9.10 操作系统设备兼容问题 247
9.10.1 网卡顺序映射 247
9.10.2 硬盘名字映射 251
9.11 配置状态显示组件 251
9.11.1 WindView 251
9.11.2 moduleLib 251
9.11.3 loadLib 和unldLib 252
9.11.4 memShow 252
9.11.5 msgQShow 252
9.11.6 semShow 252
9.11.7 pciConfigShow 252
9.11.8 symLib 252
9.11.9 symShow 253
9.11.10 taskShow 253
9.11.11 wdShow 253
9.11.12 netShow 253
9.11.13 ping 253
9.11.14 网络统计信息 253
9.11.15 usrFsLib 254
9.12 实时系统的实时性问题 254
9.12.1 电源管理与调度延时问题 254
9.12.2 SMM 模式与中断丢失问题 254
9.13 基于X86 平台的VxWorks 5.5.1 快速启动实现 254
9.13.1 VxWorks 5.5.1 启动过程分析 254
9.13.2 VxWorks 5.5.1 快速启动实现 256
9.13.3 内核映像快速启动 258
9.13.4 性能测试 259
9.14 参数化配置VxWorks 操作系统的方法 260
第10章 如何构建一个实时系统 262
10.1 实时系统的实时性问题 262
10.1.1 电源管理与调度延时问题 262
10.1.2 SMM 模式与中断丢失问题 266
10.2 实时系统的调试问题 269
第11章 实时操作系统VxWorks SMP 274
11.1 Workbench 集成开发环境安装 274
11.1.1 安装准备 274
11.1.2 安装步骤 274
11.2 Workbench 集成开发环境使用 291
11.2.1 开发环境 292
11.2.2 引导行参数默认配置 301
11.2.3 VIP 操作系统内核映像工程 301
11.2.4 启动目标板系统(制作系统启动盘) 304
11.2.5 DKM 可下载内核模块工程 305
11.2.6 DKM 工程下载、运行和调试 307
11.2.7 启动虚拟IO 控制台VIO Console 312
11.2.8 软件逻辑分析仪System Viewer 313
11.3 VxWorks SMP 系统 315
11.3.1 VxWorks SMP 配置说明 319
11.3.2 VxWorks SMP 编程 319
11.3.3 spinlock 互斥/ 同步机制 320
11.3.4 CPU-specific 互斥机制 324
11.3.5 Memory Barrier 325
11.3.6 原子的内存操作(原子操作) 327
11.3.7 CPU Affinity 329
11.3.8 将CPU 预留给使用了CPU Affinity 的任务(CPU 预留机制) 331
11.3.9 CPU 信息及管理 333
11.3.10 调试SMP 代码 335
11.3.11 SMP 性能优化 336
11.3.12 SMP 简单例子 337
11.3.13 向VxWorks SMP 系统移植代码 346
11.4 VxWorks 6.9 系统常见问题 352
11.4.1 VxWorks 6.9 系统网卡配置 352
11.4.2 标准IO 系统重要差异 353
11.4.3 广播回环问题 355
11.4.4 网络通信丢帧 358
11.4.5 设备顺序映射 359
11.4.6 优化系统性能参数 360
11.4.7 目标机服务器与“永恒之蓝”病毒 361
第12章 软件运行异常分析排查作业指导 362
12.1 系统需求 362
12.1.1 调试机系统需求 362
12.1.2 目标机系统需求 362
12.2 异常分析排查 363
12.2.1 硬件相关异常 363
12.2.2 网络相关异常 3
12.2.3 软件相关异常 368
12.3 规范系统设计 377
12.3.1 网络设计 377
12.3.2 软件设计 377
1.1 VxWorks 系统特点 1
1.2 VxWorks 操作系统组成 3
1.3 本书组成 7
第2章 集成开发环境Tornado 2.2.1 8
2.1 Tornado 2.2.1 安装 8
2.1.1 术语与约定 8
2.1.2 安装准备 8
2.1.3 安装步骤 9
2.2 目标机仿真器 40
2.2.1 集成目标机仿真器 40
2.2.2 全功能目标机仿真器 43
2.3 工程管理工具 52
2.3.1 编译Bootloader Image(bootrom) 52
2.3.2 操作系统工程 55
2.3.3 应用程序工程 61
2.4 制作系统启动盘 74
2.4.1 制作系统启动盘一 74
2.4.2 制作系统启动盘二 75
2.4.3 制作系统启动盘三 75
2.5 目标机服务器 76
2.5.1 配置目标机服务器 76
2.5.2 启动目标机服务器 80
2.6 目标机浏览器 80
2.7 Host Shell 82
2.8 WindView 83
2.9 调试器 86嵌入式实时操作系统VxWorks 实战
2.10 FTP 服务器 90
第3章 实时多任务和任务间通信 93
3.1 实时多任务 93
3.1.1 任务生命周期管理 93
3.1.2 任务状态控制 99
3.1.3 任务调度 101
3.1.4 用户接口 103
3.1.5 任务堆栈示意图 104
3.2 任务间通信 105
3.2.1 共享数据结构 105
3.2.2 互斥和同步 106
3.2.3 信号量 107
3.2.4 消息队列 114
3.2.5 命名管道 117
3.2.6 信号 119
第4章 实时系统的中断、时钟和定时器 122
4.1 中断 122
4.1.1 中断服务程序 122
4.1.2 中断连接 123
4.1.3 使能中断 125
4.1.4 中断级判断 125
4.1.5 中断级 125
4.1.6 中断级异常和任务级异常 125
4.1.7 中断和任务的通信 126
4.2 时钟 126
4.2.1 系统时钟 126
4.2.2 辅助时钟 127
4.2.3 TSC 时钟 129
4.2.4 实时时钟 130
4.3 定时器 130
4.3.1 创建看门 131
4.3.2 启动看门 131
4.3.3 取消看门 131
4.3.4 删除看门 132目 录V
第5章 实时系统的内存管理 133
5.1 内存管理 133
5.1.1 内存申请 133
5.1.2 内存释放 134
5.2 实例化 135
5.2.1 动态实例化 135
5.2.2 静态实例化 135
第6章 基本I/O 系统 136
6.1 文件和设备 136
6.2 基本I/O 操作 137
6.2.1 文件描述符 137
6.2.2 标准输入、标准输出和标准错误处理137
6.2.3 打开和关闭 138
6.2.4 生成与删除 139
6.2.5 读写操作 139
6.2.6 文件裁剪 140
6.2.7 I/O 控制 140
6.2.8 等待多个文件描述符:select 功能 140
6.3 基于缓存的I/O 操作 141
第7章 PCI 设备驱动程序开发 142
7.1 自动内存映射 142
7.2 读取设备资源 144
7.3 中断初始化 146
7.4 中断服务程序 146
第8章 网络与交换技术 147
8.1 VxWorks 5.5.1 网络 147
8.1.1 网络结构 147
8.1.2 FTP 服务器 148
8.1.3 远程登录 149
8.1.4 远程文件 149
8.1.5 网络通信 149
8.2 二层交换技术 176
8.2.1 MAC 地址表 176
8.2.2 ARP 缓存表 176
8.2.3 静默与洪泛 177
8.3 网络安全与防火墙 177
8.3.1 防火墙的设计 178
8.3.2 防火墙的实现 183
8.3.3 防火墙的测试 183
第9章 实时操作系统VxWorks 5.5.1 定制 186
9.1 目标机BIOS 配置 186
9.2 引导行参数 186
9.2.1 默认引导行参数 186
9.2.2 引导行参数存储 187
9.3 自动映射PCI 设备内存 188
9.4 USB 键盘配置 194
9.5 网络配置 201
9.5.1 自动协商问题 201
9.5.2 网络协议问题 211
9.5.3 网络数据接收延迟问题 226
9.5.4 多网卡和WDB 调试问题 226
9.6 clockLib 缺少互斥锁问题 234
9.7 FPU 浮点协处理器与任务选项VX_FP_TASK 236
9.8 脚本程序执行不成功问题 237
9.9 支持AHCI 设备驱动问题 242
9.9.1 BIOS 配置AHCI 模式 242
9.9.2 AHCI 驱动程序移植 242
9.10 操作系统设备兼容问题 247
9.10.1 网卡顺序映射 247
9.10.2 硬盘名字映射 251
9.11 配置状态显示组件 251
9.11.1 WindView 251
9.11.2 moduleLib 251
9.11.3 loadLib 和unldLib 252
9.11.4 memShow 252
9.11.5 msgQShow 252
9.11.6 semShow 252
9.11.7 pciConfigShow 252
9.11.8 symLib 252
9.11.9 symShow 253
9.11.10 taskShow 253
9.11.11 wdShow 253
9.11.12 netShow 253
9.11.13 ping 253
9.11.14 网络统计信息 253
9.11.15 usrFsLib 254
9.12 实时系统的实时性问题 254
9.12.1 电源管理与调度延时问题 254
9.12.2 SMM 模式与中断丢失问题 254
9.13 基于X86 平台的VxWorks 5.5.1 快速启动实现 254
9.13.1 VxWorks 5.5.1 启动过程分析 254
9.13.2 VxWorks 5.5.1 快速启动实现 256
9.13.3 内核映像快速启动 258
9.13.4 性能测试 259
9.14 参数化配置VxWorks 操作系统的方法 260
第10章 如何构建一个实时系统 262
10.1 实时系统的实时性问题 262
10.1.1 电源管理与调度延时问题 262
10.1.2 SMM 模式与中断丢失问题 266
10.2 实时系统的调试问题 269
第11章 实时操作系统VxWorks SMP 274
11.1 Workbench 集成开发环境安装 274
11.1.1 安装准备 274
11.1.2 安装步骤 274
11.2 Workbench 集成开发环境使用 291
11.2.1 开发环境 292
11.2.2 引导行参数默认配置 301
11.2.3 VIP 操作系统内核映像工程 301
11.2.4 启动目标板系统(制作系统启动盘) 304
11.2.5 DKM 可下载内核模块工程 305
11.2.6 DKM 工程下载、运行和调试 307
11.2.7 启动虚拟IO 控制台VIO Console 312
11.2.8 软件逻辑分析仪System Viewer 313
11.3 VxWorks SMP 系统 315
11.3.1 VxWorks SMP 配置说明 319
11.3.2 VxWorks SMP 编程 319
11.3.3 spinlock 互斥/ 同步机制 320
11.3.4 CPU-specific 互斥机制 324
11.3.5 Memory Barrier 325
11.3.6 原子的内存操作(原子操作) 327
11.3.7 CPU Affinity 329
11.3.8 将CPU 预留给使用了CPU Affinity 的任务(CPU 预留机制) 331
11.3.9 CPU 信息及管理 333
11.3.10 调试SMP 代码 335
11.3.11 SMP 性能优化 336
11.3.12 SMP 简单例子 337
11.3.13 向VxWorks SMP 系统移植代码 346
11.4 VxWorks 6.9 系统常见问题 352
11.4.1 VxWorks 6.9 系统网卡配置 352
11.4.2 标准IO 系统重要差异 353
11.4.3 广播回环问题 355
11.4.4 网络通信丢帧 358
11.4.5 设备顺序映射 359
11.4.6 优化系统性能参数 360
11.4.7 目标机服务器与“永恒之蓝”病毒 361
第12章 软件运行异常分析排查作业指导 362
12.1 系统需求 362
12.1.1 调试机系统需求 362
12.1.2 目标机系统需求 362
12.2 异常分析排查 363
12.2.1 硬件相关异常 363
12.2.2 网络相关异常 3
12.2.3 软件相关异常 368
12.3 规范系统设计 377
12.3.1 网络设计 377
12.3.2 软件设计 377
评论
还没有评论。