基于VxWorks的嵌入式实时系统设计

基于VxWorks的嵌入式实时系统设计"

作者:王金刚
ISBN:9787302088479
定价:¥29
字数:千字
页数:
出版时间:2004.11.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书是一本介绍嵌入式系统原理和应用的教材,从介绍嵌入式概况入手,以VxWorks实时操作系统为例,讲述了VxWorks的原理及其运行机制、Tornado开发工具的使用、嵌入式实时系统BSP结构、嵌入式实时系统网络编程以及以SC4510B ARM为硬件的开发系统。

本书用作通信工程、电子信息等专业的研究生学习嵌入式系统的教材,同时可以作为电子信息学科和航空控制类本科生高年级的教材,也可作为从事嵌入式开发的工程人员的参考书。

前言

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种可以运行在目标机上的高性能、可裁剪的嵌入式实时操作系统(RTOS)。它由于具有开放式的结构、支持广泛的工业标准、持续发展的能力、高性能的内核、友好的开发环境、卓越的可靠性和实时性,被广泛应用于通信、军事、航空、航天等实时性要求极高的领域中,在嵌入式实时操作系统领域占据了一席之地。

VxWorks系统是专为嵌入式实时应用而设计的模块化的实时操作系统,为用户提供了大量的系统调用,作为VxWorks系统的主要组成部分的板级支持包 BSP(Board Support Package),对各种板子的硬件功能提供了统一的软件接口。对于用户来说,一个实时应用软件是由板级支持包BSP、操作系统内核及用户选用组件、中断服务程序ISR组成,所以开发者可以根据需要进行系统模块的定制,只需做最少的工作即可设计出有效的适合于不同用户的产品,因而VxWorks系统越来越受到消费电子行业广大开发人员的青睐。

考虑到VxWorks操作系统是嵌入式开发环境的关键部分,以及Tornado是嵌入式实时领域里最新一代的开发调试环境,本教材是基于最新版本的VxWorks5.5和Tornado2.2开发环境进行编写的。本书第1章对嵌入式系统进行了简要的概述,随后的几章详细地讨论了VxWorks系统、Tornado开发环境、BSP的编写、网络编程以及在S3C4510微控制器开发平台上进行开发等几个部分。其中第2章简要介绍嵌入式VxWorks实时操作系统,包括系统的内核、任务的管理和通信、同步和互斥的机制、中断和定时机制以及文件系统等内容;第3章阐述了Tornado的集成开发环境,介绍了面向嵌入式系统的开发和调测工具;第4章讲述了如何创建BSP和组件,以及BSP驱动程序的编写;第5章讨论了网络编程的知识,包括VxWorks网络协议栈和网络服务等内容;最后,介绍了S3C4510微控制器的结构和开发平台,并详细讲解了如何移植VxWorks操作系统。总之,本书理论联系实际,既强调对嵌入式操作系统基本理论知识的理解,又非常注重实际的应用。所以本书不仅适合于初学者学习使用,而且对于进行VxWorks操作系统移植和网络编程的工作者也有非常大的帮助。

参加编写工作的还有毛战华、王达心、李蕊、孙效闻、秦承虎、王铮、毕晓东、左国       辉等。 

由于编写人员的水平有限,书中难免出现不足之处,欢迎广大读者提出批评和修改建议。

目录

目    录

第1章  绪论 1

1.1  嵌入式系统概述 1

1.2  嵌入式系统的发展历史 2

1.3  嵌入式系统的体系结构 3

1.3.1  嵌入式处理器 3

1.3.2  嵌入式外围设备 5

1.3.3  嵌入式应用软件 5

1.3.4  嵌入式操作系统 6

1.4  典型的嵌入式操作系统 7

1.5  嵌入式系统的应用领域 11

第2章  嵌入式实时操作系统VxWorks 12

2.1  简介 12

2.2  VxWorks任务及任务间通信 13

2.2.1  多任务机制 13

2.2.2  任务状态转变 14

2.2.3  Wind任务调度 15

2.2.4  任务控制 17

2.2.5  任务扩展函数 20

2.2.6  任务异常处理 20

2.2.7  共享代码和重入 21

2.2.8  共享数据结构 22

2.2.9  互斥 22

2.2.10  信号量 23

2.2.11  消息队列 27

2.2.12  管道 28

2.2.13  任务间网络通信 29

2.2.14  信号(signal) 30

2.3  VxWorks事件 31

2.3.1  pSOS事件 32

2.3.2  VxWorks事件 33

2.3.3  API比较 35

2.4  文件系统 36

2.4.1  文件、设备和驱动程序 36

2.4.2  基本I/O接口 37

2.4.3  缓冲型I/O设备:stdio 38

2.4.4  异步输入/输出操作 38

2.4.5  VxWorks操作系统中的设备 39

2.4.6  与MS-DOS兼容的文件系统:dosFs文件系统 41

2.4.7  使用SCSI设备从本地dosFs文件系统启动 43

2.4.8  原始文件系统:rawFs文件系统 43

2.4.9  磁带文件系统:tapeFs文件系统 44

