《VxWorks内核、设备驱动与BSP开发详解》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张杨,于银涛编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115244727
  • 页数:323 页
图书介绍:本书共24章,按照初学者学习的一般步骤,详细介绍了VxWorks的开发环境、内核分析和应用程序开发、驱动程序开发与原理和板级支持包流程与移植,每章均配以实例进行讲解。

第1部分VxWorks的开发环境 2

第1章 使用Tornado 2

1.1概述 2

1.2 Tornado的安装目录 2

1.3创建一个工程 4

1.3.1可加载工程和可引导工程 4

1.3.2实例:创建可加载工程 5

1.3.3实例:创建可引导工程 7

1.4更加有效率地工作 8

1.4.1开发环境基本设置 8

1.4.2实例:设置一个更熟悉的编辑器 10

1.4.3使用Tcl语言定义工具 11

第2章 编译工程——Builder 13

2.1编译工程及Boot Rom 13

2.1.1编译工程 13

2.1.2编译Boot Rom 15

2.1.3实例:制作软盘引导盘 15

2.1.4深入1:批处理文件mkboot 17

2.1.5深入2:制作U盘引导盘 18

2.1.6深入3:制作硬盘引导盘 21

2.1.7深入4:制作一个引导ROM 21

2.1.8实例:多系统并存 23

2.2深入编译环境 24

2.2.1创建的过程 24

2.2.2抛弃IDE 25

2.2.3使用Diab 26

2.3了解MakeFile 26

2.3.1 MakeFile的作用 26

2.3.2 MakeFile格式 27

2.3.3解决MakeFile所导致的错误 28

第3章 加载——FTP Server 29

3.1 FTP Server的设置 29

3.1.1用户和权限 29

3.1.2其他设置 30

3.1.3实例:下载一个工程 30

3.2从信息看状态 32

3.2.1正常下载过程 32

3.2.2下载失败的原因 33

3.3从其他设备加载操作系统 35

第4章 管理工程——Work Space 36

4.1管理文件 36

4.1.1文件的位置 36

4.1.2文件依赖关系 36

4.2管理组件 37

4.2.1 VxWorks的各种组件 37

4.2.2查找组件并修改属性 38

4.2.3裁剪组件 39

4.3编译选项 39

4.3.1编译规则 40

4.3.2宏定义 41

4.3.3其他选项 42

第5章 连接目标机——Target Server 43

5.1配置Target Server 43

5.1.1基本配置内容 43

5.1.2重要配置属性 44

5.2实例:通过网络连接目标机 47

5.3实例:配置串口连接主机 48

5.4连接错误的解决办法 48

5.4.1目标文件不正确 48

5.4.2网络错误 49

5.4.3目标机无响应 449

5.4.4 Target Server缓冲池不足 50

5.4.5网络速度慢 50

第6章 交叉调试——Debugger 51

6.1基本调试过程 51

6.1.1运行Debugger 51

6.1.2发起任务 52

6.1.3连接任务 52

6.2断点 53

6.2.1设置断点 53

6.2.2管理断点 54

6.3独特的查看功能 55

6.3.1源代码与汇编混合查看 55

6.3.2调试命令行 56

6.3.3其他功能 57

6.4系统级调试设置 57

第7章 浏览目标机资源——Browser 58

7.1 Browser所提供的信息 58

7.1.1 Browser的设置 59

7.1.2目标机信息 59

7.2实例:透过现象看调试 60

7.2.1查看内存泄露 60

7.2.2分配任务优先级 60

7.2.3确定任务堆栈 61

7.2.4查看中断挂接情况 61

7.2.5查看任务状况 62

第8章 与目标机的交互——Shell及其他 64

8.1 Shell 64

8.1.1 Shell的常用特性 64

8.1.2 Shell的快捷操作 64

8.1.3 Shell的常用命令 67

8.1.4 Shell的环境变量 69

8.1.5执行脚本 69

8.2 WindView 70

8.2.1设置WindView 70

