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

图书作者:华清远见 丛书名称: 嵌入式开发系列 出版日期: 2009年10月 PDF电子版免费下载

编辑推荐理由

推荐评分:5.0分

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇总

数十所嵌入式专业大学院校教学现状调研

侧重实践及案例分析并辅以代码加以讲解

图书简介

在嵌入式行业飞速发展的今天,嵌入式操作系统的应用越来越广泛,vxworks具有良好的实时性,被大量应用于航空、通信、国防、工业控制、网络设备、医疗设备、消费电子等嵌入式实时应用领域。
  • 本书共24章,按照初学者学习的一般步骤,详细介绍了vxworks的开发环境、内核分析和应用程序开发、驱动程序开发与原理和板级支持包流程与移植,每章均配以实例进行讲解。
  • 本书语言通俗、实例丰富、代码分析详尽,有较强的实用性和参考价值,适合大专院校嵌入式相关专业学生学习参考,也可供嵌入式开发人员和系统设计人员参考使用。

图书目录

  • 第1部分 vxworks的开发环境
  • ※第1章 使用tornado

  • 1.1 概述 
  • 1.2 tornado的安装目录 
  • 1.3 创建一个工程 
  • 1.3.1 可加载工程和可引导工程
  • 1.3.2 实例:创建可加载工程 
  • 1.3.3 实例:创建可引导工程 
  • 1.4 更加有效率地工作 
  • 1.4.1 开发环境基本设置 
  • 1.4.2 实例:设置一个更熟悉的编辑器 
  • 1.4.3 使用tcl语言定义工具 
  • ※第2章 编译工程——builder 

  • 2.1 编译工程及boot rom 
  • 2.1.1 编译工程 
  • 2.1.2 编译boot rom 
  • 2.1.3 实例:制作软盘引导盘 
  • 2.1.4 深入1:批处理文件mkboot 
  • 2.1.5 深入2:制作u盘引导盘 
  • 2.1.6 深入3:制作硬盘引导盘 
  • 2.1.7 深入4:制作一个引导rom 
  • 2.2 深入编译环境 
  • 2.2.1 创建的过程 
  • 2.2.2 抛弃ide 
  • 2.2.3 使用diab 
  • 2.3 了解makefile 
  • 2.3.1 makefile的作用 
  • 2.3.2 makefile格式 
  • 2.3.3 解决makefile所导致的错误 
  • ※第3章 加载——ftp server 

  • 3.1 ftp server的设置
  • 3.1.1 用户和权限 
  • 3.1.2 其他设置 
  • 3.1.3 实例:下载一个工程
  • 3.2 从信息看状态 
  • 3.2.1 正常下载过程 
  • 3.2.2 下载失败的原因 
  • 3.3 从其他设备加载操作系统 
  • ※第4章 管理工程——work space 

  • 4.1 管理文件 
  • 4.1.1 文件的位置 
  • 4.1.2 文件依赖关系 
  • 4.2 管理组件 
  • 4.2.1 vxworks的各种组件 
  • 4.2.2 查找组件并修改属性 
  • 4.2.3 裁剪组件 
  • 4.3 编译选项 
  • 4.3.1 编译规则 
  • 4.3.2 宏定义 
  • 4.3.3 其他选项 
  • ※第5章 连接目标机——target server 

  • 5.1 配置target server 
  • 5.1.1 基本配置内容 
  • 5.1.2 重要配置属性 
  • 5.2 实例:通过网络连接目标机 
  • 5.3 实例:配置串口连接主机 
  • 5.4 连接错误的解决办法 
  • 5.4.1 目标文件不正确 
  • 5.4.2 网络错误 
  • 5.4.3 目标机无响应 
  • 5.4.4 target server缓冲池不足 
  • 5.4.5 网络速度慢
  • ※第6章 交叉调试——debugger 

  • 6.1 基本调试过程 
  • 6.1.1 运行debugger 
  • 6.1.2 发起任务 
  • 6.1.3 连接任务 
  • 6.2 断点 
  • 6.2.1 设置断点 
  • 6.2.2 管理断点 
  • 6.3 独特的查看功能 
  • 6.3.1 源代码与汇编混合查看 
  • 6.3.2 调试命令行 
  • 6.3.3 其他功能 
  • 6.4 系统级调试设置 
  • ※第7章 浏览目标机资源——browser

  • 7.1 browser所提供的信息 
  • 7.1.1 browser的设置
  • 7.1.2 目标机信息 
  • 7.2 实例:透过现象看调试 
  • 7.2.1 查看内存泄露 
  • 7.2.2 分配任务优先级 
  • 7.2.3 确定任务堆栈 
  • 7.2.4 查看中断挂接情况 
  • 7.2.5 查看任务状况
  • ※第8章 与目标机的交互——shell及其他 

  • 8.1 shell 
  • 8.1.1 shell的常用特性
  • 8.1.2 shell的快捷操作
  • 8.1.3 shell的常用命令
  • 8.1.4 shell的环境变量 
  • 8.1.5 执行脚本 
  • 8.2 windview
  • 8.2.1 设置windview 
  • 8.2.2 分析任务时序图
  • 8.3 triggering 
  • 8.3.1 triggering设置 
  • 8.3.2 triggering的使用
  • ※第9章 软件硬件同时开发——vxsim 

  • 9.1 集成的vxsim 
  • 9.1.1 vxsim适用范围
  • 9.1.2 vxsim的配置 
  • 9.1.3 vxsim的中断系统 
  • 9.2 功能更强的full vxsim 
  • 9.2.1 full vxsim所需的网络配置 
  • 9.2.2 创建支持网络连接的full vxsim映像 
  • 9.2.3 启动full vxsim 
  • 9.2.4 运行多个full vxsim 
  • 9.3 实例:在vxsim上运行程序 
  • 第2部分 内核分析和应用程序开发
  • ※第10章 管理任务——任务的状态 

  • 10.1 任务概况 
  • 10.1.1 任务状态 
  • 10.1.2 任务调度 
  • 10.1.3 任务优先级 
  • 10.2 实例:生成、管理任务 
  • 10.2.1 任务控制api 
  • 10.2.2 销毁任务 
  • 10.2.3 控制任务状态的切换 
  • 10.3 深入:任务切换的深层原因 
  • 10.3.1 时钟中断和时间片调度 
  • 10.3.2 优先级抢占调度机制 
  • 10.3.3 任务控制块 
  • ※第11章 任务间的交互——同步与通信 

  • 11.1 任务之间的交流
  • 11.1.1 共享内存 
  • 11.1.2 互斥 
  • 11.1.3 信号量 
  • 11.1.4 消息队列和管道 
  • 11.1.5 使用网络的任务间通信
  • 11.1.6 信号 
  • 11.2 实例:任务间交流 
  • 11.2.1 通过信号量实现互斥 
  • 11.2.2 信号量实现同步 
  • 11.2.3 管道与消息队列 
  • 11.3 其他通信手段 
  • ※第12章 控制时间——系统计时

  • 12.1 系统时间
  • 12.1.1 系统时间的来源 
  • 12.1.2 与现实时间相联系 
  • 12.2 系统计时控制 
  • 12.3 看门狗计时器 
  • 12.3.1 实例1:看门狗计时 
  • 12.3.2 实例2:看门狗定时 
  • 12.3.3 实例3:看门狗延时 
  • 12.4 其他的计时方法 
  • 12.4.1 使用cpu时间戳计时 
  • 12.4.2 实例:计算cpu频率 
  • ※第13章 存储信息——访问文件系统 

  • 13.1 vxworks中的文件系统
  • 13.1.1 操作文件的办法 
  • 13.1.2 实例:文件操作 
  • 13.1.3 打开文件的过程 
  • 13.1.4 读取文件的过程 
  • 13.1.5 文件系统的作用 
  • 13.1.6 文件系统的特殊功能 
  • 13.1.7 文件系统的安装流程 
  • 13.2 文件系统分析 
  • 13.2.1 dosfs 
  • 13.2.2 rawfs 
  • 13.2.3 cdromfs 
  • 13.2.4 tapefs 
  • 13.3 深入:如何提高访问效率 
  • 13.4 实例:支持多硬盘分区 
  • ※第14章 与外界的交互——控制硬件 

  • 14.1 驱动程序管理 
  • 14.1.1 文件、设备、驱动程序 
  • 14.1.2 驱动管理3张表 
  • 14.1.3 驱动及设备的管理 
  • 14.2 访问硬件的手段 
  • 14.2.1 创建设备 
  • 14.2.2 操作设备 
  • 14.3 操作硬件 
  • 14.3.1 实例:测试用程序 
  • 14.3.2 多设备异步通信——select 
  • 14.4 vxworks中的隐含设备
  • ※第15章 联通的世界——访问网络

  • 15.1 vxworks中的网络组件 
  • 15.1.1 层次结构 
  • 15.1.2 基本组件 
  • 15.1.3 配置网络 
  • 15.1.4 操作路由表 
  • 15.1.5 zbuf 
  • 15.1.6 使用标准i/o访问函数 
  • 15.2 实例:网络编程
  • 15.2.1 建立tcp连接 
  • 15.2.2 建立udp连接 
  • 15.2.3 使用zbuf访问tcp 
  • 15.2.4 创建及使用ftp 
  • ※第16章 vxworks程序设计 

  • 16.1 资源 
  • 16.1.1 资源的有效利用 
  • 16.1.2 资源的保护 
  • 16.2 优先级安排 
  • 16.3 保证时间特性 
  • 第3部分 驱动开发与原理
  • ※第17章 硬件资源——操作硬件 

  • 17.1 硬件访问 
  • 17.1.1 内存访问 
  • 17.1.2 通用的内存映射程序 
  • 17.1.3 i/o端口访问 
  • 17.2 中断 
  • 17.2.1 轮询方式 
  • 17.2.2 中断 
  • 17.2.3 中断号与中断向量 
  • 17.2.4 中断复用 
  • 17.2.5 中断处理中的问题 
  • 17.3 访问特定硬件的api 
  • 17.3.1 访问pci 
  • 17.3.2 中断相关的api 
  • ※第18章 大道至简——字符设备 

  • 18.1 字符设备驱动程序 
  • 18.1.1 字符设备驱动程序的数据结构
  • 18.1.2 字符设备驱动程序的接口
  • 18.1.3 中断处理 
  • 18.1.4 安装驱动程序和创建设备 
  • 18.1.5 支持select功能 
  • 18.2 实战字符设备开发 
  • 18.2.1 板卡介绍 
  • 18.2.2 程序实现 
  • ※第19章 永久的记忆——块设备

  • 19.1 块设备驱动程序的结构 
  • 19.2 块设备驱动程序的接口 
  • 19.3 安装块设备驱动程序 
  • ※第20章 联通的基础——网络设备 

  • 20.1 网络设备的数据结构 
  • 20.2 网络设备接口层 
  • 20.2.1 endload 
  • 20.2.2 endunload 
  • 20.2.3 endsend 
  • 20.2.4 endmcastaddradd、endmcastaddrget和endmcastaddrdel 
  • 20.2.5 endpollsend、endpollreceive 
  • 20.2.6 endstart 
  • 20.2.7 endstop 
  • 20.2.8 endaddressform 
  • 20.2.9 endaddrget 
  • 20.2.10 endpacketdataget 
  • 20.2.11 endioctl 
  • 20.3 中断模式下接收数据 
  • 20.4 网络设备驱动程序的安装 
  • ※第21章 usb设备——usb 1.1支持 

  • 21.1 usb工作过程 
  • 21.2 usb外设端协议栈 
  • 21.2.1 usb外设端协议栈结构 
  • 21.2.2 usb外设端协议栈实现 
  • 21.2.3 usb外设端协议驱动程序 
  • 21.2.4 usb外设端控制器驱动程序 
  • 21.2.5 再看“回调函数” 
  • 21.3 usb主机端协议栈 
  • 21.3.1 usb主机端协议栈结构 
  • 21.3.2 usb主机端协议栈实现 
  • 21.3.3 usb主机端驱动程序 
  • ※第22章 usb设备——usb 2.0支持 

  • 22.1 设备端协议栈 
  • 22.2 主机端协议栈 
  • 22.2.1 usbd与驱动程序 
  • 22.2.2 与已有程序的兼容
  • 第4部分 板级支持包流程与移植
  • ※第23章 多样化的主板——板级支持包bsp 

  • 23.1 引导过程 
  • 23.2 bsp的流程 
  • 23.2.1 bsp的作用和结构 
  • 23.2.2 bsp初始化硬件 
  • 23.3 bsp移植 
  • 23.3.1 实现bsp所需要的工作 
  • 23.3.2 bsp中的系统接口 
  • ※第24章 珠联璧合——bsp与开发环境的结合

  • 24.1 配置工具与bsp的关系 
  • 24.1.1 cdf文件分析 
  • 24.1.2 tornado下通过cdf文件对vxworks进行配置的过程 
  • 24.2 自制bsp配置 
  • 24.2.1 实例:增加自定义文件夹结构
  • 24.2.2 创建组件的一般步骤 
  • 附录 新的vxworks 
  • fl.1 新开发环境 
  • fl.1.1 新的界面 
  • fl.1.2 新的开发工具 
  • fl.1.3 开发环境的扩展 
  • fl.1.4 与tornado的对比 
  • fl.2 新特性 
  • fl.2.1 实时进程rtp 
  • fl.2.2 错误检测与报告