2.4.10  CD-ROM文件系统:cdromFs 45

2.4.11  目标服务器文件系统:TSFS 46

2.5  中断处理与定时机制 46

2.5.1  看门狗定时机制 46

2.5.2  中断服务程序 48

2.5.3  POSIX时钟和计时器 51

2.5.4  POSIX内存上锁接口 52

2.5.5  POSIX与Wind的比较 53

2.6  目标机工具 54

2.6.1  基于目标机的shell 54

2.6.2  基于目标机的加载器 55

2.6.3  基于目标机的符号表 56

2.7  基于VxWorks的C++语言开发 59

2.7.1  VxWorks系统下使用C++ 语言 59

2.7.2  初始化和确定静态目标 60

2.7.3  使用GNU C++编程 61

2.7.4  使用Diab C++编程 65

2.7.5  使用C++库 66

2.7.6  运行事例演示 67

第3章  基于图形用户界面的集成开发环境Tornado及开发实例 69

3.1  Tornado简介 69

3.1.1  Tornado交叉开发环境 70

3.1.2  VxWorks目标机环境 71

3.1.3  Tornado主机集成开发环境 71

3.1.4  主机与目标机的接口 73

3.2  Tornado的安装和启动 74

3.2.1  Tornado初步 74

3.2.2  建立主机环境 76

3.2.3  建立默认的目标机硬件环境 77

3.2.4  主机与目标机的通信配置 78

3.2.5  启动VxWorks 79

3.2.6  启动Tornado 82

3.2.7  启动目标服务器 84

3.2.8  显示目标机信息 85

3.3  Tornado环境下的工程开发 86

3.3.1  设计用户工程 86

3.3.2  创建可下载的应用程序 89

3.3.3  创建自定义的VxWorks映像 89

3.3.4  创建可启动的应用程序 90

3.3.5  配置目标机与主机间通信接口 91

3.3.6  配置和构建VxWorks启动程序 92

3.4  Tornado目标服务器 93

3.4.1  简介 94

3.4.2  配置和启动目标服务器 94

3.4.3  选择目标服务器 95

3.4.4  管理目标服务器 96

3.4.5  停止目标服务器 97

3.5  Tornado主机工具 97

3.5.1  shell 97

3.5.2  调试器 101

3.5.3  浏览器 103

3.6  仿真器VxSim 105

3.6.1  简介 105

3.6.2  集成仿真器 106

3.6.3  构建应用程序 107

3.6.4  配置VxSim全功能仿真器 107

第4章  板级支持包BSP基础 110

4.1  BSP简介 110

4.2  BSP组织结构 110

4.2.1  BSP源文件及包含文件 111

4.2.2  生成文件 121

4.2.3  必要函数 122

4.2.4  可选函数 123

4.3  VxWorks引导顺序 124

4.3.1  引导过程概述 124

4.3.2  相关文件及函数 124

4.4  创建一个BSP 127

4.4.1  建立开发环境 128

4.4.2  编写BSP文件 129

4.4.3  编译和下载VxWorks 132

4.4.4  调试初始化代码 133

4.4.5  启动WDB服务器 135

4.4.6  最小化内核 137

4.4.7  其他相关问题 138

4.5  组件 141

4.5.1  组件描述语言 142

4.5.2  创建组件 151

4.6  硬件设计指导 158

4.6.1  体系结构 158

4.6.2  内存 159

4.6.3  总线 160

4.6.4  设备 163

4.7  编写驱动程序 166

4.7.1  驱动程序规范及要求 166

4.7.2  驱动程序开发步骤 170

4.7.3  高速缓存相关问题 172

第5章  网络编程 176

5.1  引言 176

5.2  VxWorks网络协议栈 176

5.2.1  支持的协议和工具 176

5.2.2  设定与网络任务相关的任务优先级 178

5.3  数据链路层组件 179

5.3.1  以太网驱动支持 179

5.3.2  共享内存的底板网络驱动 180

5.3.3  用户接口 190

5.4  网络协议栈的配置 190

5.4.1  配置设置摘要 190

5.4.2  创建时配置网络协议栈 191

5.4.3  配置TCP/IP 201

5.4.4  网络配置协议 210

5.4.5  远程访问应用 216

5.5  VxWorks 套接字 222

5.5.1  BSD套接字 223

5.5.2  ZBUF套接字 236

第6章  S3C4510微控制器开发平台 250

6.1  S3C4510微控制器概述 250

6.1.1  S3C4510微控制器特点及总体结构 250

6.1.2  S3C4510微控制器内部结构 251

6.2  S3C4510B微控制器开发平台 259

6.2.1  开发板总体结构 260

6.2.2  开发板各模块的功能介绍 260

6.3  开发板软/硬件调试 262

6.3.1  JTAG调试接口 262

6.3.2  集成开发组件ADS 264

6.3.3  开发板调试举例 267

6.4  VxWorks操作系统移植 271

6.4.1  编写BSP软件 272

6.4.2  VxWorks操作系统的启动过程 277

6.4.3  串行设备驱动程序 280

6.4.4  网络设备驱动程序 285

结束语 295

参考文献 296

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个