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

  • 购买积分:13 如何计算积分?
  • 作  者:张杨,于银涛编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115212924
  • 页数:379 页
图书介绍:本书详细深入介绍了VxWorks下设备驱动程序及BSP的开发等内容,主要内容包括:集成开发环境的使用、编写字符设备驱动程序、编写网络设备驱动程序、BSP概述、VxWorks预内核初始化、BSP的配置、BSP开发等内容。

第1部分 VxWorks的开发环境 3

第1章 使用Tornado 3

1.1概述 3

1.2 Tornado的安装目录 4

1.3创建一个工程 5

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

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

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

1.4更加有效率地工作 9

1.4.1开发环境基本设置 10

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

1.4.3使用Tcl语言定义工具 12

第2章 编译工程——Builder 15

2.1编译工程及Boot Rom 15

2.1.1编译工程 15

2.1.2编译Boot Rom 17

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

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

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

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

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

2.2深入编译环境 26

2.2.1创建的过程 26

2.2.2抛弃IDE 27

2.2.3使用Diab 28

2.3了解MakeFile 29

2.3.1 MakeFile的作用 29

2.3.2 MakeFile格式 30

2.3.3解决MakeFile所导致的错误 31

第3章 加载——FTP Server 33

3.1 FTP Server的设置 33

3.1.1用户和权限 33

3.1.2其他设置 34

3.1.3实例:下载一个工程 34

3.2从信息看状态 37

3.2.1正常下载过程 37

3.2.2下载失败的原因 38

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

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

4.1管理文件 41

4.1.1文件的位置 41

4.1.2文件依赖关系 41

4.2管理组件 42

4.2.1 VxWorks的各种组件 43

4.2.2查找组件并修改属性 43

4.2.3裁剪组件 44

4.3编译选项 45

4.3.1编译规则 45

4.3.2宏定义 46

4.3.3其他选项 47

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

5.1配置Target Server 48

5.1.1基本配置内容 48

5.1.2重要配置属性 49

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

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

5.4连接错误的解决办法 54

5.4.1目标文件不正确 55

5.4.2网络错误 55

5.4.3目标机无响应 56

5.4.4 Target Server缓冲池不足 56

5.4.5网络速度慢 56

第6章 交叉调试——Debugger 57

6.1基本调试过程 57

6.1.1运行Debugger 57

6.1.2发起任务 58

6.1.3连接任务 59

6.2断点 60

6.2.1设置断点 60

6.2.2管理断点 60

6.3独特的查看功能 62

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

6.3.2调试命令行 63

6.3.3其他功能 63

6.4系统级调试设置 63

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

7.1 Browser所提供的信息 65

7.1.1 Browser的设置 66

7.1.2目标机信息 66

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

7.2.1查看内存泄露 67

7.2.2分配任务优先级 68

7.2.3确定任务堆栈 68

7.2.4查看中断挂接情况 69

7.2.5查看任务状况 70

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

8.1 Shell 71

8.1.1 Shell的常用特性 71

8.1.2 Shell的快捷操作 72

8.1.3 Shell的常用命令 75

8.1.4 Shell的环境变量 77

8.1.5执行脚本 77

8.2 WindView 78

8.2.1设置 WindView 79

8.2.2分析任务时序图 80

8.3 Triggering 83

8.3.1 Triggering设置 84

8.3.2 Triggering的使用 85

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

9.1集成的VxSim 87

9.1.1 VxSim适用范围 87

9.1.2 VxS im的配置 88

9.1.3 VxSim的中断系统 90

9.2功能更强的Full VxSim 90

9.2.1 Full VxSim所需的网络配置 90

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

9.2.3启动Full VxSim 93

9.2.4运行多个Full VxSim 95

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

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

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

10.1任务概况 101

10.1.1任务状态 101

10.1.2任务调度 103

10.1.3任务优先级 105

10.2实例:生成、管理任务 105

10.2.1任务控制API 106

10.2.2销毁任务 107

10.2.3控制任务状态的切换 107

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

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

10.3.2优先级抢占调度机制 110

10.3.3任务控制块 111

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

11.1任务之间的交流 116

11.1.1共享内存 116

11.1.2互斥 120

11.1.3信号量 121

11.1.4消息队列和管道 125

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

11.1.6信号 130

11.2实例:任务间交流 131

11.2.1通过信号量实现互斥 131

11.2.2信号量实现同步 133

11.2.3管道与消息队列 134

11.3其他通信手段 135

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

12.1系统时间 138

12.1.1系统时间的来源 138

12.1.2与现实时间相联系 138

