请教:linux驱动如何与硬件打交道的?

自学了这久的linux驱动程序了,也看了很多设备驱动程序,比如USB、tty、lcd、块设备等都了解一点,
但是只看到设备不停的注册与卸载,对设备的操作与初始化 ,就是没看见哪个函数能实在在的操作某个硬件的寄存器,我是搞单片机的,所以我就一直很疑惑这点?
难道内核中已经把这些操作硬件的函数给封装起来再给驱动调用?如果是这样的话,那么怎么才能从内核中正确找到自己所需要的操作硬件的函数呢?比如说GPIO的操作!!
望大家一起讨论讨论

归根到底,各种硬件和软件之间的通信、驱动等都是需要通过汇编语言和 C 语言编程来实现的。驱动程序更是如此。所以说,如果你想搞底层驱动开发的话,更需要你精通掌握:汇编语言编程、计算机硬件体系结构、计算机指令系统等知识!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-28
在linux内核里面都有...不知道你学的linux驱动是对什么的?比如说如果你对某一种类型的平台,如OMAP,你可以搜索/driver/xxx/omap/,里面的.c文件中就是各个模块。xxx包含有video、usb等等。
相似回答