VxWorks设备驱动开发详解

VxWorks驱动程序开发指南(四)--驱动程序的组织结构 驱动程序的组织结构 驱动程序最重要的部分就是驱动程序源代码文件,源文件描述了设备如何和VxBus、VxWorks OS交互。但是,VxWorks 设备驱动程序还需要另外一些文件,这些附加文件能够帮助你将自己编写的驱动集成到VxWorks编译环境中去,这也是发布驱动程序最重要的一步。本节主要讨论如何在源码树中找到相关的驱动程序文件和其他附加文件。最后还说明驱动程序的各个部分是如何安装在VxWork 阅读详情

华清远见系列图书
VxWorks设备驱动开发详解
曹桂平 等编著 
ISBN 978-7-121-12828-8
2011年3月出版
定价:49.00元
16开
420 页
内 容 提 要
Shell是用户与内核进行交互操作的一种接口,是Linux最重要的软件之一。目前最流行的Shell称为bash Shell,bash Shell脚本编程以其简洁、高效而著称,多年来成为Linux程序本书结合作者实际的开发经验,对VxWorks操作系统内部的机制及其各类设备驱动的开发进行了深入的讲解和分析。全书分3篇共11章,第1篇对VxWorks操作系统的主要组件如任务、任务调度、任务间通信、内存管理、中断处理进行了较为细致的分析;其后对很多VxWorks开发者不甚了解的VxWorks内核映像类型以及启动方式和流程进行了详细的说明和解析。第2篇是驱动开发的准备阶段,着重介绍了VxWorks系统下设备驱动的内核层次结构。第3篇作为本书的重点,每章对应一类驱动,结合开发实例,详细而完整地分析了VxWorks下普通字符设备驱动、串口驱动、普通块设备驱动、Flash设备驱动、网络设备驱动以及USB设备驱动的设计和实现。
本书面向广大工程技术工作者,既可作为高等院校教师和相关专业学生的教材,又可作为各类培训班的培训教程。
前    言
VxWorks是较为常用的嵌入式硬实时操作系统,在很多领域都有其应用的身影,然而由于VxWorks操作系统源代码不公开,虽然文档中对各种驱动设计都有说明,但在实际应用中还是会遇到很多问题。本书根据作者工作中的一些驱动经验,结合Wind River提供的一些官方文档和开发环境下的源代码写成,对VxWorks下各种常见设备的驱动都做了比较详细的介绍和分析,可以作为VxWorks下设备驱动设计的指南。另外,对于各种类型的VxWorks启动方式以及映像文件组成进行了较为细致的分析,将澄清VxWorks BSP开发者具有的很多疑问。本书既可作为VxWorks初学者的学习材料,也可作为VxWorks老手的参考资料。
本书内容
本书分为3篇共11章。
第1篇为VxWorks操作系统快速入门篇,共包括3章内容。
第1章简单介绍了嵌入式系统,并对VxWorks操作系统的特性进行了简单说明。
第2章对VxWorks操作系统的主要组成进行了比较详细的介绍,包括任务、任务调度、任务间通信、内存管理、中断处理。书中内容不是翻译官方的文档,而是结合作者的经验有感而发。
第3章对VxWorks内核映像类型以及启动方式进行了详细分析,并对下载方式中使用的bootrom进行了较为深入的分析和介绍,此后对VxWorks操作系统的启动过程进行了梳理。本章将澄清读者对VxWorks启动方面的很多疑问。
第2篇为VxWorks设备驱动起步篇,共包括2章内容。
第4章讨论了驱动程序的基本功能和结构,对驱动程序中常用的一些策略以及注意事项进行了介绍。
第5章介绍了VxWorks设备驱动的内核结构层次,着重对I/O子系统及其维护的三张系统表进行了讨论,并对VxWorks下已有的几个较为常用的驱动以代码示例的方式介绍其使用方法。
第3篇为本书的重点,对VxWorks下六大核心设备驱动进行了详细的分析和介绍,六类驱动中每类驱动对应一章内容,故本篇共包括6章内容。
第6章开始进入具体设备驱动的设计,本章将从结构层次最简单的普通字符设备驱动开始讲起,以一个SPI接口驱动代码为例,着重讨论了普通字符设备驱动的结构、设计方式和具体实现。
第7章对串口驱动设计和实现进行了详细的分析。串口也是字符设备的一种,由于其常用性,VxWorks内核专门提供了TTY中间层来提高串口驱动设计的效率,降低串口驱动设计的复杂度。
第8章进入第二大类设备——块设备驱动的设计和实现的分析。我们将从数据结构的知识出发,分析块设备驱动的基本结构,进而讨论其具体实现。VxWorks下块设备驱动工作的方式比较特殊,其使用的阻塞读写方式不同于通用操作系统下的中断读写方式,这与VxWorks特殊的工作环境有关。
第9章将对Flash设备驱动进行详细介绍。Flash设备是嵌入式平台上最常见和常用的设备,用以存储操作系统内核映像和用户数据。本章将以VxWorks内核提供的TrueFFS中间层进行展开,分析Flash设备驱动涉及的各个方面。
第10章进入第三大类设备——网络设备驱动的设计和实现中。网络设备由于其独特的工作方式,其内核驱动层次不同于其他两类设备(字符设备、块设备),其不属于I/O子系统管理,而是直接工作在内核网络栈的实现下。为了简化网络设备驱动设计的复杂度,VxWorks提供了MUX中间层,在该层次下实现的驱动通常被称为增强型网络驱动。本章同样也是从数据结构的知识出发,以实际项目中使用的网口驱动代码为例,逐步完成对网络设备驱动的设计和实现。
第11章分析了USB设备驱动的设计和实现。首先对USB本身进行了详细的介绍,之后对要驱动的对象进行了澄清。一般而言,USB设备驱动指的是对USB主机或者目标机控制器的驱动,这个驱动由于与内核USB栈耦合较紧密,故必须对内核USB栈的实现有很清楚的了解才能成功地完成USB主机控制器的驱动开发。本章首先跟随一个USB类驱动层读数据请求,对请求在内核USB栈中的传递路径进行了跟踪,对路径上调用的关键函数以及使用的数据结构进行了较为详细的分析和介绍,之后以Mass Storage类驱动为例,介绍类驱动的初始化过程,并以UHCI控制器驱动为例,介绍主机控制器驱动的初始化过程,最后总结出了USB主机控制器的驱动结构,给出了驱动中两个中心函数的实现框架。
致谢
我要感谢我尊敬的慈祥的奶奶,您的勤劳善良将影响我的一生,是您教导我“自成人,方成人”,告诫我要严于律己。同时,我要感谢我的父母,你们鬓角的丝丝白发,早已印入我的心中,成为我奋斗不止的动力。
鉴于作者能力有限,不可能对VxWorks下各类驱动中的每一个问题都理解到位,如果发现理解或者分析有误之处,恳请广大读者批评、指正,读者也可通过邮件ingdxdy@gmail.com与作者联系。
曹桂平
目    录
第1篇  VxWo

