驱动程序整体框架

xhuacmer 2012-05-14 08:31:16
最近小弟爱上了驱动程序,就自己啃了一段时间,有一个问题希望得到各位的解答,问题如下:

我阅读了一下一本驱动(windows驱动)开发书籍,知道了在内核模式下开发驱动程序的一般流程和思想。
但是,几乎很多实例都是操作一个虚拟设备,不是一个真正的设备,没有涉及与具体设备通信命令
交互的过程。下面是我画的一个简单的应用程序操作设备的经过的组件。



其中设备驱动到硬件(1)是怎么一个过程?在这一个步骤必须具备硬件知识吗?
提前感谢各位的回复!
...全文
202 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyttiao 2012-08-06
  • 打赏
  • 举报
回复
其实我觉得你可以先从裸机跑跑.大致了解一些硬件接口的操作,然后再转向带操作系统的驱动开发.这样,我觉得你可能不会觉得特别迷茫了..其实操作外围的一些接口.本着就是操作相对应的寄存器,你可以想着是指定的变量吧..比如ARM上面操作GPA这个gpio管脚.就有GPACON GPADAT GPAUP这些寄存器,写入相应的数值,那么外围的gpio上就有不同的电平了...希望能帮到你...谢谢
coldsnow3 2012-07-10
  • 打赏
  • 举报
回复
不上图片
xhuacmer 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
驱动与硬件之间有一层BSP,是用来操作设备的寄存器,从而达到操作设备的目的。比如驱动中的read函数,你只知道它会去操作设备,其实还有很多的时序问题都是在BSP中实现的。有人也把BSP归纳为驱动的一部分,不过独立出来看好理解点吧。
[/Quote]
不上图片
xhuacmer 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
驱动与硬件之间有一层BSP,是用来操作设备的寄存器,从而达到操作设备的目的。比如驱动中的read函数,你只知道它会去操作设备,其实还有很多的时序问题都是在BSP中实现的。有人也把BSP归纳为驱动的一部分,不过独立出来看好理解点吧。
[/Quote]

谢谢你的回复,你的答案正是我想要的。你能否给介绍一个操作硬件的例子或书籍?稍候我会结贴哈
xuyinglin 2012-05-15
  • 打赏
  • 举报
回复
驱动与硬件之间有一层BSP,是用来操作设备的寄存器,从而达到操作设备的目的。比如驱动中的read函数,你只知道它会去操作设备,其实还有很多的时序问题都是在BSP中实现的。有人也把BSP归纳为驱动的一部分,不过独立出来看好理解点吧。
xhuacmer 2012-05-15
  • 打赏
  • 举报
回复
奇怪,之前图片一直都是有的,谢谢你的回复! 我等会再把图片补上。
由于我没有硬件知识背景,所以我的问题就是想知道驱动和硬件通信这个点上的知识。
bjtea 2012-05-14
  • 打赏
  • 举报
回复
无图。
操作虚拟设备,不涉及到具体的特殊硬件,从而可以将注意力集中到驱动本身上来。
理解驱动,并不一定需要具体的通信命令或交互。例如,访问一块物理内存或一个物理地址,并无什么交互。
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序、Binder进程间通信驱动程序以及Ashmem匿名共享内存驱动程序;Android应用程序框架篇从组件、进程、消息以及安装四个维度对Android应用程序的框架进行了深入的剖析。 通过上述内容及其组织,本书能使读者既能从整体上把握Android系统的层次结构,又能从细节上掌握每一个层次的要点。 在内容上,本书结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)。, 在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序、Bind er进程间通信驱动程序以及Ashmem匿名共享内存驱动程序;Android应用程序框架篇从组件、进程、消息以及安装四个维度来对Android应用程序的框架进行了深入的剖析。, 通过上述内容及其组织,本书能使读者既能从整体上把握Android系统的层次结构,又能从细节上去掌握每一个层次的要点
在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序、Binder进程间通信驱动程序以及Ashmem匿名共享内存驱动程序;Android应用程序框架篇从组件、进程、消息以及安装四个维度对Android应用程序的框架进行了深入的剖析。 通过上述内容及其组织,本书能使读者既能从整体上把握Android系统的层次结构,又能从细节上掌握每一个层次的要点。 在内容上,本书结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)。, 在组织上,本书将上述内容划分为初识Android系统、Android专用驱动系统和Android应用程序框架三大篇章。初识Android系统篇介绍了参考书籍、基础知识以及实验环境搭建;Android专用驱动系统篇介绍了Logger日志驱动程序、Bind er进程间通信驱动程序以及Ashmem匿名共享内存驱动程序;Android应用程序框架篇从组件、进程、消息以及安装四个维度来对Android应用程序的框架进行了深入的剖析。, 通过上述内容及其组织,本书能使读者既能从整体上把握Android系统的层次结构,又能从细节上去掌握每一个层次的要点。

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