8.2.2分析任务时序图 72

8.3 Triggering 75

8.3.1 Triggering设置 75

8.3.2 Triggering的使用 77

第9章 软件硬件同时开发——VxSim 78

9.1集成的VxSim 78

9.1.1 VxSim适用范围 78

9.1.2 VxSim的配置 79

9.1.3 VxSim的中断系统 80

9.2功能更强的Full VxSim 81

9.2.1 Full VxSim所需的网络配置 81

9.2.2创建支持网络连接的Full VxSim映像 82

9.2.3启动Full VxSim 83

9.2.4运行多个Full VxSim 85

9.3实例:在VxSim上运行程序 85

第2部分 内核分析和应用程序开发 90

第10章 管理任务——任务的状态 90

10.1任务概况 90

10.1.1任务状态 90

10.1.2任务调度 92

10.1.3任务优先级 93

10.2生成和管理任务 94

10.2.1任务控制API 94

10.2.2销毁任务 95

10.2.3控制任务状态的切换 95

10.3深入:任务切换的深层原因 96

10.3.1时钟中断和时间片调度 96

10.3.2优先级抢占调度机制 98

10.3.3任务控制块 99

第11章 任务间的交互——同步与通信 103

11.1任务之间的交流 103

11.1.1共享内存 103

11.1.2互斥 106

11.1.3信号量 107

11.1.4消息队列和管道 110

11.1.5使用网络的任务间通信 114

11.1.6信号 115

11.2实例:任务间交流 116

11.2.1通过信号量实现互斥 116

11.2.2信号量实现同步 117

11.2.3管道与消息队列 118

11.3其他通信手段 119

第12章 控制时间——系统计时 121

12.1系统时间 121

12.1.1系统时间的来源 121

12.1.2与现实时间相联系 121

12.2系统计时控制 122

12.3看门狗计时器 124

12.3.1实例1:看门狗计时 125

12.3.2实例2:看门狗定时 125

12.3.3实例3:看门狗延时 126

12.4其他的计时方法 127

12.4.1使用CPU时间戳计时 127

12.4.2实例:计算CPU频率 128

第13章 存储信息——访问文件系统 129

13.1 VxWorks中的文件系统 129

13.1.1操作文件的办法 129

13.1.2实例:文件操作 132

13.1.3深入:打开文件的过程 134

13.1.4深入:读取文件的过程 135

13.1.5文件系统的作用 136

13.1.6文件系统的特殊功能 138

13.1.7文件系统的安装流程 138

13.2文件系统分析 139

13.2.1 dosFs 139

13.2.2 rawFs 142

13.2.3 cdromFs 143

13.2 4 tapeFs 144

13.3深入:如何提高访问效率 144

13.4实例:支持多硬盘分区 145

第14章 与外界的交互——控制硬件 147

14.1驱动程序管理 147

14.1.1文件、设备、驱动程序 147

14.1.2驱动管理3张表 148

14.1.3驱动及设备的管理 152

14.2访问硬件的手段 152

14.2.1创建设备 152

14.2.2操作设备 154

14.3操作硬件 155

14.3.1实例:测试用程序 155

14.3.2多设备异步通信——select 161

14.4 VxWorks中的隐含设备 162

第15章 联通的世界——访问网络 164

15.1 VxWorks中的网络组件 164

15.1.1层次结构 164

15.1.2基本组件 166

15.1.3实例:配置网络 167

15.1.4操作路由表 171

15.1.5 Zbuf 173

15.1.6使用标准I/O访问函数 174

15.2实例:网络编程 175

15.2.1建立TCP连接 175

15.2.2建立UDP连接 178

15.2.3使用Zbuf访问TCP 181

15.2.4创建及使用FTP 183

第16章VxWorks程序设计 186

16.1资源 186

16.1.1资源的有效利用 186

16.1.2资源的保护 187

16.2优先级安排 188

16.3保证时间特性 189

第3部分 驱动开发与原理 192

