求大神赐教,什么叫底层驱动软件编程?

dadier2012 2012-08-12 04:55:17
如题,谢谢知情者详述
...全文
888 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ies_sweet 2012-08-14
  • 打赏
  • 举报
回复
底层指的是和硬件接近吧
或者说软硬件结合部位
这些是位于操作系统以下的
一般来说,嵌入式上是这样的
操作系统给出驱动的接口
然后我们自己根据需要和硬件平台的设计实现驱动程序
这样,我们再从操作系统之上来设计应用程序
BYD123 2012-08-13
  • 打赏
  • 举报
回复
1) 一般驱动程序是会和具体的硬件通信的,比如audo codec,usb设备等;但还有一些驱动是不需要硬件的,比如文件系统。对有硬件的驱动,主要是通过各种总线(I2C, usb)与硬件或者firmware通信对其进行设置或者读取数据;
2) 之所以叫做底层是因为一般操作系统都会有特权模式与用户模式,特权模式主要是了为执行一些基础性的系统工作,比如进程调试,文件系统读写……
3) 操作系统从用户的角度来看层次一般是: 用户模式,特权模式,驱动层。驱动层位于特权模式下一层,用特权模式实现的API进行编程,其实是完成各种对硬件的回调函数。所以底层驱动除了涉及到硬件之外,用的API不一样外(用户空间用的是标准C或者OS提供的系统调用),基本和用户空间程序(一般我们所见到的程序)是一样的。
酱油党 2012-08-13
  • 打赏
  • 举报
回复
学习一下驱动分层,了解每层都是干什么,
那部分对硬件有依赖,那部分没有,
楼主可以搜索USB驱动,简单了解下
AnYidan 2012-08-13
  • 打赏
  • 举报
回复
google
linuxblack125125 2012-08-12
  • 打赏
  • 举报
回复
linux下一下学习驱动编程的好书:《linux设备驱动开发详解》
linuxblack125125 2012-08-12
  • 打赏
  • 举报
回复
驱动就是介于物理层和用户层的一个中间层软件,它为上层用户提供一些函数接口,屏蔽很多物理细节,用户可以调用这些函数接口很轻松的操作物理模块,linux下的驱动分为字符设备驱动,块设备驱动和网络设备驱动。驱动的学习需要很强的功底,如果感兴趣,就好好加油吧!!
project2502 2012-08-12
  • 打赏
  • 举报
回复
windows平台可以看
<<windows驱动开发技术详解>>
WDK文档、
<<windowsNT文件系统内幕>>
和<<windows内核原理与实现>>

69,378

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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