12.2系统计时控制 139

12.3看门狗计时器 142

12.3.1实例1:看门狗计时 142

12.3.2实例2:看门狗定时 143

12.3.3实例3:看门狗延时 144

12.4其他的计时方法 145

12.4.1使用CPU时间戳计时 145

12.4.2实例:计算CPU频率 146

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

13.1 VxWorks中的文件系统 148

13.1.1操作文件的办法 148

13.1.2实例:文件操作 151

13.1.3打开文件的过程 154

13.1.4读取文件的过程 155

13.1.5文件系统的作用 156

13.1.6文件系统的特殊功能 158

13.1.7文件系统的安装流程 159

13.2文件系统分析 160

13.2.1 dosFs 160

13.2.2 rawFs 163

13.2.3 cdromFs 164

13.2.4 tapeFs 166

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

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

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

14.1驱动程序管理 169

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

14.1.2驱动管理3张表 171

14.1.3驱动及设备的管理 174

14.2访问硬件的手段 175

14.2.1创建设备 175

14.2.2操作设备 177

14.3操作硬件 179

14.3.1实例:测试用程序 179

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

14.4 VxWorks中的隐含设备 189

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

15.1 VxWorks中的网络组件 191

15.1.1层次结构 191

15.1.2基本组件 194

15.1.3配置网络 194

15.1.4操作路由表 200

15.1.5 Zbuf 202

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

15.2实例:网络编程 204

15.2.1建立TCP连接 204

15.2.2建立UDP连接 210

15.2.3使用Zbuf访问TCP 214

15.2.4创建及使用FTP 217

第16章 VxWorks程序设计 221

16.1资源 221

16.1.1资源的有效利用 222

16.1.2资源的保护 223

16.2优先级安排 223

16.3保证时间特性 224

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

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

17.1硬件访问 229

17.1.1内存访问 229

17.1.2通用的内存映射程序 231

17.1.3 I/O端口访问 235

17.2中断 236

17.2.1轮询方式 236

17.2.2中断 237

17.2.3中断号与中断向量 240

17.2.4中断复用 241

17.2.5中断处理中的问题 242

17.3访问特定硬件的API 243

17.3.1访问PCI 243

17.3.2中断相关的API 245

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

18.1字符设备驱动程序 247

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

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

18.1.3中断处理 257

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

18.1.5支持Select功能 260

18.2实战字符设备开发 262

18.2.1板卡介绍 262

18.2.2程序实现 263

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

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

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

19.3安装块设备驱动程序 286

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

20.1网络设备的数据结构 288

20.2网络设备接口层 290

20.2.1 endLoad 291

20.2.2 endUnload 293

20.2.3 endSend 293

20.2.4 endMCastAddrAdd、endMCastAddrGet和endMCastAddrDel 293

20.2.5 endPollSend、endPollReceive 294

20.2.6 endStart 295

20.2.7 endStop 295

20.2.8 endAddressForm 295

20.2.9 endAddrGet 296

20.2.10 endPacketDataGet 296

20.2.11 endIoctl 297

20.3中断模式下接收数据 298

20.4网络设备驱动程序的安装 299

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

21.1 USB工作过程 301

21.2 USB外设端协议栈 302

21.2.1 USB外设端协议栈结构 302

21.2.2 USB外设端协议栈实现 303

21.2.3 USB外设端协议驱动程序 307

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

21.2.5再看“回调函数” 321

21.3 USB主机端协议栈 322

21.3.1 USB主机端协议栈结构 322

21.3.2 USB主机端协议栈实现 324

21.3.3 USB主机端驱动程序 327

第22章 USB设备——USB 2.0支持 334

22.1设备端协议栈 334

22.2主机端协议栈 341

22.2.1 USBD与驱动程序 342

22.2.2与已有程序的兼容 345

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

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

23.1引导过程 349

23.2 BSP的流程 350

23.2.1 BSP的作用和结构 350

23.2.2 BSP初始化硬件 354

23.3 BSP移植 355

23.3.1实现BSP所需要的工作 355

23.3.2 BSP中的系统接口 355

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

24.1配置工具与BSP的关系 358

24.1.1 CDF文件分析 358

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

24.2自制BSP配置 367

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

24.2.2创建组件的一般步骤 371

附录 新的VxWorks 373

FL.1新开发环境 373

FL.1.1新的界面 373

FL.1.2新的开发工具 374

FL.1.3开发环境的扩展 375

FL.1.4与Tornado的对比 376

FL.2新特性 377

FL.2.1实时进程RTP 377

FL.2.2错误检测与报告 378