VXWORKS 7.0 基于设备树驱动程序编写方法 VXBUS 设备树 阅读详情

相关推荐

嵌入式驱动开发-VxWorks设备驱动开发详解-12773555

嵌入式驱动开发--VxWorks设备驱动开发详解

若依Vue整合积木报表实战:Token安全校验全流程解析

本文详细解析了在若依Vue后台系统中安全集成积木报表的全流程,重点阐述了Token安全校验的核心机制。通过前端菜单配置、Token传递、后端权限拦截及自定义Token服务实现,构建了一套完整的企业级报表访问安全防线,确保核心业务数据的安全可控。

t8u9v0的博客 577

ARM SMMUv3设备树配置实战:从零开始为RK3588搭建IOMMU环境

本文详细介绍了在RK3588平台上配置ARM SMMUv3设备树的实战经验。从理解硬件架构、设备树节点定义,到内核驱动集成与调试,提供了完整的IOMMU环境搭建指南,并分享了解决StreamID冲突、中断配置等常见问题的技巧,帮助开发者高效完成控制器初始化。

l3m4n的博客 883

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

群晖Lucky套件高级玩法-——更新证书同步更新群晖自带证书

wojuzi的博客 2454

自适应滤波算法综述

自适应滤波算法综述

xdzhujy的博客 5万+

AI Agent开发大全第一课-AI是什么以及如何使用AI

近年来,人工智能的迅猛发展引发了广泛的关注,尤其是“大模型”这一概念越来越深入人心。大模型,顾名思义,通常指的是那些拥有大量参数、能够处理复杂任务的机器学习模型。与传统小模型相比,大模型在数据处理、信息理解和生成等方面表现更加出色。为了理解为什么现在的AI被称为大模型,我们需要深入探讨几个关键因素。立角色是指在提示词中清晰地界定交互双方的身份。明确用户希望模型扮演的角色,可以帮助模型更准确地理解上下文和用户需求。

打造全国最全的AI Agent开发知识领域的博客 1406

SAP ABAP Append structure 介绍

所有在 append structure 上增强的字段都是 append structure 的一部分,这意味着对这些增强所做的任何更改仅仅施加在 append structure 上,而不会影响被增强的 ABAP DDIC 结构。这同样适用于 transport. 激活数据库表或结构时,会找到所有关联的 append structure,并将它们的组件附加到数据库表或结构。Append structure(附加结构)是 ABAP 字典中附加到另一个结构或数据库表并将其组件附加到它们的结构。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1165

效果炸裂_安装midscene_copw基于midscene操作电脑_基于视觉的软件测试执行_MIDSCENE的安装和使用---AI大模型应用探索0012

摘要:本文介绍了如何通过安装MidSceneJS来增强Copaw的屏幕操作能力。首先需要安装Node.js和npm,并配置淘宝镜像源加速安装。然后全局安装MidScene CLI工具(npm install @midscene/cli -g)。接着配置视觉大模型服务,通过设置环境变量指定模型API密钥、名称、基础URL和家族类型(如qwen3.5-27b),配置文件需存放在C:\Users\Administrator.copaw目录。安装成功后,MidScene已能成功识别并操作屏幕,使用效果良好。文中还提

添柴程序猿的专栏 639

【DeepSeek R1构建本地RAG知识库】数据结构化清洗-知识图谱制作、使用、dify集成

本文探讨了在构建本地RAG(Retrieval-Augmented Generation)系统时,如何通过引入知识图谱来增强系统的知识理解能力。传统的向量数据库和嵌入模型虽然能处理语义匹配,但无法有效捕捉知识间的关联性。知识图谱通过“实体-关系-属性”的结构化表示,能够更好地支持推理、推荐和多跳问答等高级功能。文章详细介绍了知识图谱的基本概念、制作思路,以及如何使用Neo4j图数据库进行知识图谱的构建和查询。通过实例展示了从PDF文件解析到知识图谱入库的全过程,强调了知识图谱在提升RAG系统性能中的重要作用

少说,多做 564

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: Linux指令从初学到精通
下一篇: 网上商城后台架构设计
Broadview
博客等级 码龄22年 15粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值