第17章 硬件资源——操作硬件 192

17.1硬件访问 192

17.1.1内存访问 192

17.1.2通用的内存映射程序 193

17.1.3 I/O端口访问 196

17.2中断 197

17.2.1轮询方式 197

17.2.2中断 198

17.2.3中断号与中断向量 201

17.2.4中断复用 201

17.2.5中断处理中的问题 202

17.3访问特定硬件的API 203

17.3.1访问PCI 203

17.3.2中断相关的API 205

第18章 大道至简——字符设备 207

18.1字符设备驱动程序 207

18.1.1字符设备驱动程序的数据结构 207

18.1.2字符设备驱动程序的接口 209

18.1.3中断处理 215

18.1.4安装驱动程序和创建设备 215

18.1.5支持 Select功能 217

18.2实战字符设备开发 218

18.2.1板卡介绍 219

18.2.2程序实现 219

第19章 永久的记忆——块设备 232

19.1块设备驱动程序的结构 232

19.2块设备驱动程序的接口 234

19.3安装块设备驱动程序 236

第20章 联通的基础——网络设备 237

20.1网络设备的数据结构 237

20.2网络数据传递 239

20.3网络设备接口层 242

20.3.1 endLoad 243

20.3.2 endUnload 244

20.3.3 endSend 244

20.3.4 endMCastAddrAdd.endMCastAddrGet和endMCastAddrDel 245

20.3.5 endPollSend.endPollReceive 245

20.3.6 endStart 246

20.3.7 endStop 246

20.3.8 endAddressForm 246

20.3.9 endAddrGet 246

20.3.10 endPacketDataGet 247

20.3.11 endIoctl 247

20.4中断模式下接收数据 248

20.5网络设备驱动程序的安装 249

第21章USB设备——USB 1.1支持 251

21.1 USB工作过程 251

21.2 USB外设端协议栈 252

21.2.1 USB外设端协议栈结构 2252

21.2.2 USB外设端协议栈实现 253

21.2.3 USB外设端协议驱动层的使用 255

21.2.4 USB外设端控制器驱动程序 263

21.2.5再看“回调函数” 267

21.3 USB主机端协议栈 268

21.3.1 USB主机端协议栈结构 268

21.3.2 USB主机端协议栈使用 269

21.3.3 USB主机端驱动程序 272

第22章USB设备——USB2.0支持 277

22.1设备端协议栈 277

22.2主机端协议栈 283

22.2.1 USBD与驱动程序 284

22.2.2与已有程序的兼容 286

第4部分 板级支持包流程与移植 288

第23章 多样化的主板——板级支持包BSP 288

23.1引导过程 288

23.2 BSP的流程 289

23.2.1 BSP的作用和结构 289

23.2.2 BSP初始化硬件 292

23.3 BSP移植 293

23.3.1实现BSP所需要的工作 293

23.3.2 BSP中的系统接口 294

23.4实例:BSP包移植 295

23.4.1开始移植BSP前的准备 296

23.4.2提供中断控制器接口 297

23.4.3提供时钟接口 297

23.4.4提供硬件访问接口 299

23.4.5提供设备支持——实时钟、GPIO等 299

23.4.6提供设备支持——串口 301

23.4.7提供设备支持——网络 304

第24章 珠联璧合——BSP与开发环境的结合 306

24.1配置工具与BSP的关系 306

24.1.1 CDF文件分析 306

24.1.2 Tornado下通过cdf文件对VxWorks进行配置的过程 312

24.2自制BSP配置 313

24.2.1实例:增加自定义文件夹结构 313

24.2.2创建组件的一般步骤 316

附录 新的VxWorks 318

FL.1新开发环境 318

FL.1.1新的界面 318

FL.1.2新的开发工具 319

FL.1.3开发环境的扩展 320

FL.1.4与Tornado的对比 320

FL.2新特性 321

FL.2.1实时进程RTP 321

FL.2.2错误检测与报告 323